this updates the partition scheme for devices with 4 MB of flash memory to have only a single app partition, doubling its size, but sacrificing their OTA update capability. the replacement environment for "generic_esop32" is called "generic_esp32_4mb_no_ota". the new default partition scheme is targeted for devices with at least 8 MB of flash memory. the previous two app partitions are merged into one, and one additional app partition of the same new size is added to the back of the table. the change preserves the littlefs partition (position and size), allowing for upgrades without loosing the configuration. another new environment is added, called "generic_esp32_8mb", which uses the new default partition layout. environment "generic" is removed. it was merely a variant of "generic_esp32" with some pins pre-defined. we want users to install a pin_mapping.json and use the generic firmwares. environments for boards that have no version with at least 8 MB of flash memory are setup using the 4 MB partition layout (no OTA updates). all users must flash the factory.bin for their respective environment using esptool (or compatible software) using the USB port of their board. in other words: updating to the new partition scheme using an OTA update is NOT possible. hint: the ESP32-S3 builds have a smaller code footprint. this means ESP32-S3 boards can be updated using OTA without updating the partition layout on the devices for some unspecified time longer, i.e., until their firmware binary actually becomes too large for the old sketch partition size. the non-factory binary for generic_esp32_4mb_no_ota is NOT collected as an artifact. going forward, users must update using the factory binary and using the USB connection to their boards.
266 lines
6.8 KiB
INI
266 lines
6.8 KiB
INI
; PlatformIO Project Configuration File
|
|
;
|
|
; Build options: build flags, source filter
|
|
; Upload options: custom upload port, speed and extra flags
|
|
; Library options: dependencies, extra library storages
|
|
; Advanced options: extra scripting
|
|
;
|
|
; Please visit documentation for the other options and examples
|
|
; https://docs.platformio.org/page/projectconf.html
|
|
|
|
[platformio]
|
|
default_envs = generic_esp32s3_usb
|
|
extra_configs =
|
|
platformio_override.ini
|
|
|
|
[env]
|
|
; Make sure to NOT add any spaces in the custom_ci_action property
|
|
; (also the position in the file is important)
|
|
custom_ci_action = generic_esp32_4mb_no_ota,generic_esp32_8mb,generic_esp32s3,generic_esp32s3_usb
|
|
|
|
framework = arduino
|
|
platform = espressif32@6.7.0
|
|
|
|
build_flags =
|
|
-DPIOENV=\"$PIOENV\"
|
|
-D_TASK_STD_FUNCTION=1
|
|
-D_TASK_THREAD_SAFE=1
|
|
-DCONFIG_ASYNC_TCP_EVENT_QUEUE_SIZE=128
|
|
-DCONFIG_ASYNC_TCP_QUEUE_SIZE=128
|
|
-Wall -Wextra -Wunused -Wmisleading-indentation -Wduplicated-cond -Wlogical-op -Wnull-dereference
|
|
; Have to remove -Werror because of
|
|
; https://github.com/espressif/arduino-esp32/issues/9044 and
|
|
; https://github.com/espressif/arduino-esp32/issues/9045
|
|
; -Werror
|
|
-std=c++17
|
|
-std=gnu++17
|
|
build_unflags =
|
|
-std=gnu++11
|
|
|
|
lib_deps =
|
|
mathieucarbou/ESP Async WebServer @ 2.10.8
|
|
bblanchon/ArduinoJson @ 7.0.4
|
|
https://github.com/bertmelis/espMqttClient.git#v1.7.0
|
|
nrf24/RF24 @ 1.4.8
|
|
olikraus/U8g2 @ 2.35.19
|
|
buelowp/sunset @ 1.1.7
|
|
https://github.com/arkhipenko/TaskScheduler#testing
|
|
https://github.com/coryjfowler/MCP_CAN_lib
|
|
plerup/EspSoftwareSerial @ ^8.0.1
|
|
https://github.com/dok-net/ghostl @ ^1.0.1
|
|
|
|
extra_scripts =
|
|
pre:pio-scripts/auto_firmware_version.py
|
|
pre:pio-scripts/patch_apply.py
|
|
post:pio-scripts/create_factory_bin.py
|
|
|
|
board_build.partitions = partitions_custom_8mb.csv
|
|
board_build.filesystem = littlefs
|
|
board_build.embed_files =
|
|
webapp_dist/index.html.gz
|
|
webapp_dist/zones.json.gz
|
|
webapp_dist/favicon.ico
|
|
webapp_dist/favicon.png
|
|
webapp_dist/js/app.js.gz
|
|
webapp_dist/site.webmanifest
|
|
|
|
custom_patches =
|
|
|
|
monitor_filters = esp32_exception_decoder, time, log2file, colorize
|
|
monitor_speed = 115200
|
|
upload_protocol = esptool
|
|
|
|
; Specify port in platformio_override.ini. Comment out (add ; in front of line) to use auto detection.
|
|
; monitor_port = COM4
|
|
; upload_port = COM4
|
|
|
|
|
|
[env:generic_esp32_4mb_no_ota]
|
|
board = esp32dev
|
|
build_flags = ${env.build_flags}
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
|
|
|
|
[env:generic_esp32_8mb]
|
|
board = esp32dev
|
|
build_flags = ${env.build_flags}
|
|
|
|
|
|
[env:generic_esp32_16mb_psram]
|
|
board = esp32dev
|
|
board_build.flash_mode = qio
|
|
board_build.partitions = partitions_custom_16mb.csv
|
|
board_upload.flash_size = 16MB
|
|
build_flags = ${env.build_flags}
|
|
-DBOARD_HAS_PSRAM
|
|
-mfix-esp32-psram-cache-issue
|
|
|
|
|
|
[env:generic_esp32c3]
|
|
board = esp32-c3-devkitc-02
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
custom_patches = ${env.custom_patches}
|
|
build_flags = ${env.build_flags}
|
|
|
|
|
|
[env:generic_esp32c3_usb]
|
|
board = esp32-c3-devkitc-02
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
custom_patches = ${env.custom_patches}
|
|
build_flags = ${env.build_flags}
|
|
-DARDUINO_USB_MODE=1
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
|
|
|
|
[env:generic_esp32s3]
|
|
board = esp32-s3-devkitc-1
|
|
build_flags = ${env.build_flags}
|
|
|
|
|
|
[env:generic_esp32s3_usb]
|
|
board = esp32-s3-devkitc-1
|
|
upload_protocol = esp-builtin
|
|
build_flags = ${env.build_flags}
|
|
-DARDUINO_USB_MODE=1
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
|
|
|
|
[env:olimex_esp32_poe]
|
|
; https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware
|
|
board = esp32-poe
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=15
|
|
-DHOYMILES_PIN_MOSI=2
|
|
-DHOYMILES_PIN_SCLK=14
|
|
-DHOYMILES_PIN_IRQ=13
|
|
-DHOYMILES_PIN_CE=16
|
|
-DHOYMILES_PIN_CS=5
|
|
-DOPENDTU_ETHERNET
|
|
|
|
|
|
[env:olimex_esp32_evb]
|
|
; https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware
|
|
board = esp32-evb
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=15
|
|
-DHOYMILES_PIN_MOSI=2
|
|
-DHOYMILES_PIN_SCLK=14
|
|
-DHOYMILES_PIN_IRQ=13
|
|
-DHOYMILES_PIN_CE=16
|
|
-DHOYMILES_PIN_CS=17
|
|
-DOPENDTU_ETHERNET
|
|
|
|
|
|
[env:d1_mini_esp32]
|
|
board = wemos_d1_mini32
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
build_flags =
|
|
${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=19
|
|
-DHOYMILES_PIN_MOSI=23
|
|
-DHOYMILES_PIN_SCLK=18
|
|
-DHOYMILES_PIN_IRQ=16
|
|
-DHOYMILES_PIN_CE=17
|
|
-DHOYMILES_PIN_CS=5
|
|
-DVICTRON_PIN_TX=21
|
|
-DVICTRON_PIN_RX=22
|
|
-DPYLONTECH_PIN_RX=27
|
|
-DPYLONTECH_PIN_TX=14
|
|
-DHUAWEI_PIN_MISO=12
|
|
-DHUAWEI_PIN_MOSI=13
|
|
-DHUAWEI_PIN_SCLK=26
|
|
-DHUAWEI_PIN_IRQ=25
|
|
-DHUAWEI_PIN_CS=15
|
|
-DHUAWEI_PIN_POWER=33
|
|
|
|
[env:wt32_eth01]
|
|
; http://www.wireless-tag.com/portfolio/wt32-eth01/
|
|
board = wt32-eth01
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=4
|
|
-DHOYMILES_PIN_MOSI=2
|
|
-DHOYMILES_PIN_SCLK=32
|
|
-DHOYMILES_PIN_IRQ=33
|
|
-DHOYMILES_PIN_CE=14
|
|
-DHOYMILES_PIN_CS=15
|
|
-DOPENDTU_ETHERNET
|
|
|
|
|
|
[env:esp_s3_12k_kit]
|
|
; https://www.waveshare.com/wiki/NodeMCU-ESP-S3-12K-Kit
|
|
board = esp32-s3-devkitc-1
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=16
|
|
-DHOYMILES_PIN_MOSI=17
|
|
-DHOYMILES_PIN_SCLK=18
|
|
-DHOYMILES_PIN_IRQ=3
|
|
-DHOYMILES_PIN_CE=4
|
|
-DHOYMILES_PIN_CS=5
|
|
|
|
|
|
[env:lolin32_lite]
|
|
; https://www.makershop.de/plattformen/esp8266/wemos-lolin32/
|
|
; https://www.az-delivery.de/products/esp32-lolin-lolin32
|
|
board = lolin32_lite
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=19
|
|
-DHOYMILES_PIN_MOSI=23
|
|
-DHOYMILES_PIN_SCLK=18
|
|
-DHOYMILES_PIN_IRQ=16
|
|
-DHOYMILES_PIN_CE=17
|
|
-DHOYMILES_PIN_CS=5
|
|
|
|
[env:lolin_s2_mini]
|
|
board = lolin_s2_mini
|
|
board_build.partitions = partitions_custom_4mb.csv
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=13
|
|
-DHOYMILES_PIN_MOSI=11
|
|
-DHOYMILES_PIN_SCLK=12
|
|
-DHOYMILES_PIN_CS=10
|
|
-DHOYMILES_PIN_IRQ=4
|
|
-DHOYMILES_PIN_CE=5
|
|
|
|
|
|
[env:opendtufusionv1]
|
|
board = esp32-s3-devkitc-1
|
|
upload_protocol = esp-builtin
|
|
debug_tool = esp-builtin
|
|
debug_speed = 12000
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=48
|
|
-DHOYMILES_PIN_MOSI=35
|
|
-DHOYMILES_PIN_SCLK=36
|
|
-DHOYMILES_PIN_IRQ=47
|
|
-DHOYMILES_PIN_CE=38
|
|
-DHOYMILES_PIN_CS=37
|
|
-DLED0=17
|
|
-DLED1=18
|
|
-DARDUINO_USB_MODE=1
|
|
|
|
[env:opendtufusionv2]
|
|
board = esp32-s3-devkitc-1
|
|
upload_protocol = esp-builtin
|
|
debug_tool = esp-builtin
|
|
debug_speed = 12000
|
|
build_flags = ${env.build_flags}
|
|
-DHOYMILES_PIN_MISO=48
|
|
-DHOYMILES_PIN_MOSI=35
|
|
-DHOYMILES_PIN_SCLK=36
|
|
-DHOYMILES_PIN_IRQ=47
|
|
-DHOYMILES_PIN_CE=38
|
|
-DHOYMILES_PIN_CS=37
|
|
-DLED0=17
|
|
-DLED1=18
|
|
-DCMT_CLK=6
|
|
-DCMT_CS=4
|
|
-DCMT_FCS=21
|
|
-DCMT_GPIO2=3
|
|
-DCMT_GPIO3=8
|
|
-DCMT_SDIO=5
|
|
-DARDUINO_USB_MODE=1
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|