Skip to content

Commit

Permalink
platformio improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
ewoudwijma committed May 15, 2024
1 parent aacf05c commit ba84c8b
Showing 1 changed file with 61 additions and 63 deletions.
124 changes: 61 additions & 63 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
[ESPAsyncWebServer]
build_flags =
lib_deps =
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ;; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !!
https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !!
https://github.com/ewoudwijma/ESPAsyncWebServer.git ;aircoookie + getClients + 64
; https://github.com/ewowi/ESPAsyncWebServer.git ;me-no-dev + 64 + queueLength - alternative
; https://github.com/lost-hope/ESPAsyncWebServer.git#master ;artifx on <ip>/edit
Expand All @@ -22,25 +22,12 @@ lib_deps =
;Work in progress - not compiling yet
[PsychicHttp]
build_flags =
-DSTARBASE_USE_Psychic
-D STARBASE_USE_Psychic
lib_deps =
; hoeken/PsychicHttp
https://github.com/hoeken/PsychicHttp



[StarBase]
build_flags =
${ESPAsyncWebServer.build_flags}
-D STARBASE_DEVMODE
lib_deps =
${ESPAsyncWebServer.lib_deps}
https://github.com/bblanchon/ArduinoJson.git#v7.0.3
; https://github.com/Jason2866/ESP32_Show_Info.git




[STARBASE_USERMOD_E131]
build_flags =
-D STARBASE_USERMOD_E131
Expand All @@ -55,41 +42,52 @@ lib_deps =
https://github.com/knolleary/pubsubclient.git#v2.8


[STARBASE]
build_flags =
-D APP=StarBase
-D PIOENV=$PIOENV
-D VERSION=24051208 ; Date and time (GMT!)
-D CONFIG_ASYNC_TCP_USE_WDT=0
-D LFS_THREADSAFE ; enables use of semaphores in LittleFS driver
-D STARBASE_DEVMODE
${ESPAsyncWebServer.build_flags}
${STARBASE_USERMOD_E131.build_flags}
; ${STARBASE_USERMOD_HA.build_flags}
lib_deps =
${ESPAsyncWebServer.lib_deps}
https://github.com/bblanchon/ArduinoJson.git#v7.0.3
; https://github.com/Jason2866/ESP32_Show_Info.git
${STARBASE_USERMOD_E131.lib_deps}
; ${STARBASE_USERMOD_HA.lib_deps}




[Speed_Flags]
build_flags =
-O2 ;; optimize for performance instead of size
;-ffast-math ;; gives a few (2-5) percent speedup on ESP32-S3, but causes slight slowdown on classic ESP32
-mtarget-align -free -fipa-pta ;; these are very useful, too
-fno-jump-tables -fno-tree-switch-conversion ;; needed
-freorder-blocks -Wwrite-strings -fstrict-volatile-bitfields ;; needed
-O2 ; optimize for performance instead of size
;-ffast-math ; gives a few (2-5) percent speedup on ESP32-S3, but causes slight slowdown on classic ESP32
-mtarget-align -free -fipa-pta ; these are very useful, too
-fno-jump-tables -fno-tree-switch-conversion ; needed
-freorder-blocks -Wwrite-strings -fstrict-volatile-bitfields ; needed
build_unflags =
-Os ;; to disable standard optimization for size
-Os ; to disable standard optimization for size

[env]
framework = arduino
monitor_speed = 115200
monitor_filters = esp32_exception_decoder
board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions)
board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ; 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions)
board_build.filesystem = littlefs
board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz) - this is a fixed override from the board specs applicable for all env!!!
board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o)
build_unflags =
${Speed_Flags.build_unflags}
build_flags =
${StarBase.build_flags}
${Speed_Flags.build_flags}
-DCONFIG_ASYNC_TCP_USE_WDT=0
-DLFS_THREADSAFE ;; enables use of semaphores in LittleFS driver
${STARBASE_USERMOD_E131.build_flags}
; ${STARBASE_USERMOD_HA.build_flags}
-DAPP=StarBase
-DPIOENV=$PIOENV
-DVERSION=24051208 ; Date and time (GMT!)
${STARBASE.build_flags}
lib_deps =
${StarBase.lib_deps}
${STARBASE_USERMOD_E131.lib_deps}
; ${STARBASE_USERMOD_HA.lib_deps}
${STARBASE.lib_deps}
extra_scripts =
post:tools/post_build.py

Expand All @@ -101,19 +99,19 @@ platform = [email protected] ;using platformio/framework-arduinoespressif32 @ ~3
upload_speed = 1500000
build_flags =
${env.build_flags}
-DCONFIG_IDF_TARGET_ESP32=1
-DARDUINO_USB_CDC_ON_BOOT=0 ;; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")
-D CONFIG_IDF_TARGET_ESP32=1
-D ARDUINO_USB_CDC_ON_BOOT=0 ; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")


[env:pico32]
board = pico32 ;https://github.com/platformio/platform-espressif32/blob/develop/boards/pico32.json
; recommended to pin to a platform version, see https://github.com/platformio/platform-espressif32/releases
platform = [email protected] ;using platformio/framework-arduinoespressif32 @ ~3.20014.0 / framework-arduinoespressif32 @ 3.20014.231204 (2.0.14)
upload_speed = 230400 ;; reduced speed, as a manually attached serial-to-USB Module is needed on most pico boards (flimsy cables -> not reliable connection)
upload_speed = 230400 ; reduced speed, as a manually attached serial-to-USB Module is needed on most pico boards (flimsy cables -> not reliable connection)
build_flags =
${env.build_flags}
-DCONFIG_IDF_TARGET_ESP32=1
-DARDUINO_USB_CDC_ON_BOOT=0 ;; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")
-D CONFIG_IDF_TARGET_ESP32=1
-D ARDUINO_USB_CDC_ON_BOOT=0 ; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")


[env:lolin_d32]
Expand All @@ -124,31 +122,31 @@ upload_speed = 1500000
build_flags =
${env.build_flags}
; -DARDUINO_ARCH_ESP32 ; no proof of necessity yet...
-DCONFIG_IDF_TARGET_ESP32=1
-DARDUINO_USB_CDC_ON_BOOT=0 ;; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")
-D CONFIG_IDF_TARGET_ESP32=1
-D ARDUINO_USB_CDC_ON_BOOT=0 ; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (needed on "classic ESP32")



[env:lolin_s2_mini]
board = lolin_s2_mini ;https://github.com/platformio/platform-espressif32/blob/develop/boards/lolin_s2_mini.json
;; platform = [email protected] ;; WLED default framework version
platform = [email protected] ;; this one behaves better for debugging
; platform = [email protected] ; WLED default framework version
platform = [email protected] ; this one behaves better for debugging
upload_speed = 256000
build_flags =
${env.build_flags}
; -DARDUINO_ARCH_ESP32 ; no proof of necessity yet...
-DCONFIG_IDF_TARGET_ESP32S2=1
-DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_DFU_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 ;; for debugging over USB
; -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 ;; with serial-to-USB moddule (use in case your board hangs without USB connection)
-DARDUINO_USB_MODE=0 ;; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (mandatory on -S2)
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ;; for more debug output
-DSTARBASE_LOLIN_WIFI_FIX ;; workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
-D CONFIG_IDF_TARGET_ESP32S2=1
-D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_DFU_ON_BOOT=1 -D ARDUINO_USB_MSC_ON_BOOT=0 ; for debugging over USB
; -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 ; with serial-to-USB moddule (use in case your board hangs without USB connection)
-D ARDUINO_USB_MODE=0 ; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (mandatory on -S2)
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ; for more debug output
-D STARBASE_LOLIN_WIFI_FIX ; workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi


[env:lolin_c3_mini]
board = lolin_c3_mini ;https://github.com/platformio/platform-espressif32/blob/develop/boards/lolin_c3_mini.json
;; platform = [email protected] ;; WLED default framework version
platform = [email protected] ;; this one behaves better for debugging
; platform = [email protected] ; WLED default framework version
platform = [email protected] ; this one behaves better for debugging
upload_speed = 256000
build_unflags =
${env.build_unflags}
Expand All @@ -157,28 +155,28 @@ build_flags =
${env.build_flags}
; -DARDUINO_ARCH_ESP32 ; no proof of necessity yet...
; -DARDUINO_ARCH_ESP32C3 ; no proof of necessity yet...
-DCONFIG_IDF_TARGET_ESP32C3=1
-DARDUINO_USB_CDC_ON_BOOT=1 ;; for debugging over USB
; -DARDUINO_USB_CDC_ON_BOOT=0 ;; with serial-to-USB moddule (use in case your board hangs without USB connection)
-DARDUINO_USB_MODE=1 ;; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (mandatory on -C3)
-DSTARBASE_LOLIN_WIFI_FIX ;; activate workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ;; for more debug output
-D CONFIG_IDF_TARGET_ESP32C3=1
-D ARDUINO_USB_CDC_ON_BOOT=1 ; for debugging over USB
; -DARDUINO_USB_CDC_ON_BOOT=0 ; with serial-to-USB moddule (use in case your board hangs without USB connection)
-D ARDUINO_USB_MODE=1 ; Make sure that the right HardwareSerial driver is picked in arduino-esp32 (mandatory on -C3)
-D STARBASE_LOLIN_WIFI_FIX ; activate workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ; for more debug output

; RAM: [= ] 14.3% (used 46732 bytes from 327680 bytes)
; Flash: [======= ] 74.4% (used 1414876 bytes from 1900544 bytes)

;; for Waveshare ESP32-S3 Mini/Zero https://www.waveshare.com/esp32-s3-zero.htm
;; --> 4MB Flash, has PSRAM, memory type "qio_qspi", USB-CDC only
; for Waveshare ESP32-S3 Mini/Zero https://www.waveshare.com/esp32-s3-zero.htm
; --> 4MB Flash, has PSRAM, memory type "qio_qspi", USB-CDC only
[env:esp32_s3_mini]
platform = [email protected] ;; this one behaves better for debugging
platform = [email protected] ; this one behaves better for debugging
board = lolin_s3_mini ;https://github.com/platformio/platform-espressif32/blob/develop/boards/lolin_s3_mini.json
upload_speed = 256000
build_flags =
${env.build_flags}
-DCONFIG_IDF_TARGET_ESP32S3=1
-DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 -DARDUINO_USB_DFU_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 ;; for debugging over USB
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ;; for more debug output
; -DSTARBASE_LOLIN_WIFI_FIX ;; I don't trust the tiny ceramic antenna - use workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
-D CONFIG_IDF_TARGET_ESP32S3=1
-D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_DFU_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 ; for debugging over USB
; -D DEBUG=1 -D CORE_DEBUG_LEVEL=1 -D ARDUINOJSON_DEBUG=1 ; for more debug output
; -DSTARBASE_LOLIN_WIFI_FIX ; I don't trust the tiny ceramic antenna - use workaround for LOLIN C3/S2/S3 wifi instability. https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi



Expand Down

0 comments on commit ba84c8b

Please sign in to comment.