diff --git a/platformio.ini b/platformio.ini
index 9d6ecd67..4148a8d3 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -31,26 +31,6 @@ framework = arduino
upload_speed = 921600
monitor_speed = 115200
-; -- Shared library dependencies in all environments
-lib_deps =
- lvgl/lvgl @ ^7.7.2 ; from PIO library
- bodmer/TFT_eSPI @ ^2.3.4 ; Tft SPI drivers
- bxparks/AceButton @ ^1.7.1 ; GPIO button library
- bblanchon/ArduinoJson @ ^6.17.2 ; Json(l) parser
- bblanchon/StreamUtils @ 1.6.0 ; for EEPromStream
- knolleary/PubSubClient @ ^2.8.0 ; MQTT client
- https://github.com/fvanroie/ConsoleInput.git
- https://github.com/andrethomas/TasmotaSlave.git
- ; ------ Unused / Test libraries
- ;https://github.com/netwizeBE/TFT_eSPI.git
- ;Syslog@^2.0.0 ; Obsoleted
- ;AsyncTCP
- ;https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip
- ;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
-
-; lib_ignore =
-; https://github.com/littlevgl/lvgl.git
-
build_flags =
;-Os ; Code Size Optimization
-Og ; Code Debug Optimization
@@ -73,17 +53,71 @@ build_flags =
-D HASP_VERSION_MINOR=2
-D HASP_VERSION_REVISION=1124
+; -- Shared library dependencies in all environments
+lib_deps =
+ lvgl/lvgl @ ^7.7.2 ; from PIO library
+ ;bodmer/TFT_eSPI @ ^2.3.4 ; Tft SPI drivers
+ bxparks/AceButton @ ^1.7.1 ; GPIO button library
+ bblanchon/ArduinoJson @ ^6.17.2 ; Json(l) parser
+ bblanchon/StreamUtils @ 1.6.0 ; for EEPromStream
+ knolleary/PubSubClient @ ^2.8.0 ; MQTT client
+ https://github.com/Bodmer/TFT_eSPI.git ; ^2.3.5 needed for DMA
+ https://github.com/fvanroie/ConsoleInput.git
+ https://github.com/andrethomas/TasmotaSlave.git
+ ; ------ Unused / Test libraries
+ ;https://github.com/netwizeBE/TFT_eSPI.git
+ ;Syslog@^2.0.0 ; Obsoleted
+ ;AsyncTCP
+ ;https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip
+ ;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
+
+; lib_ignore =
+; https://github.com/littlevgl/lvgl.git
+
src_filter = +<*> -<.git/> -<.svn/> - - - - -
extra_scripts = tools/move-rename-firmware.py ; tools/pre:extra_script.py
-; -- Platform specific build flags
-[flags]
-esp8266_flags=
+[esp32]
+build_flags =
${env.build_flags}
+ -D PIOENV=${PIOENV}
+ -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
+ -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
+ -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
+; -- tft_espi build options ------------------------
+ ;-D USE_DMA_TO_TFT
+ ;-D ESP32_DMA ; Make touch reads wait for DMA
+; -- hasp-lvgl build options ------------------------
+ -D HASP_USE_MQTT=1
+ -D HASP_USE_HTTP=1
+ -D HASP_USE_MDNS=1
+ -D HASP_USE_SYSLOG=1
+ -D HASP_USE_TELNET=1
+ -D HASP_USE_SPIFFS=0
+ -D HASP_USE_LITTLEFS=1
+ -D HASP_USE_EEPROM=1
+ -D HASP_USE_GPIO=1
+; -- LittleFS build options ------------------------
+ -D CONFIG_LITTLEFS_FOR_IDF_3_2
+
+lib_deps =
+ LittleFS_esp32
+
+lib_ignore =
+ GxTFT
+ XPT2046_Touchscreen
+ ESP32 BLE Arduino
+
+; -- Platform specific build flags
+[esp8266]
+build_flags=
-D HTTP_UPLOAD_BUFLEN=640 ; lower http upload buffer
-D MQTT_MAX_PACKET_SIZE=1024 ; longer PubSubClient messages
-D ATOMIC_FS_UPDATE ; enabled compressed ota updates
+ -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
; -- lvgl build options -----------------------------
-D LV_MEM_SIZE=10240U ; 10kB lvgl memory
; -- hasp-lvgl build options ------------------------
@@ -99,23 +133,14 @@ esp8266_flags=
-D HASP_USE_GPIO=1
-D HASP_USE_ETHERNET=0
-esp32_flags=
- ${env.build_flags}
- -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
- -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
-; -- hasp-lvgl build options ------------------------
- -D HASP_USE_MQTT=1
- -D HASP_USE_HTTP=1
- -D HASP_USE_MDNS=1
- -D HASP_USE_SYSLOG=1
- -D HASP_USE_TELNET=1
- -D HASP_USE_SPIFFS=1
- -D HASP_USE_LITTLEFS=0
- -D HASP_USE_EEPROM=1
- -D HASP_USE_GPIO=1
+lib_deps =
+lib_ignore =
+ GxTFT
+ XPT2046_Touchscreen
+
+
+[flags]
stm32_flags=
${env.build_flags}
-D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
diff --git a/platformio_override-template.ini b/platformio_override-template.ini
index f052d3a4..36ae99fb 100644
--- a/platformio_override-template.ini
+++ b/platformio_override-template.ini
@@ -9,7 +9,9 @@
[platformio]
extra_configs =
; Uncomment the following line to show all User Setups in the PIO sidebar
- ;user_setups/*/*.ini
+ ; user_setups/esp32/*.ini
+ ; user_setups/esp8266/*.ini
+ ; user_setups/stm32f4xx/*.ini
[override]
; -- Hasp config options --------------------------------------
@@ -18,7 +20,7 @@ build_flags =
; -DUSE_CONFIG_OVERRIDE
extra_default_envs =
- my_custom_build
+ ;my_custom_build
; Comment unneeded environments or create extra
;esp32dev-mrb3511
;d1mini-lolintft24
@@ -30,15 +32,15 @@ extra_default_envs =
;esp32dev-ili9488
; -- Define COM ports for each environment --------------------
-[env:d1mini32-lolintft24]
+[env:d1-mini-esp32_ili9341.ini]
upload_port = COM6 ; Change to the correct port
monitor_port = COM6 ; Change to the correct port
-[env:d1mini-lolintft24]
+[env:d1-mini-esp8266_ili9341.ini]
upload_port = COM4 ; Change to the correct port
monitor_port = COM4 ; Change to the correct port
-[env:esp32dev-mrb3511]
+[env:lolind32pro-lolintft24]
upload_port = COM3 ; Change to the correct port
monitor_port = COM3 ; Change to the correct port
@@ -48,16 +50,27 @@ upload_port = 192.168.0.4 ; IP of the ESP
upload_flags =
--port=3232
+[env:ttgo_esp32_poe-lolintft24]
+monitor_port = COM9 ; Change to the correct port
+upload_port = COM9 ; Change to the correct port
+;upload_protocol = espota ; Use ArduinoOTA after flashing over serial
+;upload_port = 10.1.0.130 ; IP of the ESP
+upload_flags =
+ --port=3232
+
; -- Custom Environment configuration example -----------------
[env:my_custom_build]
-platform = espressif32
+platform = espressif32@^2.0.0
board = nodemcu-32s
+board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
upload_port = COM3
monitor_port = COM3
+monitor_filters = esp32_exception_decoder
debug_tool = esp-prog
debug_init_break = tbreak setup
+
build_flags =
- ${flags.esp32_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options -----------------------------------
${lcd.raspberrypi}
${pins.vspi32}
@@ -65,3 +78,11 @@ build_flags =
-D TFT_DC=4
-D TFT_RST=32
-D TOUCH_CS=22
+
+lib_deps =
+ ${env.lib_deps}
+ ${esp32.lib_deps}
+
+lib_ignore =
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/d1-mini-esp32_ili9341.ini b/user_setups/esp32/d1-mini-esp32_ili9341.ini
index e2dbb4f9..8fd95eb2 100644
--- a/user_setups/esp32/d1-mini-esp32_ili9341.ini
+++ b/user_setups/esp32/d1-mini-esp32_ili9341.ini
@@ -5,7 +5,7 @@
; - xpt2606 touch controller ;
;***************************************************;
-[env:d1mini32-lolintft24]
+[env:d1-mini-esp32_ili9341.ini]
platform = espressif32@^2.0.0
board = wemos_d1_mini32
;upload_port = COM5 ; To change the port, use platform_override.ini
@@ -14,8 +14,8 @@ monitor_filters = esp32_exception_decoder
board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
build_flags =
- ${flags.esp32_flags}
- -D PIOENV=${PIOENV}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.lolin24}
${pins.vspi32}
@@ -24,16 +24,12 @@ build_flags =
-D TFT_RST=-1 ; RST
-D TFT_BCKL=-1 ; None, configurable via web UI (e.g. 21)
-D TOUCH_CS=17 ; (can also be 22 or 16)
- ;-D USE_DMA_TO_TFT
- ;-D ESP32_DMA ; Make touch reads wait for DMA
-; -- LittleFS build options ------------------------
- -D CONFIG_LITTLEFS_FOR_IDF_3_2
+
lib_deps =
${env.lib_deps}
- LittleFS_esp32
+ ${esp32.lib_deps}
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
- ESP32 BLE Arduino
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/d132-unoshield_ili9486_parallel.ini b/user_setups/esp32/d132-unoshield_ili9486_parallel.ini
index 78c09f01..feba7da7 100644
--- a/user_setups/esp32/d132-unoshield_ili9486_parallel.ini
+++ b/user_setups/esp32/d132-unoshield_ili9486_parallel.ini
@@ -13,7 +13,8 @@ monitor_filters = esp32_exception_decoder
board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
-D USER_SETUP_LOADED=1
;-D ST7796_DRIVER=1 ;3.95inch Arduino Display-UNO
@@ -47,7 +48,8 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp32.lib_deps}
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/esp32-dev_ili9488.ini b/user_setups/esp32/esp32-dev_ili9488.ini
index a4052e4c..efce2fa3 100644
--- a/user_setups/esp32/esp32-dev_ili9488.ini
+++ b/user_setups/esp32/esp32-dev_ili9488.ini
@@ -20,7 +20,8 @@ debug_tool = esp-prog
debug_init_break = tbreak setup
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
-D USER_SETUP_LOADED=1
-D ILI9488_DRIVER=1
@@ -47,7 +48,8 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp32.lib_deps}
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/esp32-dev_ili9488_parallel.ini b/user_setups/esp32/esp32-dev_ili9488_parallel.ini
index 1be61798..1635f99b 100644
--- a/user_setups/esp32/esp32-dev_ili9488_parallel.ini
+++ b/user_setups/esp32/esp32-dev_ili9488_parallel.ini
@@ -17,7 +17,8 @@ debug_tool = esp-prog
debug_init_break = tbreak setup
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.mrb3511}
-D TFT_BCKL=5 ;None, configurable via web UI (e.g. 2 for D4)
@@ -44,8 +45,11 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp32.lib_deps}
+ adafruit/Adafruit GFX Library @ ^1.10.3
+ adafruit/Adafruit BusIO @ ^1.6.0
https://github.com/netwizeBE/arduino-goodix.git ; GT911 touch screen driver
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ; ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/esp32cam_st7796.ini b/user_setups/esp32/esp32cam_st7796.ini
index 42ee1f16..024ac49c 100644
--- a/user_setups/esp32/esp32cam_st7796.ini
+++ b/user_setups/esp32/esp32cam_st7796.ini
@@ -23,7 +23,8 @@ board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
;ESP32 CAM PINS
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.raspberrypi}
-D USE_HSPI_PORT
@@ -41,7 +42,8 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp32.lib_deps}
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/lolin-d32-pro_ili9341.ini b/user_setups/esp32/lolin-d32-pro_ili9341.ini
index d3ca2301..6beb6e0b 100644
--- a/user_setups/esp32/lolin-d32-pro_ili9341.ini
+++ b/user_setups/esp32/lolin-d32-pro_ili9341.ini
@@ -16,7 +16,8 @@ monitor_filters = esp32_exception_decoder
board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
-DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
; -- TFT_eSPI build options ------------------------
@@ -28,7 +29,10 @@ build_flags =
-D TFT_BCKL=-1 ; None, configurable via web UI (e.g. 21)
-D TOUCH_CS=17 ; (can also be 22 or 16)
-lib_ignore =
- GxTFT
- XPT2046_Touchscreen
+lib_deps =
+ ${env.lib_deps}
+ ${esp32.lib_deps}
+lib_ignore =
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/nodemcu-32s_st7796.ini b/user_setups/esp32/nodemcu-32s_st7796.ini
index ea60fa53..6cf0f86b 100644
--- a/user_setups/esp32/nodemcu-32s_st7796.ini
+++ b/user_setups/esp32/nodemcu-32s_st7796.ini
@@ -16,7 +16,8 @@ debug_tool = esp-prog
debug_init_break = tbreak setup
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.raspberrypi}
${pins.vspi32}
@@ -31,7 +32,8 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp32.lib_deps}
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini
index 4a5ecd38..20fa8df5 100644
--- a/user_setups/esp32/ttgo-esp32-poe_ili9341.ini
+++ b/user_setups/esp32/ttgo-esp32-poe_ili9341.ini
@@ -20,7 +20,8 @@ monitor_filters = esp32_exception_decoder
board_build.partitions = user_setups/esp32_partition_app1300k_spiffs1216k.csv
build_flags =
- ${flags.esp32_flags}
+ ${env.build_flags}
+ ${esp32.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.lolin24}
-D TFT_MISO=2
@@ -35,6 +36,10 @@ build_flags =
-D HASP_USE_ETHERNET=1
-D HASP_USE_WIFI=0
+lib_deps =
+ ${env.lib_deps}
+ ${esp32.lib_deps}
+
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp32.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp8266/d1-mini-esp8266_ili9341.ini b/user_setups/esp8266/d1-mini-esp8266_ili9341.ini
index cb381b01..59186433 100644
--- a/user_setups/esp8266/d1-mini-esp8266_ili9341.ini
+++ b/user_setups/esp8266/d1-mini-esp8266_ili9341.ini
@@ -5,7 +5,7 @@
; - xpt2606 touch controller ;
;***************************************************;
-[env:d1mini-lolintft24]
+[env:d1-mini-esp8266_ili9341.ini]
platform = espressif8266@^2.6.2
board = d1_mini
;upload_port = COM7 ; To change the port, use platform_override.ini
@@ -16,7 +16,8 @@ board_build.flash_mode = dout
board_build.ldscript = eagle.flash.4m2m.ld ; 2Mb Spiffs
board_build.f_cpu = 160000000L ; set frequency to 160MHz
build_flags =
- ${flags.esp8266_flags}
+ ${env.build_flags}
+ ${esp8266.build_flags}
; -- TFT_eSPI build options ------------------------
${lcd.lolin24}
;-D TFT_MISO=12 ;D6 Use default HSPI
@@ -28,6 +29,12 @@ build_flags =
-D TOUCH_CS=0 ;D3 (can also be D1 or D2)
-D TFT_RST=-1 ;RST
+; -- Library options -------------------------------
+lib_deps =
+ ${env.lib_deps}
+ ${esp8266.lib_deps}
+ ;Ethernet@<2.0.0
+
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp8266.lib_ignore}
\ No newline at end of file
diff --git a/user_setups/esp8266/esp8266_st7735.ini b/user_setups/esp8266/esp8266_st7735.ini
index 5efe54fa..b07a34d4 100644
--- a/user_setups/esp8266/esp8266_st7735.ini
+++ b/user_setups/esp8266/esp8266_st7735.ini
@@ -14,7 +14,8 @@ board_build.flash_mode = dout
board_build.ldscript = eagle.flash.4m2m.ld ; 2Mb Spiffs
board_build.f_cpu = 160000000L ; set frequency to 160MHz
build_flags =
- ${flags.esp8266_flags}
+ ${env.build_flags}
+ ${esp8266.build_flags}
; -- TFT_eSPI build options ------------------------
-D USER_SETUP_LOADED=1
-D ST7735_DRIVER=1
@@ -35,8 +36,9 @@ build_flags =
; -- Library options -------------------------------
lib_deps =
${env.lib_deps}
+ ${esp8266.lib_deps}
;Ethernet@<2.0.0
lib_ignore =
- GxTFT
- XPT2046_Touchscreen
\ No newline at end of file
+ ${env.lib_ignore}
+ ${esp8266.lib_ignore}
\ No newline at end of file