; PlatformIO Project Configuration File ; ; Build options: build flags, source filter, extra scripting ; Upload options: custom port, speed and extra flags ; Library options: dependencies, extra library storages ; ; Please visit documentation for the other options and examples ; http://docs.platformio.org/en/stable/projectconf.html ; ; ********************************************************************* ; *** Selection of Tasmota build variant is done with VSC ; *** alternatively can be done in: platformio_override.ini ; *** See example: platformio_override_sample.ini ; ********************************************************************* [platformio] description = Provide ESP8266 / ESP32 based devices with Web, MQTT and OTA firmware src_dir = tasmota lib_dir = lib/default boards_dir = boards build_cache_dir = .cache extra_configs = platformio_tasmota32.ini platformio_tasmota_env.ini platformio_tasmota_env32.ini platformio_override.ini platformio_tasmota_cenv.ini [common] platform = ${core.platform} platform_packages = ${core.platform_packages} framework = arduino board = esp8266_1M board_build.filesystem = littlefs custom_unpack_dir = unpacked_littlefs build_unflags = ${core.build_unflags} build_flags = ${core.build_flags} monitor_speed = 115200 monitor_port = COM5 ; *** Upload Serial reset method for Wemos and NodeMCU upload_resetmethod = nodemcu upload_port = COM5 extra_scripts = ${esp_defaults.extra_scripts} lib_ldf_mode = chain lib_compat_mode = strict shared_libdeps_dir = lib lib_extra_dirs = lib/lib_basic lib/lib_i2c lib/lib_display lib/lib_ssl lib/lib_audio lib/lib_rf lib/lib_div [tasmota] ; *** Settings here do NOT affect firmware building *** ; Uncomment if you do NOT want gzipped map file(s) ;disable_map_gz = 1 ; Uncomment and specify a folder where to place the map file(s) (default set to folder build_output) ;map_dir = /tmp/map_files/ ; Uncomment if you do NOT want additionally gzipped firmware file(s) ;disable_bin_gz = 1 ; Uncomment and specify a folder where to place the firmware file(s) (default set to folder build_output) ;bin_dir = /tmp/bin_files/ [scripts_defaults] extra_scripts = pre:pio-tools/pre_source_dir.py pio-tools/strip-floats.py pio-tools/name-firmware.py pio-tools/gzip-firmware.py pio-tools/override_copy.py pio-tools/download_fs.py [esp_defaults] extra_scripts = ${scripts_defaults.extra_scripts} ; *** remove undesired all warnings build_unflags = -Wall ; -mtarget-align -Wdeprecated-declarations build_flags = -DCORE_DEBUG_LEVEL=0 -Wl,-Map,firmware.map -Wno-deprecated-declarations ; -mno-target-align -mtarget-align -free -fipa-pta -Wreturn-type -DTASMOTA ; flag indicating that we are compiling Tasmota ; ********************************************************************* ; *** Use custom settings from file user_config_override.h -DUSE_CONFIG_OVERRIDE ; ********************************************************************* [esp82xx_defaults] build_flags = ${esp_defaults.build_flags} -DNDEBUG -DFP_IN_IROM -DBEARSSL_SSL_BASIC ; NONOSDK22x_190703 = 2.2.2-dev(38a443e) -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH ; -DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH ; enables IPv6 ; VTABLES in Flash -DVTABLES_IN_FLASH ; remove the 4-bytes alignment for PSTR() -DPSTR_ALIGN=1 ; restrict to minimal mime-types -DMIMETYPE_MINIMAL ; uncomment the following to enable TLS with 4096 RSA certificates ;-DUSE_4K_RSA [core] ; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4. Added Backport for PWM selection platform = https://github.com/tasmota/platform-espressif8266/releases/download/v2.7.4/platform-espressif8266-2.7.4.zip platform_packages = build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM ;-DWAVEFORM_LOCKED_PHASE -DWAVEFORM_LOCKED_PWM