to build special Tasmota versions with Compiler switches defined in [env:tasmota-xyz] in `platformio_tasmota_cenv.ini` to control
user_config_override.h
Example:
"[env:tasmota-zigbee]
build_flags = ${common.build_flags} -DHANS_CONFIG_ZIGBEE=true"
which referrs to in user_config_override.h
```#ifdef HANS_CONFIG_ZIGBEE // ******************************************************************
#undef CODE_IMAGE_STR
#define CODE_IMAGE_STR "ZIGBEE"
#define USE_WEBSERVER // Enable web server and Wifi Manager (+66k code, +8k mem)
#define USE_JAVASCRIPT_ES6 // Enable ECMAScript6 syntax using less JavaScript code bytes (fails on IE11)
// #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code)
//#define USE_RULES // Add support for rules (+4k4 code)
// #define USE_EXPRESSION // Add support for expression evaluation in rules (+3k2 code, +64 bytes mem)
// #define SUPPORT_IF_STATEMENT // Add support for IF statement in rules (+4k2 code, -332 bytes mem)
// #define SUPPORT_MQTT_EVENT // Support trigger event with MQTT subscriptions (+3k5 code)
//#define USE_SCRIPT // Add support for script
// #define USE_SCRIPT_FATFS 4 // Add support for script storage on SD card (+12k code, +4k mem)
// #define USE_SCRIPT_WEB_DISPLAY
#define USE_ADC_VCC // Display Vcc in Power status. Disable for use as Analog input on selected devices
// -- Zigbee interface ----------------------------
#define USE_ZIGBEE // Enable serial communication with Zigbee CC2530 flashed with ZNP (+35k code, +3.2k mem)
#define USE_ZIGBEE_PANID 0x1A63 // arbitrary PAN ID for Zigbee network, must be unique in the home
#define USE_ZIGBEE_EXTPANID 0xCCCCCCCCCCCCCCCCL // arbitrary extended PAN ID
#define USE_ZIGBEE_CHANNEL 11 // Zigbee Channel (11-26)
#define USE_ZIGBEE_PRECFGKEY_L 0x0F0D0B0907050301L // note: changing requires to re-pair all devices
#define USE_ZIGBEE_PRECFGKEY_H 0x0D0C0A0806040200L // note: changing requires to re-pair all devices
#define USE_ZIGBEE_PERMIT_JOIN false // don't allow joining by default
#define USE_ZIGBEE_COALESCE_ATTR_TIMER 350 // timer to coalesce attribute values (in ms)
#endif ```
264 lines
11 KiB
INI
264 lines
11 KiB
INI
; *** Example PlatformIO Project Configuration Override File ***
|
|
; *** Changes done here override settings in platformio.ini ***
|
|
;
|
|
; *****************************************************************
|
|
; *** to activate rename this file to platformio_override.ini ***
|
|
; *****************************************************************
|
|
;
|
|
; Please visit documentation for the options and examples
|
|
; http://docs.platformio.org/en/stable/projectconf.html
|
|
;
|
|
|
|
|
|
[platformio]
|
|
extra_configs = platformio_tasmota_env32.ini
|
|
platformio_tasmota_cenv.ini
|
|
|
|
; *** Build/upload environment
|
|
default_envs =
|
|
; *** Uncomment the line(s) below to select version(s)
|
|
tasmota
|
|
; tasmota-debug
|
|
; tasmota-ircustom
|
|
; tasmota-minimal
|
|
; tasmota-lite
|
|
; tasmota-knx
|
|
; tasmota-sensors
|
|
; tasmota-display
|
|
; tasmota-ir
|
|
; tasmota32
|
|
; tasmota32-minimal
|
|
; tasmota32-lite
|
|
; tasmota32-knx
|
|
; tasmota32-sensors
|
|
; tasmota32-display
|
|
; tasmota32-ir
|
|
; tasmota32-ircustom
|
|
|
|
|
|
[common]
|
|
platform = ${core_active.platform}
|
|
platform_packages = ${core_active.platform_packages}
|
|
build_flags = ${core_active.build_flags}
|
|
; *** Use settings from file user_config_override.h
|
|
-DUSE_CONFIG_OVERRIDE
|
|
|
|
; *** Optional Debug messages
|
|
; -DDEBUG_TASMOTA_CORE
|
|
; -DDEBUG_TASMOTA_DRIVER
|
|
; -DDEBUG_TASMOTA_SENSOR
|
|
|
|
; set CPU frequency to 80MHz (default) or 160MHz
|
|
;board_build.f_cpu = 160000000L
|
|
|
|
; *** Upload Serial reset method for Wemos and NodeMCU
|
|
upload_port = COM5
|
|
|
|
extra_scripts = ${scripts_defaults.extra_scripts}
|
|
; pio/obj-dump.py
|
|
|
|
; *** Upload file to OTA server using SCP
|
|
;upload_port = user@host:/path
|
|
;extra_scripts = ${scripts_defaults.extra_scripts}
|
|
; pio/strip-floats.py
|
|
; pio/sftp-uploader.py
|
|
|
|
; *** Upload file to OTA server in folder api/arduino using HTTP
|
|
;upload_port = domus1:80/api/upload-arduino.php
|
|
;extra_scripts = ${scripts_defaults.extra_scripts}
|
|
; pio/strip-floats.py
|
|
; pio/http-uploader.py
|
|
|
|
[core_active]
|
|
; Select one core set for platform and build_flags
|
|
|
|
;platform = ${core_2_6_3.platform}
|
|
;platform_packages = ${core_2_6_3.platform_packages}
|
|
;build_flags = ${core_2_6_3.build_flags}
|
|
|
|
platform = ${tasmota_feature_stage.platform}
|
|
platform_packages = ${tasmota_feature_stage.platform_packages}
|
|
build_flags = ${tasmota_feature_stage.build_flags}
|
|
|
|
;platform = ${core_stage.platform}
|
|
;platform_packages = ${core_stage.platform_packages}
|
|
;build_flags = ${core_stage.build_flags}
|
|
|
|
|
|
[core_2_6_3]
|
|
; *** Esp8266 core for Arduino version 2.6.3
|
|
platform = espressif8266@2.4.0
|
|
platform_packages =
|
|
build_flags = ${esp82xx_defaults.build_flags}
|
|
-DBEARSSL_SSL_BASIC
|
|
; NONOSDK221
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
|
|
; NONOSDK22x_190313
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
|
|
; NONOSDK22x_190703 = 2.2.1+100-dev(38a443e) (Tasmota default) (Firmware 2K smaller than NONOSDK22x_191105)
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
|
|
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
|
|
; NONOSDK3V0 (known issues)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
|
|
; lwIP 1.4
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Low Memory
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
|
|
; lwIP 2 - Higher Bandwidth
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Higher Bandwidth Low Memory no Features
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
|
|
; lwIP 2 - Higher Bandwidth no Features (Tasmota default)
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
; lwIP 2 - Higher Bandwidth IPv6 (use ONLY if you need IPv6, experimental!)
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH
|
|
; VTABLES in Flash (Tasmota default)
|
|
-DVTABLES_IN_FLASH
|
|
; VTABLES in Heap
|
|
; -DVTABLES_IN_DRAM
|
|
; VTABLES in IRAM
|
|
; -DVTABLES_IN_IRAM
|
|
; enable one option set -> No exception recommended
|
|
; No exception code in firmware
|
|
-fno-exceptions
|
|
-lstdc++
|
|
; Exception code in firmware /needs much space! 90k
|
|
; -fexceptions
|
|
; -lstdc++-exc
|
|
|
|
[tasmota_feature_stage]
|
|
; *** Esp8266 core for Arduino version Tasmota feature stage
|
|
platform = espressif8266@2.4.0
|
|
platform_packages = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#d600cc7fa6c3fc5c31ed903ec12fd2e2da2c3678
|
|
build_flags = ${esp82xx_defaults.build_flags}
|
|
-DBEARSSL_SSL_BASIC
|
|
; NONOSDK221
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
|
|
; NONOSDK22x_190313
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
|
|
; NONOSDK22x_190703 = 2.2.1+100-dev(38a443e) (Tasmota default) (Firmware 2K smaller than NONOSDK22x_191105)
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
|
|
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
|
|
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
|
|
; NONOSDK3V0 (known issues)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
|
|
; lwIP 1.4
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Low Memory
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
|
|
; lwIP 2 - Higher Bandwidth
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Higher Bandwidth Low Memory no Features
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
|
|
; lwIP 2 - Higher Bandwidth no Features (Tasmota default)
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
; VTABLES in Flash (Tasmota default)
|
|
-DVTABLES_IN_FLASH
|
|
; VTABLES in Heap
|
|
; -DVTABLES_IN_DRAM
|
|
; VTABLES in IRAM
|
|
; -DVTABLES_IN_IRAM
|
|
; enable one option set -> No exception recommended
|
|
; No exception code in firmware
|
|
-fno-exceptions
|
|
-lstdc++
|
|
; Exception code in firmware /needs much space! 90k
|
|
; -fexceptions
|
|
; -lstdc++-exc
|
|
|
|
[core_stage]
|
|
; *** Esp8266 core for Arduino version latest beta
|
|
platform = espressif8266@2.4.0
|
|
platform_packages = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
|
|
build_flags = ${esp82xx_defaults.build_flags}
|
|
-DBEARSSL_SSL_BASIC
|
|
; NONOSDK221
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
|
|
; NONOSDK22x_190313
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
|
|
; NONOSDK22x_190703 = 2.2.1+100-dev(38a443e) (Tasmota default) (Firmware 2K smaller than NONOSDK22x_191105)
|
|
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
|
|
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
|
|
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
|
|
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
|
|
; NONOSDK3V0 (known issues)
|
|
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
|
|
; lwIP 1.4
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Low Memory
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
|
|
; lwIP 2 - Higher Bandwidth
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
|
|
; lwIP 2 - Higher Bandwidth Low Memory no Features
|
|
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
|
|
; lwIP 2 - Higher Bandwidth no Features (Tasmota default)
|
|
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
|
|
; VTABLES in Flash (Tasmota default)
|
|
-DVTABLES_IN_FLASH
|
|
; VTABLES in Heap
|
|
; -DVTABLES_IN_DRAM
|
|
; VTABLES in IRAM
|
|
; -DVTABLES_IN_IRAM
|
|
; enable one option set -> No exception recommended
|
|
; No exception code in firmware
|
|
-fno-exceptions
|
|
-lstdc++
|
|
; Exception code in firmware /needs much space! 90k
|
|
; -fexceptions
|
|
; -lstdc++-exc
|
|
|
|
|
|
; *** Debug version used for PlatformIO Home Project Inspection
|
|
[env:tasmota-debug]
|
|
build_type = debug
|
|
|
|
|
|
; *** Experimental ESP32 Tasmota version ***
|
|
; *** expect the unexpected. Many features not working!!! ***
|
|
|
|
[common32]
|
|
platform = espressif32@1.12.0
|
|
platform_packages = tool-esptoolpy@1.20800.0
|
|
board = wemos_d1_mini32
|
|
board_build.ldscript = esp32_out.ld
|
|
board_build.partitions = esp32_partition_app1984k_spiffs64k.csv
|
|
board_build.flash_mode = ${common.board_build.flash_mode}
|
|
board_build.f_cpu = ${common.board_build.f_cpu}
|
|
build_unflags = ${common.build_unflags}
|
|
monitor_speed = ${common.monitor_speed}
|
|
upload_port = ${common.upload_port}
|
|
upload_resetmethod = ${common.upload_resetmethod}
|
|
upload_speed = 921600
|
|
extra_scripts = ${common.extra_scripts}
|
|
|
|
build_flags = ${esp_defaults.build_flags}
|
|
-D BUFFER_LENGTH=128
|
|
-D MQTT_MAX_PACKET_SIZE=1200
|
|
-D uint32=uint32_t
|
|
-D uint16=uint16_t
|
|
-D uint8=uint8_t
|
|
-D sint8_t=int8_t
|
|
-D sint32_t=int32_t
|
|
-D sint16_t=int16_t
|
|
-D memcpy_P=memcpy
|
|
-D memcmp_P=memcmp
|
|
; -D USE_CONFIG_OVERRIDE
|
|
|
|
lib_extra_dirs =
|
|
libesp32
|
|
|
|
lib_ignore =
|
|
ILI9488
|
|
SSD3115
|
|
cc1101
|