From 0670e20421c857c2adf800cc9e4479afb1b1b2a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 29 Jul 2024 11:48:40 +0200 Subject: [PATCH 1/6] fix(rainmaker): Add new partition tables that fits the binary size (#10046) * fix(rainmaker): Add new partition tables * fix(rainmaker): Update readme file for RM examples * fix(rainmaker): Hide RM partitions for esp32h2 --- boards.txt | 838 +++++++++++++++++----- libraries/RainMaker/examples/README.md | 6 +- tools/partitions/rainmaker.csv | 2 +- tools/partitions/rainmaker_4MB_no_ota.csv | 6 + tools/partitions/rainmaker_8MB.csv | 7 + 5 files changed, 674 insertions(+), 185 deletions(-) create mode 100644 tools/partitions/rainmaker_4MB_no_ota.csv create mode 100644 tools/partitions/rainmaker_8MB.csv diff --git a/boards.txt b/boards.txt index 9df5f73929d..a509ee26047 100644 --- a/boards.txt +++ b/boards.txt @@ -253,9 +253,15 @@ esp32h2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32h2.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32h2.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32h2.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32h2.menu.PartitionScheme.rainmaker=RainMaker -esp32h2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32h2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +#esp32h2.menu.PartitionScheme.rainmaker=RainMaker 4MB +#esp32h2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +#esp32h2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +#esp32h2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +#esp32h2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +#esp32h2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +#esp32h2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +#esp32h2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +#esp32h2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32h2.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs esp32h2.menu.PartitionScheme.zigbee.build.partitions=zigbee esp32h2.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -433,9 +439,15 @@ esp32c6.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32c6.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32c6.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32c6.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32c6.menu.PartitionScheme.rainmaker=RainMaker +esp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32c6.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32c6.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32c6.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs esp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee esp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -702,9 +714,15 @@ esp32s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s3.menu.PartitionScheme.rainmaker=RainMaker +esp32s3.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s3.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) esp32s3.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB esp32s3.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -867,9 +885,15 @@ esp32c3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32c3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32c3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32c3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32c3.menu.PartitionScheme.rainmaker=RainMaker +esp32c3.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32c3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32c3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32c3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32c3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32c3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32c3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32c3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32c3.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32c3.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32c3.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -1068,9 +1092,15 @@ esp32s2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s2.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s2.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s2.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s2.menu.PartitionScheme.rainmaker=RainMaker +esp32s2.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s2.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32s2.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32s2.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -1244,9 +1274,15 @@ esp32.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32.menu.PartitionScheme.rainmaker=RainMaker +esp32.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -1417,9 +1453,15 @@ esp32da.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32da.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32da.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32da.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32da.menu.PartitionScheme.rainmaker=RainMaker +esp32da.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32da.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32da.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32da.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32da.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32da.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32da.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32da.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32da.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32da.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32da.menu.PartitionScheme.custom=Custom esp32da.menu.PartitionScheme.custom.build.partitions= esp32da.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -1570,9 +1612,12 @@ esp32wrover.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 esp32wrover.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) esp32wrover.menu.PartitionScheme.fatflash.build.partitions=ffat esp32wrover.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -esp32wrover.menu.PartitionScheme.rainmaker=RainMaker +esp32wrover.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32wrover.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32wrover.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32wrover.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32wrover.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32wrover.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32wrover.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 esp32wrover.menu.PartitionScheme.custom=Custom esp32wrover.menu.PartitionScheme.custom.build.partitions= esp32wrover.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -1874,9 +1919,15 @@ esp32s3-octal.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s3-octal.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s3-octal.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s3-octal.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s3-octal.menu.PartitionScheme.rainmaker=RainMaker +esp32s3-octal.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s3-octal.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s3-octal.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s3-octal.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s3-octal.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s3-octal.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s3-octal.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s3-octal.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s3-octal.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s3-octal.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s3-octal.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) esp32s3-octal.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB esp32s3-octal.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -1997,9 +2048,12 @@ esp32s3box.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s3box.menu.PartitionScheme.rainmaker=RainMaker +esp32s3box.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s3box.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s3box.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s3box.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s3box.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s3box.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s3box.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 esp32s3box.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) esp32s3box.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 esp32s3box.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin @@ -2453,9 +2507,15 @@ esp32wroverkit.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 esp32wroverkit.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) esp32wroverkit.menu.PartitionScheme.fatflash.build.partitions=ffat esp32wroverkit.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -esp32wroverkit.menu.PartitionScheme.rainmaker=RainMaker +esp32wroverkit.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32wroverkit.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32wroverkit.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32wroverkit.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32wroverkit.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32wroverkit.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32wroverkit.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32wroverkit.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32wroverkit.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32wroverkit.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32wroverkit.menu.CPUFreq.240=240MHz (WiFi/BT) esp32wroverkit.menu.CPUFreq.240.build.f_cpu=240000000L @@ -2682,9 +2742,15 @@ aventen_s3_sync.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 aventen_s3_sync.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) aventen_s3_sync.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB aventen_s3_sync.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -aventen_s3_sync.menu.PartitionScheme.rainmaker=RainMaker +aventen_s3_sync.menu.PartitionScheme.rainmaker=RainMaker 4MB aventen_s3_sync.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -aventen_s3_sync.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +aventen_s3_sync.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +aventen_s3_sync.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +aventen_s3_sync.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +aventen_s3_sync.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +aventen_s3_sync.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +aventen_s3_sync.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +aventen_s3_sync.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 aventen_s3_sync.menu.CPUFreq.240=240MHz (WiFi) aventen_s3_sync.menu.CPUFreq.240.build.f_cpu=240000000L @@ -3982,9 +4048,15 @@ um_tinyc6.menu.CDCOnBoot.default.build.cdc_on_boot=0 um_tinyc6.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) um_tinyc6.menu.PartitionScheme.default_8MB.build.partitions=default_8MB um_tinyc6.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 -um_tinyc6.menu.PartitionScheme.rainmaker=RainMaker +um_tinyc6.menu.PartitionScheme.rainmaker=RainMaker 4MB um_tinyc6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -um_tinyc6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +um_tinyc6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +um_tinyc6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +um_tinyc6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +um_tinyc6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +um_tinyc6.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +um_tinyc6.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +um_tinyc6.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 um_tinyc6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs um_tinyc6.menu.PartitionScheme.zigbee.build.partitions=zigbee um_tinyc6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -4677,9 +4749,15 @@ lilygo_t_display_s3.menu.UploadMode.cdc.upload.wait_for_upload_port=true lilygo_t_display_s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lilygo_t_display_s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lilygo_t_display_s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lilygo_t_display_s3.menu.PartitionScheme.rainmaker=RainMaker +lilygo_t_display_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB lilygo_t_display_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lilygo_t_display_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lilygo_t_display_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +lilygo_t_display_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 lilygo_t_display_s3.menu.DebugLevel.none=None lilygo_t_display_s3.menu.DebugLevel.none.build.code_debug=0 @@ -4793,9 +4871,15 @@ lilygo_t_eth_lite.menu.UploadMode.cdc.upload.wait_for_upload_port=true lilygo_t_eth_lite.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lilygo_t_eth_lite.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lilygo_t_eth_lite.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lilygo_t_eth_lite.menu.PartitionScheme.rainmaker=RainMaker +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker=RainMaker 4MB lilygo_t_eth_lite.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lilygo_t_eth_lite.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +lilygo_t_eth_lite.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 lilygo_t_eth_lite.menu.DebugLevel.none=None lilygo_t_eth_lite.menu.DebugLevel.none.build.code_debug=0 @@ -6438,9 +6522,15 @@ sparkfun_esp32c6_thing_plus.menu.PartitionScheme.fatflash.upload.maximum_size=20 sparkfun_esp32c6_thing_plus.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) sparkfun_esp32c6_thing_plus.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB sparkfun_esp32c6_thing_plus.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker=RainMaker +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker=RainMaker 4MB sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +sparkfun_esp32c6_thing_plus.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 sparkfun_esp32c6_thing_plus.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs sparkfun_esp32c6_thing_plus.menu.PartitionScheme.zigbee.build.partitions=zigbee sparkfun_esp32c6_thing_plus.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -6849,9 +6939,15 @@ sparkfun_esp32_iot_redboard.menu.PartitionScheme.fatflash.upload.maximum_size=20 sparkfun_esp32_iot_redboard.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) sparkfun_esp32_iot_redboard.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB sparkfun_esp32_iot_redboard.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker=RainMaker +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker=RainMaker 4MB sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +sparkfun_esp32_iot_redboard.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 sparkfun_esp32_iot_redboard.menu.CPUFreq.240=240MHz (WiFi/BT) sparkfun_esp32_iot_redboard.menu.CPUFreq.240.build.f_cpu=240000000L @@ -7025,9 +7121,15 @@ sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.fatflash.upload.maximum_size= sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker=RainMaker +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker=RainMaker 4MB sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.zigbee.build.partitions=zigbee sparkfun_esp32c6_qwiic_pocket.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -7361,9 +7463,15 @@ nina_w10.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 nina_w10.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) nina_w10.menu.PartitionScheme.huge_app.build.partitions=huge_app nina_w10.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 -nina_w10.menu.PartitionScheme.rainmaker=RainMaker +nina_w10.menu.PartitionScheme.rainmaker=RainMaker 4MB nina_w10.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -nina_w10.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +nina_w10.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +nina_w10.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +nina_w10.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +nina_w10.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +nina_w10.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +nina_w10.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +nina_w10.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 nina_w10.menu.CPUFreq.240=240MHz (WiFi/BT) nina_w10.menu.CPUFreq.240.build.f_cpu=240000000L @@ -7567,9 +7675,15 @@ nora_w10.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 #nora_w10.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS) #nora_w10.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB #nora_w10.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -nora_w10.menu.PartitionScheme.rainmaker=RainMaker +nora_w10.menu.PartitionScheme.rainmaker=RainMaker 4MB nora_w10.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -nora_w10.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +nora_w10.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +nora_w10.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +nora_w10.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +nora_w10.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +nora_w10.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +nora_w10.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +nora_w10.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 nora_w10.menu.CPUFreq.240=240MHz (WiFi) nora_w10.menu.CPUFreq.240.build.f_cpu=240000000L @@ -8533,9 +8647,15 @@ lolin_s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 lolin_s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lolin_s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lolin_s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lolin_s3.menu.PartitionScheme.rainmaker=RainMaker +lolin_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB lolin_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lolin_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lolin_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lolin_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lolin_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lolin_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +lolin_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +lolin_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +lolin_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 lolin_s3.menu.CPUFreq.240=240MHz (WiFi) lolin_s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -8701,9 +8821,12 @@ lolin_s3_mini.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 lolin_s3_mini.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) lolin_s3_mini.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs lolin_s3_mini.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -lolin_s3_mini.menu.PartitionScheme.rainmaker=RainMaker +lolin_s3_mini.menu.PartitionScheme.rainmaker=RainMaker 4MB lolin_s3_mini.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lolin_s3_mini.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lolin_s3_mini.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lolin_s3_mini.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lolin_s3_mini.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lolin_s3_mini.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 lolin_s3_mini.menu.CPUFreq.240=240MHz (WiFi) lolin_s3_mini.menu.CPUFreq.240.build.f_cpu=240000000L @@ -8869,9 +8992,12 @@ lolin_s3_mini_pro.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -lolin_s3_mini_pro.menu.PartitionScheme.rainmaker=RainMaker +lolin_s3_mini_pro.menu.PartitionScheme.rainmaker=RainMaker 4MB lolin_s3_mini_pro.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lolin_s3_mini_pro.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lolin_s3_mini_pro.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lolin_s3_mini_pro.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lolin_s3_mini_pro.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lolin_s3_mini_pro.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 lolin_s3_mini_pro.menu.CPUFreq.240=240MHz (WiFi) lolin_s3_mini_pro.menu.CPUFreq.240.build.f_cpu=240000000L @@ -9021,9 +9147,15 @@ lolin_s3_pro.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 lolin_s3_pro.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lolin_s3_pro.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lolin_s3_pro.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lolin_s3_pro.menu.PartitionScheme.rainmaker=RainMaker +lolin_s3_pro.menu.PartitionScheme.rainmaker=RainMaker 4MB lolin_s3_pro.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lolin_s3_pro.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lolin_s3_pro.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lolin_s3_pro.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lolin_s3_pro.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lolin_s3_pro.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +lolin_s3_pro.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +lolin_s3_pro.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +lolin_s3_pro.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 lolin_s3_pro.menu.CPUFreq.240=240MHz (WiFi) lolin_s3_pro.menu.CPUFreq.240.build.f_cpu=240000000L @@ -9603,9 +9735,12 @@ WeMosBat.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 WeMosBat.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) WeMosBat.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB WeMosBat.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -WeMosBat.menu.PartitionScheme.rainmaker=RainMaker +WeMosBat.menu.PartitionScheme.rainmaker=RainMaker 4MB WeMosBat.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -WeMosBat.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +WeMosBat.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +WeMosBat.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +WeMosBat.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +WeMosBat.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 WeMosBat.menu.FlashFreq.80=80MHz WeMosBat.menu.FlashFreq.80.build.flash_freq=80m @@ -10089,9 +10224,12 @@ dfrobot_beetle_esp32c3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 dfrobot_beetle_esp32c3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) dfrobot_beetle_esp32c3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB dfrobot_beetle_esp32c3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_beetle_esp32c3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 dfrobot_beetle_esp32c3.menu.CPUFreq.160=160MHz (WiFi) dfrobot_beetle_esp32c3.menu.CPUFreq.160.build.f_cpu=160000000L @@ -10232,9 +10370,12 @@ dfrobot_beetle_esp32c6.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 dfrobot_beetle_esp32c6.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) dfrobot_beetle_esp32c6.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs dfrobot_beetle_esp32c6.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_beetle_esp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 dfrobot_beetle_esp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs dfrobot_beetle_esp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee dfrobot_beetle_esp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -10389,9 +10530,15 @@ dfrobot_firebeetle2_esp32e.menu.PartitionScheme.fatflash.upload.maximum_size=209 dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS) dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 dfrobot_firebeetle2_esp32e.menu.CPUFreq.240=240MHz (WiFi/BT) dfrobot_firebeetle2_esp32e.menu.CPUFreq.240.build.f_cpu=240000000L @@ -10639,9 +10786,15 @@ dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.fatflash.upload.maximum_size=20 dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +dfrobot_firebeetle2_esp32s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 dfrobot_firebeetle2_esp32s3.menu.CPUFreq.240=240MHz (WiFi) dfrobot_firebeetle2_esp32s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -10769,9 +10922,12 @@ dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.huge_app.upload.maximum_size=31 dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee dfrobot_firebeetle2_esp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -10995,9 +11151,15 @@ dfrobot_romeo_esp32s3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker=RainMaker +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker=RainMaker 4MB dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 dfrobot_romeo_esp32s3.menu.CPUFreq.240=240MHz (WiFi) dfrobot_romeo_esp32s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -13748,9 +13910,12 @@ adafruit_feather_esp32c6.menu.PartitionScheme.fatflash.upload.maximum_size=20971 adafruit_feather_esp32c6.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) adafruit_feather_esp32c6.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB adafruit_feather_esp32c6.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker=RainMaker +adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +adafruit_feather_esp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 adafruit_feather_esp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs adafruit_feather_esp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee adafruit_feather_esp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -15787,9 +15952,15 @@ nologo_esp32s3_pico.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 nologo_esp32s3_pico.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) nologo_esp32s3_pico.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB nologo_esp32s3_pico.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -nologo_esp32s3_pico.menu.PartitionScheme.rainmaker=RainMaker +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker=RainMaker 4MB nologo_esp32s3_pico.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -nologo_esp32s3_pico.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +nologo_esp32s3_pico.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 nologo_esp32s3_pico.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) nologo_esp32s3_pico.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB nologo_esp32s3_pico.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -16500,9 +16671,15 @@ esp32-poe.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32-poe.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32-poe.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32-poe.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32-poe.menu.PartitionScheme.rainmaker=RainMaker +esp32-poe.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32-poe.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32-poe.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32-poe.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32-poe.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32-poe.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32-poe.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32-poe.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32-poe.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32-poe.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32-poe.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32-poe.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32-poe.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -16637,9 +16814,15 @@ esp32-poe-iso.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32-poe-iso.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32-poe-iso.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32-poe-iso.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32-poe-iso.menu.PartitionScheme.rainmaker=RainMaker +esp32-poe-iso.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32-poe-iso.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32-poe-iso.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32-poe-iso.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32-poe-iso.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32-poe-iso.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32-poe-iso.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32-poe-iso.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32-poe-iso.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32-poe-iso.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32-poe-iso.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32-poe-iso.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32-poe-iso.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -16909,9 +17092,15 @@ esp32s2-devkitlipo.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s2-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s2-devkitlipo.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s2-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s2-devkitlipo.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s2-devkitlipo.menu.PartitionScheme.custom=Custom esp32s2-devkitlipo.menu.PartitionScheme.custom.build.partitions= esp32s2-devkitlipo.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -17100,9 +17289,15 @@ esp32s2-devkitlipo-usb.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s2-devkitlipo-usb.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s2-devkitlipo-usb.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s2-devkitlipo-usb.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker=RainMaker +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s2-devkitlipo-usb.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s2-devkitlipo-usb.menu.PartitionScheme.custom=Custom esp32s2-devkitlipo-usb.menu.PartitionScheme.custom.build.partitions= esp32s2-devkitlipo-usb.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -17353,9 +17548,15 @@ esp32s3-devkitlipo.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32s3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32s3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32s3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32s3-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32s3-devkitlipo.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32s3-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32s3-devkitlipo.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32s3-devkitlipo.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) esp32s3-devkitlipo.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB esp32s3-devkitlipo.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -17505,9 +17706,15 @@ esp32c3-devkitlipo.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32c3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32c3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32c3-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32c3-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32c3-devkitlipo.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32c3-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32c3-devkitlipo.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32c3-devkitlipo.menu.PartitionScheme.custom=Custom esp32c3-devkitlipo.menu.PartitionScheme.custom.build.partitions= esp32c3-devkitlipo.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -17674,9 +17881,15 @@ esp32c6-evb.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32c6-evb.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32c6-evb.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32c6-evb.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32c6-evb.menu.PartitionScheme.rainmaker=RainMaker +esp32c6-evb.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32c6-evb.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32c6-evb.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32c6-evb.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32c6-evb.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32c6-evb.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32c6-evb.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32c6-evb.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32c6-evb.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32c6-evb.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32c6-evb.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs esp32c6-evb.menu.PartitionScheme.zigbee.build.partitions=zigbee esp32c6-evb.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -17856,9 +18069,15 @@ esp32h2-devkitlipo.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32h2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32h2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32h2-devkitlipo.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32h2-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker -esp32h2-devkitlipo.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32h2-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker=RainMaker 4MB +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +#esp32h2-devkitlipo.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32h2-devkitlipo.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs esp32h2-devkitlipo.menu.PartitionScheme.zigbee.build.partitions=zigbee esp32h2-devkitlipo.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -18030,9 +18249,15 @@ esp32-sbc-fabgl.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 esp32-sbc-fabgl.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) esp32-sbc-fabgl.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB esp32-sbc-fabgl.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -esp32-sbc-fabgl.menu.PartitionScheme.rainmaker=RainMaker +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32-sbc-fabgl.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32-sbc-fabgl.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +esp32-sbc-fabgl.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 esp32-sbc-fabgl.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs esp32-sbc-fabgl.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr esp32-sbc-fabgl.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 @@ -18269,9 +18494,15 @@ m5stack_core.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_core.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_core.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_core.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_core.menu.PartitionScheme.rainmaker=RainMaker +m5stack_core.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_core.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_core.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_core.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_core.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_core.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_core.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_core.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_core.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_core.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_core.menu.PartitionScheme.custom=Custom m5stack_core.menu.PartitionScheme.custom.build.partitions= m5stack_core.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -18439,9 +18670,15 @@ m5stack_fire.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_fire.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_fire.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_fire.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_fire.menu.PartitionScheme.rainmaker=RainMaker +m5stack_fire.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_fire.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_fire.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_fire.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_fire.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_fire.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_fire.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_fire.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_fire.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_fire.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_fire.menu.PartitionScheme.custom=Custom m5stack_fire.menu.PartitionScheme.custom.build.partitions= m5stack_fire.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -18607,9 +18844,15 @@ m5stack_core2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_core2.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_core2.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_core2.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_core2.menu.PartitionScheme.rainmaker=RainMaker +m5stack_core2.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_core2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_core2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_core2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_core2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_core2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_core2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_core2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_core2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_core2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_core2.menu.PartitionScheme.custom=Custom m5stack_core2.menu.PartitionScheme.custom.build.partitions= m5stack_core2.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -18775,9 +19018,15 @@ m5stack_tough.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_tough.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_tough.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_tough.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_tough.menu.PartitionScheme.rainmaker=RainMaker +m5stack_tough.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_tough.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_tough.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_tough.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_tough.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_tough.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_tough.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_tough.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_tough.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_tough.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_tough.menu.PartitionScheme.custom=Custom m5stack_tough.menu.PartitionScheme.custom.build.partitions= m5stack_tough.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -18936,9 +19185,15 @@ m5stack_station.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_station.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_station.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_station.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_station.menu.PartitionScheme.rainmaker=RainMaker +m5stack_station.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_station.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_station.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_station.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_station.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_station.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_station.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_station.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_station.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_station.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_station.menu.PartitionScheme.custom=Custom m5stack_station.menu.PartitionScheme.custom.build.partitions= m5stack_station.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -19093,9 +19348,12 @@ m5stack_stickc.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_stickc.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_stickc.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_stickc.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_stickc.menu.PartitionScheme.rainmaker=RainMaker +m5stack_stickc.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_stickc.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_stickc.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_stickc.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_stickc.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_stickc.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_stickc.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 m5stack_stickc.menu.PartitionScheme.custom=Custom m5stack_stickc.menu.PartitionScheme.custom.build.partitions= m5stack_stickc.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -19244,9 +19502,12 @@ m5stack_stickc_plus.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_stickc_plus.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_stickc_plus.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_stickc_plus.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_stickc_plus.menu.PartitionScheme.rainmaker=RainMaker +m5stack_stickc_plus.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_stickc_plus.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_stickc_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_stickc_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_stickc_plus.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_stickc_plus.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_stickc_plus.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 m5stack_stickc_plus.menu.PartitionScheme.custom=Custom m5stack_stickc_plus.menu.PartitionScheme.custom.build.partitions= m5stack_stickc_plus.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -19404,9 +19665,15 @@ m5stack_stickc_plus2.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_stickc_plus2.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_stickc_plus2.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_stickc_plus2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_stickc_plus2.menu.PartitionScheme.rainmaker=RainMaker +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_stickc_plus2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_stickc_plus2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_stickc_plus2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_stickc_plus2.menu.PartitionScheme.custom=Custom m5stack_stickc_plus2.menu.PartitionScheme.custom.build.partitions= m5stack_stickc_plus2.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -19556,9 +19823,12 @@ m5stack_atom.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_atom.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_atom.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_atom.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_atom.menu.PartitionScheme.rainmaker=RainMaker +m5stack_atom.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_atom.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_atom.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_atom.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_atom.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_atom.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_atom.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 m5stack_atom.menu.PartitionScheme.custom=Custom m5stack_atom.menu.PartitionScheme.custom.build.partitions= m5stack_atom.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -19804,9 +20074,15 @@ m5stack_atoms3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_atoms3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_atoms3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_atoms3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_atoms3.menu.PartitionScheme.rainmaker=RainMaker +m5stack_atoms3.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_atoms3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_atoms3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_atoms3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_atoms3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_atoms3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_atoms3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_atoms3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_atoms3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_atoms3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_atoms3.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_atoms3.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_atoms3.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -20032,9 +20308,15 @@ m5stack_cores3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_cores3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_cores3.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_cores3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_cores3.menu.PartitionScheme.rainmaker=RainMaker +m5stack_cores3.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_cores3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_cores3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_cores3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_cores3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_cores3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_cores3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_cores3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_cores3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_cores3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_cores3.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_cores3.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_cores3.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -20566,9 +20848,15 @@ m5stack_unit_cams3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_unit_cams3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_unit_cams3.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_unit_cams3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_unit_cams3.menu.PartitionScheme.rainmaker=RainMaker +m5stack_unit_cams3.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_unit_cams3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_unit_cams3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_unit_cams3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_unit_cams3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_unit_cams3.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_unit_cams3.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_unit_cams3.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -20859,9 +21147,15 @@ m5stack_paper.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_paper.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_paper.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_paper.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_paper.menu.PartitionScheme.rainmaker=RainMaker +m5stack_paper.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_paper.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_paper.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_paper.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_paper.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_paper.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_paper.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_paper.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_paper.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_paper.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_paper.menu.PartitionScheme.custom=Custom m5stack_paper.menu.PartitionScheme.custom.build.partitions= m5stack_paper.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -21017,9 +21311,12 @@ m5stack_coreink.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_coreink.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_coreink.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_coreink.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_coreink.menu.PartitionScheme.rainmaker=RainMaker +m5stack_coreink.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_coreink.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_coreink.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_coreink.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_coreink.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_coreink.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_coreink.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 m5stack_coreink.menu.PartitionScheme.custom=Custom m5stack_coreink.menu.PartitionScheme.custom.build.partitions= m5stack_coreink.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -21169,9 +21466,12 @@ m5stack_stamp_pico.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 m5stack_stamp_pico.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) m5stack_stamp_pico.menu.PartitionScheme.fatflash.build.partitions=ffat m5stack_stamp_pico.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -m5stack_stamp_pico.menu.PartitionScheme.rainmaker=RainMaker +m5stack_stamp_pico.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_stamp_pico.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_stamp_pico.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_stamp_pico.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_stamp_pico.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_stamp_pico.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_stamp_pico.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 m5stack_stamp_pico.menu.PartitionScheme.custom=Custom m5stack_stamp_pico.menu.PartitionScheme.custom.build.partitions= m5stack_stamp_pico.menu.PartitionScheme.custom.upload.maximum_size=16777216 @@ -21570,9 +21870,15 @@ m5stack_stamp_s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_stamp_s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_stamp_s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_stamp_s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_stamp_s3.menu.PartitionScheme.rainmaker=RainMaker +m5stack_stamp_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_stamp_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_stamp_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_stamp_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_stamp_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_stamp_s3.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_stamp_s3.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_stamp_s3.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -21804,9 +22110,15 @@ m5stack_capsule.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_capsule.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_capsule.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_capsule.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_capsule.menu.PartitionScheme.rainmaker=RainMaker +m5stack_capsule.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_capsule.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_capsule.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_capsule.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_capsule.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_capsule.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_capsule.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_capsule.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_capsule.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_capsule.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_capsule.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_capsule.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_capsule.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -22040,9 +22352,15 @@ m5stack_cardputer.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_cardputer.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_cardputer.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_cardputer.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_cardputer.menu.PartitionScheme.rainmaker=RainMaker +m5stack_cardputer.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_cardputer.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_cardputer.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_cardputer.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_cardputer.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_cardputer.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_cardputer.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_cardputer.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_cardputer.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_cardputer.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_cardputer.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_cardputer.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_cardputer.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -22273,9 +22591,15 @@ m5stack_dial.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 m5stack_dial.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) m5stack_dial.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB m5stack_dial.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -m5stack_dial.menu.PartitionScheme.rainmaker=RainMaker +m5stack_dial.menu.PartitionScheme.rainmaker=RainMaker 4MB m5stack_dial.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -m5stack_dial.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +m5stack_dial.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +m5stack_dial.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +m5stack_dial.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +m5stack_dial.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +m5stack_dial.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +m5stack_dial.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +m5stack_dial.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 m5stack_dial.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS) m5stack_dial.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB m5stack_dial.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592 @@ -25574,9 +25898,15 @@ bpi_leaf_s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 bpi_leaf_s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) bpi_leaf_s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB bpi_leaf_s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -bpi_leaf_s3.menu.PartitionScheme.rainmaker=RainMaker +bpi_leaf_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB bpi_leaf_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -bpi_leaf_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +bpi_leaf_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +bpi_leaf_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +bpi_leaf_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +bpi_leaf_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +bpi_leaf_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +bpi_leaf_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +bpi_leaf_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 bpi_leaf_s3.menu.CPUFreq.240=240MHz (WiFi) bpi_leaf_s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -27882,9 +28212,15 @@ wifiduino32c3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 wifiduino32c3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) wifiduino32c3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB wifiduino32c3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -wifiduino32c3.menu.PartitionScheme.rainmaker=RainMaker +wifiduino32c3.menu.PartitionScheme.rainmaker=RainMaker 4MB wifiduino32c3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -wifiduino32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +wifiduino32c3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +wifiduino32c3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +wifiduino32c3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +wifiduino32c3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +wifiduino32c3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +wifiduino32c3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +wifiduino32c3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 wifiduino32c3.menu.CPUFreq.160=160MHz (WiFi) wifiduino32c3.menu.CPUFreq.160.build.f_cpu=160000000L @@ -28110,9 +28446,15 @@ wifiduino32s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 wifiduino32s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) wifiduino32s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB wifiduino32s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -wifiduino32s3.menu.PartitionScheme.rainmaker=RainMaker +wifiduino32s3.menu.PartitionScheme.rainmaker=RainMaker 4MB wifiduino32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -wifiduino32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +wifiduino32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +wifiduino32s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +wifiduino32s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +wifiduino32s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +wifiduino32s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +wifiduino32s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +wifiduino32s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 wifiduino32s3.menu.CPUFreq.240=240MHz (WiFi) wifiduino32s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -29317,9 +29659,15 @@ kb32.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 kb32.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) kb32.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB kb32.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -kb32.menu.PartitionScheme.rainmaker=RainMaker +kb32.menu.PartitionScheme.rainmaker=RainMaker 4MB kb32.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -kb32.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +kb32.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +kb32.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +kb32.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +kb32.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +kb32.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +kb32.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +kb32.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 kb32.menu.CPUFreq.240=240MHz (WiFi/BT) kb32.menu.CPUFreq.240.build.f_cpu=240000000L @@ -29491,9 +29839,15 @@ deneyapkart.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapkart.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapkart.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapkart.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapkart.menu.PartitionScheme.rainmaker=RainMaker +deneyapkart.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapkart.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapkart.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapkart.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapkart.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapkart.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapkart.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapkart.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapkart.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapkart.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapkart.menu.CPUFreq.240=240MHz (WiFi/BT) deneyapkart.menu.CPUFreq.240.build.f_cpu=240000000L @@ -29665,9 +30019,15 @@ deneyapkart1A.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapkart1A.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapkart1A.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapkart1A.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapkart1A.menu.PartitionScheme.rainmaker=RainMaker +deneyapkart1A.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapkart1A.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapkart1A.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapkart1A.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapkart1A.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapkart1A.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapkart1A.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapkart1A.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapkart1A.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapkart1A.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapkart1A.menu.CPUFreq.240=240MHz (WiFi/BT) deneyapkart1A.menu.CPUFreq.240.build.f_cpu=240000000L @@ -29925,9 +30285,15 @@ deneyapkart1Av2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapkart1Av2.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapkart1Av2.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapkart1Av2.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapkart1Av2.menu.PartitionScheme.rainmaker=RainMaker +deneyapkart1Av2.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapkart1Av2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapkart1Av2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapkart1Av2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapkart1Av2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapkart1Av2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapkart1Av2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapkart1Av2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapkart1Av2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapkart1Av2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapkart1Av2.menu.CPUFreq.240=240MHz (WiFi) deneyapkart1Av2.menu.CPUFreq.240.build.f_cpu=240000000L @@ -30088,9 +30454,15 @@ deneyapmini.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapmini.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapmini.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapmini.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapmini.menu.PartitionScheme.rainmaker=RainMaker +deneyapmini.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapmini.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapmini.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapmini.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapmini.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapmini.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapmini.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapmini.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapmini.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapmini.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapmini.menu.CPUFreq.240=240MHz (WiFi) deneyapmini.menu.CPUFreq.240.build.f_cpu=240000000L @@ -30274,9 +30646,15 @@ deneyapminiv2.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapminiv2.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapminiv2.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapminiv2.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapminiv2.menu.PartitionScheme.rainmaker=RainMaker +deneyapminiv2.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapminiv2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapminiv2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapminiv2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapminiv2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapminiv2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapminiv2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapminiv2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapminiv2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapminiv2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapminiv2.menu.CPUFreq.240=240MHz (WiFi) deneyapminiv2.menu.CPUFreq.240.build.f_cpu=240000000L @@ -30439,9 +30817,15 @@ deneyapkartg.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 deneyapkartg.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) deneyapkartg.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB deneyapkartg.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -deneyapkartg.menu.PartitionScheme.rainmaker=RainMaker +deneyapkartg.menu.PartitionScheme.rainmaker=RainMaker 4MB deneyapkartg.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -deneyapkartg.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +deneyapkartg.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +deneyapkartg.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +deneyapkartg.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +deneyapkartg.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +deneyapkartg.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +deneyapkartg.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +deneyapkartg.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 deneyapkartg.menu.CPUFreq.160=160MHz (WiFi) deneyapkartg.menu.CPUFreq.160.build.f_cpu=160000000L @@ -31188,9 +31572,15 @@ tamc_termod_s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 tamc_termod_s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS) tamc_termod_s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB tamc_termod_s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -tamc_termod_s3.menu.PartitionScheme.rainmaker=RainMaker +tamc_termod_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB tamc_termod_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -tamc_termod_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +tamc_termod_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +tamc_termod_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +tamc_termod_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +tamc_termod_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +tamc_termod_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +tamc_termod_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +tamc_termod_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 tamc_termod_s3.menu.CPUFreq.240=240MHz (WiFi) tamc_termod_s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -31389,9 +31779,12 @@ sonoff_dualr3.build.defines= sonoff_dualr3.build.loop_core= sonoff_dualr3.build.event_core= -sonoff_dualr3.menu.PartitionScheme.rainmaker=RainMaker +sonoff_dualr3.menu.PartitionScheme.rainmaker=RainMaker 4MB sonoff_dualr3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -sonoff_dualr3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +sonoff_dualr3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +sonoff_dualr3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +sonoff_dualr3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +sonoff_dualr3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 sonoff_dualr3.menu.CPUFreq.240=240MHz (WiFi/BT) sonoff_dualr3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -31528,9 +31921,12 @@ lionbit.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 lionbit.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lionbit.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lionbit.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lionbit.menu.PartitionScheme.rainmaker=RainMaker +lionbit.menu.PartitionScheme.rainmaker=RainMaker 4MB lionbit.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lionbit.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lionbit.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lionbit.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lionbit.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lionbit.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 lionbit.menu.CPUFreq.240=240MHz (WiFi/BT) lionbit.menu.CPUFreq.240.build.f_cpu=240000000L @@ -31875,9 +32271,15 @@ XIAO_ESP32C3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 XIAO_ESP32C3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) XIAO_ESP32C3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB XIAO_ESP32C3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -XIAO_ESP32C3.menu.PartitionScheme.rainmaker=RainMaker +XIAO_ESP32C3.menu.PartitionScheme.rainmaker=RainMaker 4MB XIAO_ESP32C3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -XIAO_ESP32C3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +XIAO_ESP32C3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +XIAO_ESP32C3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 XIAO_ESP32C3.menu.CPUFreq.160=160MHz (WiFi) XIAO_ESP32C3.menu.CPUFreq.160.build.f_cpu=160000000L @@ -32342,9 +32744,12 @@ connaxio_espoir.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 connaxio_espoir.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) connaxio_espoir.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs connaxio_espoir.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -connaxio_espoir.menu.PartitionScheme.rainmaker=RainMaker +connaxio_espoir.menu.PartitionScheme.rainmaker=RainMaker 4MB connaxio_espoir.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -connaxio_espoir.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +connaxio_espoir.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +connaxio_espoir.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +connaxio_espoir.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +connaxio_espoir.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 connaxio_espoir.menu.CPUFreq.240=240MHz (WiFi/BT) connaxio_espoir.menu.CPUFreq.240.build.f_cpu=240000000L @@ -33424,9 +33829,15 @@ unphone8.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 unphone8.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) unphone8.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs unphone8.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -unphone8.menu.PartitionScheme.rainmaker=RainMaker +unphone8.menu.PartitionScheme.rainmaker=RainMaker 4MB unphone8.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -unphone8.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +unphone8.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +unphone8.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +unphone8.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +unphone8.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +unphone8.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +unphone8.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +unphone8.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 unphone8.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS) unphone8.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB @@ -33574,9 +33985,15 @@ unphone9.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 unphone9.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) unphone9.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs unphone9.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -unphone9.menu.PartitionScheme.rainmaker=RainMaker +unphone9.menu.PartitionScheme.rainmaker=RainMaker 4MB unphone9.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -unphone9.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +unphone9.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +unphone9.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +unphone9.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +unphone9.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +unphone9.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +unphone9.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +unphone9.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 unphone9.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS) unphone9.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB @@ -34041,9 +34458,12 @@ esp32c3m1IKit.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 esp32c3m1IKit.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) esp32c3m1IKit.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs esp32c3m1IKit.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -esp32c3m1IKit.menu.PartitionScheme.rainmaker=RainMaker +esp32c3m1IKit.menu.PartitionScheme.rainmaker=RainMaker 4MB esp32c3m1IKit.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -esp32c3m1IKit.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +esp32c3m1IKit.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +esp32c3m1IKit.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +esp32c3m1IKit.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +esp32c3m1IKit.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 esp32c3m1IKit.menu.CPUFreq.160=160MHz (WiFi) esp32c3m1IKit.menu.CPUFreq.160.build.f_cpu=160000000L @@ -34154,9 +34574,12 @@ roboheart_hercules.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 roboheart_hercules.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS) roboheart_hercules.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB roboheart_hercules.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -roboheart_hercules.menu.PartitionScheme.rainmaker=RainMaker +roboheart_hercules.menu.PartitionScheme.rainmaker=RainMaker 4MB roboheart_hercules.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -roboheart_hercules.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +roboheart_hercules.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +roboheart_hercules.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +roboheart_hercules.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +roboheart_hercules.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 roboheart_hercules.menu.CPUFreq.240=240MHz (WiFi/BT) roboheart_hercules.menu.CPUFreq.240.build.f_cpu=240000000L @@ -34291,9 +34714,15 @@ VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.fatflash.upload.maximum_size=20971 VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker=RainMaker +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker=RainMaker 4MB VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +VALTRACK_V4_VTS_ESP32_C3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 VALTRACK_V4_VTS_ESP32_C3.menu.CPUFreq.160=160MHz (WiFi) VALTRACK_V4_VTS_ESP32_C3.menu.CPUFreq.160.build.f_cpu=160000000L @@ -34438,9 +34867,15 @@ VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.fatflash.upload.maximum_size=20971 VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker=RainMaker +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker=RainMaker 4MB VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +VALTRACK_V4_MFW_ESP32_C3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 VALTRACK_V4_MFW_ESP32_C3.menu.CPUFreq.160=160MHz (WiFi) VALTRACK_V4_MFW_ESP32_C3.menu.CPUFreq.160.build.f_cpu=160000000L @@ -34666,9 +35101,15 @@ Edgebox-ESP-100.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 Edgebox-ESP-100.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) Edgebox-ESP-100.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB Edgebox-ESP-100.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -Edgebox-ESP-100.menu.PartitionScheme.rainmaker=RainMaker +Edgebox-ESP-100.menu.PartitionScheme.rainmaker=RainMaker 4MB Edgebox-ESP-100.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -Edgebox-ESP-100.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +Edgebox-ESP-100.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +Edgebox-ESP-100.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 Edgebox-ESP-100.menu.CPUFreq.240=240MHz (WiFi) Edgebox-ESP-100.menu.CPUFreq.240.build.f_cpu=240000000L @@ -35031,9 +35472,15 @@ nebulas3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 nebulas3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) nebulas3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB nebulas3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -nebulas3.menu.PartitionScheme.rainmaker=RainMaker +nebulas3.menu.PartitionScheme.rainmaker=RainMaker 4MB nebulas3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -nebulas3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +nebulas3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +nebulas3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +nebulas3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +nebulas3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +nebulas3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +nebulas3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +nebulas3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 nebulas3.menu.CPUFreq.240=240MHz (WiFi) nebulas3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -35252,9 +35699,15 @@ lionbits3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 lionbits3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) lionbits3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB lionbits3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 -lionbits3.menu.PartitionScheme.rainmaker=RainMaker +lionbits3.menu.PartitionScheme.rainmaker=RainMaker 4MB lionbits3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -lionbits3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +lionbits3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +lionbits3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +lionbits3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +lionbits3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +lionbits3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +lionbits3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +lionbits3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 lionbits3.menu.CPUFreq.240=240MHz (WiFi) lionbits3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -36090,9 +36543,12 @@ ioxesp32.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 ioxesp32.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) ioxesp32.menu.PartitionScheme.fatflash.build.partitions=ffat ioxesp32.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -ioxesp32.menu.PartitionScheme.rainmaker=RainMaker +ioxesp32.menu.PartitionScheme.rainmaker=RainMaker 4MB ioxesp32.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -ioxesp32.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +ioxesp32.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +ioxesp32.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +ioxesp32.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +ioxesp32.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 ioxesp32.menu.FlashFreq.80=80MHz ioxesp32.menu.FlashFreq.80.build.flash_freq=80m @@ -36198,9 +36654,12 @@ ioxesp32ps.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 ioxesp32ps.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) ioxesp32ps.menu.PartitionScheme.fatflash.build.partitions=ffat ioxesp32ps.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 -ioxesp32ps.menu.PartitionScheme.rainmaker=RainMaker +ioxesp32ps.menu.PartitionScheme.rainmaker=RainMaker 4MB ioxesp32ps.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -ioxesp32ps.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +ioxesp32ps.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +ioxesp32ps.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +ioxesp32ps.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +ioxesp32ps.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 ioxesp32ps.menu.FlashFreq.80=80MHz ioxesp32ps.menu.FlashFreq.80.build.flash_freq=80m @@ -36366,9 +36825,15 @@ atd147_s3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 atd147_s3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) atd147_s3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs atd147_s3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -atd147_s3.menu.PartitionScheme.rainmaker=RainMaker +atd147_s3.menu.PartitionScheme.rainmaker=RainMaker 4MB atd147_s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -atd147_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +atd147_s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +atd147_s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +atd147_s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +atd147_s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +atd147_s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +atd147_s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +atd147_s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 atd147_s3.menu.CPUFreq.240=240MHz (WiFi) atd147_s3.menu.CPUFreq.240.build.f_cpu=240000000L @@ -37142,9 +37607,12 @@ epulse_feather_c6.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 epulse_feather_c6.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) epulse_feather_c6.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs epulse_feather_c6.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -epulse_feather_c6.menu.PartitionScheme.rainmaker=RainMaker +epulse_feather_c6.menu.PartitionScheme.rainmaker=RainMaker 4MB epulse_feather_c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -epulse_feather_c6.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +epulse_feather_c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +epulse_feather_c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +epulse_feather_c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +epulse_feather_c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 epulse_feather_c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs epulse_feather_c6.menu.PartitionScheme.zigbee.build.partitions=zigbee epulse_feather_c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 @@ -37804,9 +38272,15 @@ aslcanx2.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 aslcanx2.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) aslcanx2.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs aslcanx2.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -aslcanx2.menu.PartitionScheme.rainmaker=RainMaker +aslcanx2.menu.PartitionScheme.rainmaker=RainMaker 4MB aslcanx2.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -aslcanx2.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +aslcanx2.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +aslcanx2.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +aslcanx2.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +aslcanx2.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +aslcanx2.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +aslcanx2.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +aslcanx2.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 aslcanx2.menu.CPUFreq.240=240MHz (WiFi) aslcanx2.menu.CPUFreq.240.build.f_cpu=240000000L diff --git a/libraries/RainMaker/examples/README.md b/libraries/RainMaker/examples/README.md index fde16de13e8..595e82f88b7 100644 --- a/libraries/RainMaker/examples/README.md +++ b/libraries/RainMaker/examples/README.md @@ -2,11 +2,13 @@ While building any examples for ESP RainMaker, take care of the following: -1. Change partition scheme in Arduino IDE to RainMaker (Tools -> Partition Scheme -> RainMaker). +1. Change the partition scheme that fits your flash size in Arduino IDE to "RainMaker 4MB", "RainMaker 4MB no OTA" or "RainMaker 8MB" (Tools -> Partition Scheme -> RainMaker). 2. Once ESP RainMaker gets started, compulsorily call `WiFi.beginProvision()` which is responsible for user-node mapping. 3. Use the appropriate provisioning scheme as per the board. - ESP32 Board: BLE Provisioning - ESP32-C3 Board: BLE Provisioning - ESP32-S3 Board: BLE Provisioning - ESP32-S2 Board: SoftAP Provisioning -4. Set debug level to Info (Tools -> Core Debug Level -> Info). This is recommended debug level but not mandatory to run RainMaker. + - ESP32-C6 Board: BLE Provisioning + - ESP32-H2 Board: BLE Provisioning +4. Set debug level to Info (Tools -> Core Debug Level -> Info). This is the recommended debug level but not mandatory to run RainMaker. diff --git a/tools/partitions/rainmaker.csv b/tools/partitions/rainmaker.csv index 7b05378ccf7..1eabd86b827 100644 --- a/tools/partitions/rainmaker.csv +++ b/tools/partitions/rainmaker.csv @@ -4,4 +4,4 @@ otadata, data, ota, 0xe000, 0x2000, ota_0, app, ota_0, 0x10000, 0x1E0000, ota_1, app, ota_1, 0x1F0000, 0x1E0000, fctry, data, nvs, 0x3D0000, 0x6000, -coredump, data, coredump, 0x3F0000, 0x10000, +coredump, data, coredump,0x3F0000, 0x10000, diff --git a/tools/partitions/rainmaker_4MB_no_ota.csv b/tools/partitions/rainmaker_4MB_no_ota.csv new file mode 100644 index 00000000000..ec10004d158 --- /dev/null +++ b/tools/partitions/rainmaker_4MB_no_ota.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +ota_0, app, ota_0, 0x10000, 0x3DA000, +fctry, data, nvs, 0x3EA000, 0x6000, +coredump, data, coredump,0x3F0000, 0x10000, diff --git a/tools/partitions/rainmaker_8MB.csv b/tools/partitions/rainmaker_8MB.csv new file mode 100644 index 00000000000..6d65333063f --- /dev/null +++ b/tools/partitions/rainmaker_8MB.csv @@ -0,0 +1,7 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +ota_0, app, ota_0, 0x10000, 0x3ED000, +ota_1, app, ota_1, 0x3FD000, 0x3ED000, +fctry, data, nvs, 0x7EA000, 0x6000, +coredump, data, coredump,0x7F0000, 0x10000, From b91e453707800f902b4b9723a9f7330338507258 Mon Sep 17 00:00:00 2001 From: lbernstone Date: Sun, 28 Jul 2024 23:49:03 -1000 Subject: [PATCH 2/6] fix(wfcs): Replaced expired certificate for howsmyssl.com (#10063) --- .../WiFiClientSecure/WiFiClientSecure.ino | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino b/libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino index 3339068698b..0f95826decb 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino @@ -18,27 +18,37 @@ const char *server = "www.howsmyssl.com"; // Server URL // change it to your server root CA // SHA1 fingerprint is broken now! -const char *test_root_ca = "-----BEGIN CERTIFICATE-----\n" - "MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/\n" - "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n" - "DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow\n" - "PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD\n" - "Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n" - "AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O\n" - "rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq\n" - "OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b\n" - "xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw\n" - "7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD\n" - "aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\n" - "HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG\n" - "SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69\n" - "ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr\n" - "AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz\n" - "R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5\n" - "JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo\n" - "Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n" - "-----END CERTIFICATE-----\n"; - +const char *test_root_ca = R"literal( +-----BEGIN CERTIFICATE----- +MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBP +MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy +Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa +Fw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF +bmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFL +YlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a +/6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4 +FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KR +mudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3 +DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGG +MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/ +AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5 +tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG +Fmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYD +VR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0B +AQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIo +zwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfd +u6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p9 +1n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0 +GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh +1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZ +QjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N +4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyz +rsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2Ei +RmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLx +KPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54= +-----END CERTIFICATE----- +)literal"; // You can use x.509 client certificates if you want //const char* test_client_key = ""; //to verify the client //const char* test_client_cert = ""; //to verify the client From 0f1f947a72202a686e712b22899d7e995e9a7901 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 29 Jul 2024 06:49:18 -0300 Subject: [PATCH 3/6] ci(tests): Fix workflow errors (#10067) --- .github/scripts/install-arduino-cli.sh | 8 +++++++- .github/workflows/tests_hw.yml | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/scripts/install-arduino-cli.sh b/.github/scripts/install-arduino-cli.sh index 8ee0c5cd791..533b39c7ddd 100755 --- a/.github/scripts/install-arduino-cli.sh +++ b/.github/scripts/install-arduino-cli.sh @@ -41,6 +41,12 @@ fi if [ ! -d "$ARDUINO_IDE_PATH" ] || [ ! -f "$ARDUINO_IDE_PATH/arduino-cli" ]; then echo "Installing Arduino CLI on $OS_NAME ..." mkdir -p "$ARDUINO_IDE_PATH" - curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR="$ARDUINO_IDE_PATH" sh + if [ "$OS_IS_WINDOWS" == "1" ]; then + curl -fsSL https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip -o arduino-cli.zip + unzip -q arduino-cli.zip -d "$ARDUINO_IDE_PATH" + rm arduino-cli.zip + else + curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR="$ARDUINO_IDE_PATH" sh + fi fi diff --git a/.github/workflows/tests_hw.yml b/.github/workflows/tests_hw.yml index e6e1f7a3251..ec0619685b2 100644 --- a/.github/workflows/tests_hw.yml +++ b/.github/workflows/tests_hw.yml @@ -12,6 +12,13 @@ on: description: 'Chip to run tests for' required: true +env: + DEBIAN_FRONTEND: noninteractive + +defaults: + run: + shell: bash + jobs: hardware-test: name: Hardware ${{ inputs.chip }} ${{ inputs.type }} tests @@ -48,6 +55,13 @@ jobs: - name: Checkout user repository if: ${{ steps.check-tests.outputs.enabled == 'true' }} uses: actions/checkout@v4 + with: + sparse-checkout: | + * + + - name: List files + if: ${{ steps.check-tests.outputs.enabled == 'true' }} + run: ls -la # setup-python currently only works on ubuntu images # - uses: actions/setup-python@v5 From b33fbca9b77aa06f61bdaf8103fe22444618049d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 29 Jul 2024 11:49:45 +0200 Subject: [PATCH 4/6] fix(gpio): Add missing include for digitalPinCanOutput (#10070) --- cores/esp32/esp32-hal-gpio.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cores/esp32/esp32-hal-gpio.h b/cores/esp32/esp32-hal-gpio.h index f92209cc29e..4547d90cc56 100644 --- a/cores/esp32/esp32-hal-gpio.h +++ b/cores/esp32/esp32-hal-gpio.h @@ -27,6 +27,7 @@ extern "C" { #include "esp32-hal.h" #include "soc/soc_caps.h" #include "pins_arduino.h" +#include "driver/gpio.h" #if (CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3) #define NUM_OUPUT_PINS 46 From 9e01ebdb3aa628d568f8e5d34a437fbceb826082 Mon Sep 17 00:00:00 2001 From: Xylopyrographer Date: Mon, 29 Jul 2024 03:50:47 -0600 Subject: [PATCH 5/6] feat(board): add Waveshare ESP32-S3-Matrix (#10072) * feat(board) add Waveshare ESP32-S3-Matrix Adds support for the Waveshare ESP32-S3-Matrix board. Includes changes to the Rainmaker partitions as per PR #10046 . * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 195 ++++++++++++++++++ .../partitions_all_app_4MB.csv | 3 + .../partitions_otanofs_4MB.csv | 6 + variants/ws_esp32_s3_matrix/pins_arduino.h | 77 +++++++ 4 files changed, 281 insertions(+) mode change 100644 => 100755 boards.txt create mode 100755 variants/ws_esp32_s3_matrix/partitions_all_app_4MB.csv create mode 100755 variants/ws_esp32_s3_matrix/partitions_otanofs_4MB.csv create mode 100644 variants/ws_esp32_s3_matrix/pins_arduino.h diff --git a/boards.txt b/boards.txt old mode 100644 new mode 100755 index a509ee26047..baa6aac9e34 --- a/boards.txt +++ b/boards.txt @@ -37830,6 +37830,201 @@ Geekble_ESP32C3.menu.EraseFlash.none.upload.erase_cmd= Geekble_ESP32C3.menu.EraseFlash.all=Enabled Geekble_ESP32C3.menu.EraseFlash.all.upload.erase_cmd=-e +###################################################### + +ws_esp32_s3_matrix.name=Waveshare ESP32-S3-Matrix +ws_esp32_s3_matrix.vid.0=0x303a +ws_esp32_s3_matrix.pid.0=0x81FB +ws_esp32_s3_matrix.upload_port.0.vid=0x303a +ws_esp32_s3_matrix.upload_port.0.pid=0x81FB + +ws_esp32_s3_matrix.bootloader.tool=esptool_py +ws_esp32_s3_matrix.bootloader.tool.default=esptool_py + +ws_esp32_s3_matrix.upload.tool=esptool_py +ws_esp32_s3_matrix.upload.tool.default=esptool_py +ws_esp32_s3_matrix.upload.tool.network=esp_ota + +ws_esp32_s3_matrix.upload.maximum_size=1310720 + +ws_esp32_s3_matrix.upload.maximum_data_size=327680 +ws_esp32_s3_matrix.upload.flags= +ws_esp32_s3_matrix.upload.extra_flags= +ws_esp32_s3_matrix.upload.use_1200bps_touch=false +ws_esp32_s3_matrix.upload.wait_for_upload_port=false + +ws_esp32_s3_matrix.serial.disableDTR=false +ws_esp32_s3_matrix.serial.disableRTS=false + +ws_esp32_s3_matrix.build.tarch=xtensa +ws_esp32_s3_matrix.build.bootloader_addr=0x0 +ws_esp32_s3_matrix.build.target=esp32s3 +ws_esp32_s3_matrix.build.mcu=esp32s3 +ws_esp32_s3_matrix.build.core=esp32 +ws_esp32_s3_matrix.build.variant=ws_esp32_s3_matrix +ws_esp32_s3_matrix.build.board=WS_ESP32_S3_MATRIX + +ws_esp32_s3_matrix.build.usb_mode=1 +ws_esp32_s3_matrix.build.cdc_on_boot=0 +ws_esp32_s3_matrix.build.msc_on_boot=0 +ws_esp32_s3_matrix.build.dfu_on_boot=0 +ws_esp32_s3_matrix.build.f_cpu=240000000L +ws_esp32_s3_matrix.build.flash_size=4MB +ws_esp32_s3_matrix.build.flash_freq=80m +ws_esp32_s3_matrix.build.flash_mode=dio +ws_esp32_s3_matrix.build.boot=qio +ws_esp32_s3_matrix.build.boot_freq=80m +ws_esp32_s3_matrix.build.partitions=default +ws_esp32_s3_matrix.build.defines= +ws_esp32_s3_matrix.build.loop_core= +ws_esp32_s3_matrix.build.event_core= +ws_esp32_s3_matrix.build.psram_type=qspi +ws_esp32_s3_matrix.build.memory_type={build.boot}_{build.psram_type} + +ws_esp32_s3_matrix.menu.PSRAM.disabled=Disabled +ws_esp32_s3_matrix.menu.PSRAM.disabled.build.defines= +ws_esp32_s3_matrix.menu.PSRAM.disabled.build.psram_type=qspi +ws_esp32_s3_matrix.menu.PSRAM.enabled=Enabled +ws_esp32_s3_matrix.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +ws_esp32_s3_matrix.menu.PSRAM.enabled.build.psram_type=qspi + +ws_esp32_s3_matrix.menu.FlashMode.qio=QIO 80MHz +ws_esp32_s3_matrix.menu.FlashMode.qio.build.flash_mode=dio +ws_esp32_s3_matrix.menu.FlashMode.qio.build.boot=qio +ws_esp32_s3_matrix.menu.FlashMode.qio.build.boot_freq=80m +ws_esp32_s3_matrix.menu.FlashMode.qio.build.flash_freq=80m +ws_esp32_s3_matrix.menu.FlashMode.qio120=QIO 120MHz +ws_esp32_s3_matrix.menu.FlashMode.qio120.build.flash_mode=dio +ws_esp32_s3_matrix.menu.FlashMode.qio120.build.boot=qio +ws_esp32_s3_matrix.menu.FlashMode.qio120.build.boot_freq=120m +ws_esp32_s3_matrix.menu.FlashMode.qio120.build.flash_freq=80m + +ws_esp32_s3_matrix.menu.FlashSize.4M=4MB (32Mb) +ws_esp32_s3_matrix.menu.FlashSize.4M.build.flash_size=4MB + +ws_esp32_s3_matrix.menu.LoopCore.1=Core 1 +ws_esp32_s3_matrix.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +ws_esp32_s3_matrix.menu.LoopCore.0=Core 0 +ws_esp32_s3_matrix.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +ws_esp32_s3_matrix.menu.EventsCore.1=Core 1 +ws_esp32_s3_matrix.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +ws_esp32_s3_matrix.menu.EventsCore.0=Core 0 +ws_esp32_s3_matrix.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +ws_esp32_s3_matrix.menu.USBMode.hwcdc=Hardware CDC and JTAG +ws_esp32_s3_matrix.menu.USBMode.hwcdc.build.usb_mode=1 +ws_esp32_s3_matrix.menu.USBMode.default=USB-OTG (TinyUSB) +ws_esp32_s3_matrix.menu.USBMode.default.build.usb_mode=0 + +ws_esp32_s3_matrix.menu.CDCOnBoot.default=Disabled +ws_esp32_s3_matrix.menu.CDCOnBoot.default.build.cdc_on_boot=0 +ws_esp32_s3_matrix.menu.CDCOnBoot.cdc=Enabled +ws_esp32_s3_matrix.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +ws_esp32_s3_matrix.menu.MSCOnBoot.default=Disabled +ws_esp32_s3_matrix.menu.MSCOnBoot.default.build.msc_on_boot=0 +ws_esp32_s3_matrix.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +ws_esp32_s3_matrix.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +ws_esp32_s3_matrix.menu.DFUOnBoot.default=Disabled +ws_esp32_s3_matrix.menu.DFUOnBoot.default.build.dfu_on_boot=0 +ws_esp32_s3_matrix.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +ws_esp32_s3_matrix.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +ws_esp32_s3_matrix.menu.UploadMode.default=UART0 / Hardware CDC +ws_esp32_s3_matrix.menu.UploadMode.default.upload.use_1200bps_touch=false +ws_esp32_s3_matrix.menu.UploadMode.default.upload.wait_for_upload_port=false +ws_esp32_s3_matrix.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +ws_esp32_s3_matrix.menu.UploadMode.cdc.upload.use_1200bps_touch=true +ws_esp32_s3_matrix.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +ws_esp32_s3_matrix.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +ws_esp32_s3_matrix.menu.PartitionScheme.default.build.partitions=default +ws_esp32_s3_matrix.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +ws_esp32_s3_matrix.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +ws_esp32_s3_matrix.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +ws_esp32_s3_matrix.menu.PartitionScheme.no_ota.build.partitions=no_ota +ws_esp32_s3_matrix.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +ws_esp32_s3_matrix.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +ws_esp32_s3_matrix.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +ws_esp32_s3_matrix.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +ws_esp32_s3_matrix.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +ws_esp32_s3_matrix.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +ws_esp32_s3_matrix.menu.PartitionScheme.huge_app.build.partitions=huge_app +ws_esp32_s3_matrix.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +ws_esp32_s3_matrix.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +ws_esp32_s3_matrix.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +ws_esp32_s3_matrix.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker=RainMaker 4MB +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +ws_esp32_s3_matrix.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 + +ws_esp32_s3_matrix.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +ws_esp32_s3_matrix.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +ws_esp32_s3_matrix.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +ws_esp32_s3_matrix.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +ws_esp32_s3_matrix.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +ws_esp32_s3_matrix.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +ws_esp32_s3_matrix.menu.PartitionScheme.custom=Custom +ws_esp32_s3_matrix.menu.PartitionScheme.custom.build.partitions= +ws_esp32_s3_matrix.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +ws_esp32_s3_matrix.menu.CPUFreq.240=240MHz (WiFi) +ws_esp32_s3_matrix.menu.CPUFreq.240.build.f_cpu=240000000L +ws_esp32_s3_matrix.menu.CPUFreq.160=160MHz (WiFi) +ws_esp32_s3_matrix.menu.CPUFreq.160.build.f_cpu=160000000L +ws_esp32_s3_matrix.menu.CPUFreq.80=80MHz (WiFi) +ws_esp32_s3_matrix.menu.CPUFreq.80.build.f_cpu=80000000L +ws_esp32_s3_matrix.menu.CPUFreq.40=40MHz +ws_esp32_s3_matrix.menu.CPUFreq.40.build.f_cpu=40000000L +ws_esp32_s3_matrix.menu.CPUFreq.20=20MHz +ws_esp32_s3_matrix.menu.CPUFreq.20.build.f_cpu=20000000L +ws_esp32_s3_matrix.menu.CPUFreq.10=10MHz +ws_esp32_s3_matrix.menu.CPUFreq.10.build.f_cpu=10000000L + +ws_esp32_s3_matrix.menu.UploadSpeed.921600=921600 +ws_esp32_s3_matrix.menu.UploadSpeed.921600.upload.speed=921600 +ws_esp32_s3_matrix.menu.UploadSpeed.115200=115200 +ws_esp32_s3_matrix.menu.UploadSpeed.115200.upload.speed=115200 +ws_esp32_s3_matrix.menu.UploadSpeed.256000.windows=256000 +ws_esp32_s3_matrix.menu.UploadSpeed.256000.upload.speed=256000 +ws_esp32_s3_matrix.menu.UploadSpeed.230400.windows.upload.speed=256000 +ws_esp32_s3_matrix.menu.UploadSpeed.230400=230400 +ws_esp32_s3_matrix.menu.UploadSpeed.230400.upload.speed=230400 +ws_esp32_s3_matrix.menu.UploadSpeed.460800.linux=460800 +ws_esp32_s3_matrix.menu.UploadSpeed.460800.macosx=460800 +ws_esp32_s3_matrix.menu.UploadSpeed.460800.upload.speed=460800 +ws_esp32_s3_matrix.menu.UploadSpeed.512000.windows=512000 +ws_esp32_s3_matrix.menu.UploadSpeed.512000.upload.speed=512000 + +ws_esp32_s3_matrix.menu.DebugLevel.none=None +ws_esp32_s3_matrix.menu.DebugLevel.none.build.code_debug=0 +ws_esp32_s3_matrix.menu.DebugLevel.error=Error +ws_esp32_s3_matrix.menu.DebugLevel.error.build.code_debug=1 +ws_esp32_s3_matrix.menu.DebugLevel.warn=Warn +ws_esp32_s3_matrix.menu.DebugLevel.warn.build.code_debug=2 +ws_esp32_s3_matrix.menu.DebugLevel.info=Info +ws_esp32_s3_matrix.menu.DebugLevel.info.build.code_debug=3 +ws_esp32_s3_matrix.menu.DebugLevel.debug=Debug +ws_esp32_s3_matrix.menu.DebugLevel.debug.build.code_debug=4 +ws_esp32_s3_matrix.menu.DebugLevel.verbose=Verbose +ws_esp32_s3_matrix.menu.DebugLevel.verbose.build.code_debug=5 + +ws_esp32_s3_matrix.menu.EraseFlash.none=Disabled +ws_esp32_s3_matrix.menu.EraseFlash.none.upload.erase_cmd= +ws_esp32_s3_matrix.menu.EraseFlash.all=Enabled +ws_esp32_s3_matrix.menu.EraseFlash.all.upload.erase_cmd=-e + ############################################################## waveshare_esp32s3_touch_lcd_128.name=Waveshare ESP32S3 Touch LCD 128 diff --git a/variants/ws_esp32_s3_matrix/partitions_all_app_4MB.csv b/variants/ws_esp32_s3_matrix/partitions_all_app_4MB.csv new file mode 100755 index 00000000000..25eeb8c7d47 --- /dev/null +++ b/variants/ws_esp32_s3_matrix/partitions_all_app_4MB.csv @@ -0,0 +1,3 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +factory, app, factory, 0x10000, 0x3F0000, diff --git a/variants/ws_esp32_s3_matrix/partitions_otanofs_4MB.csv b/variants/ws_esp32_s3_matrix/partitions_otanofs_4MB.csv new file mode 100755 index 00000000000..04240badb49 --- /dev/null +++ b/variants/ws_esp32_s3_matrix/partitions_otanofs_4MB.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags + nvs, data, nvs, 0x9000, 0x5000, + otadata, data, ota, 0xE000, 0x2000, + app0, app, ota_0, 0x10000, 0x1F0000, + app1, app, ota_1, 0x200000, 0x1F0000, +coredump, data, coredump, 0x3F0000, 0x10000, diff --git a/variants/ws_esp32_s3_matrix/pins_arduino.h b/variants/ws_esp32_s3_matrix/pins_arduino.h new file mode 100644 index 00000000000..ab067055c8e --- /dev/null +++ b/variants/ws_esp32_s3_matrix/pins_arduino.h @@ -0,0 +1,77 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x1001 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Matrix" +#define USB_SERIAL "" + +// Onboard 8 x 8 Matrix panel +#define WS_MATRIX_DIN 14 + +// Onboard QMI8658 IMU +#define WS_IMU_SDA 11 +#define WS_IMU_SCL 12 +#define WS_IMU_ADDRESS 0x6B +#define WS_IMU_INT1 10 +#define WS_IMU_INT2 13 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 12; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ From f5be003d0b25c18e4de5bfab72298092ba3d58a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 29 Jul 2024 12:09:22 +0200 Subject: [PATCH 6/6] fix(timer): Add check to avoid crashing (#10069) --- cores/esp32/esp32-hal-timer.c | 70 +++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 11 deletions(-) diff --git a/cores/esp32/esp32-hal-timer.c b/cores/esp32/esp32-hal-timer.c index 56f58529ec4..b260ac32be2 100644 --- a/cores/esp32/esp32-hal-timer.c +++ b/cores/esp32/esp32-hal-timer.c @@ -37,17 +37,28 @@ struct timer_struct_t { }; inline uint64_t timerRead(hw_timer_t *timer) { - + if (timer == NULL) { + log_e("Timer handle is NULL"); + return 0; + } uint64_t value; gptimer_get_raw_count(timer->timer_handle, &value); return value; } void timerWrite(hw_timer_t *timer, uint64_t val) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } gptimer_set_raw_count(timer->timer_handle, val); } void timerAlarm(hw_timer_t *timer, uint64_t alarm_value, bool autoreload, uint64_t reload_count) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } esp_err_t err = ESP_OK; gptimer_alarm_config_t alarm_cfg = { .alarm_count = alarm_value, @@ -61,22 +72,37 @@ void timerAlarm(hw_timer_t *timer, uint64_t alarm_value, bool autoreload, uint64 } uint32_t timerGetFrequency(hw_timer_t *timer) { + if (timer == NULL) { + return 0; + } uint32_t frequency; gptimer_get_resolution(timer->timer_handle, &frequency); return frequency; } void timerStart(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } gptimer_start(timer->timer_handle); timer->timer_started = true; } void timerStop(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } gptimer_stop(timer->timer_handle); timer->timer_started = false; } void timerRestart(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } gptimer_set_raw_count(timer->timer_handle, 0); } @@ -129,17 +155,19 @@ hw_timer_t *timerBegin(uint32_t frequency) { } void timerEnd(hw_timer_t *timer) { - esp_err_t err = ESP_OK; - if (timer->timer_started == true) { - gptimer_stop(timer->timer_handle); - } - gptimer_disable(timer->timer_handle); - err = gptimer_del_timer(timer->timer_handle); - if (err != ESP_OK) { - log_e("Failed to destroy GPTimer, error num=%d", err); - return; + if (timer != NULL) { + esp_err_t err = ESP_OK; + if (timer->timer_started == true) { + gptimer_stop(timer->timer_handle); + } + gptimer_disable(timer->timer_handle); + err = gptimer_del_timer(timer->timer_handle); + if (err != ESP_OK) { + log_e("Failed to destroy GPTimer, error num=%d", err); + return; + } + free(timer); } - free(timer); } bool IRAM_ATTR timerFnWrapper(gptimer_handle_t timer, const gptimer_alarm_event_data_t *edata, void *args) { @@ -156,6 +184,10 @@ bool IRAM_ATTR timerFnWrapper(gptimer_handle_t timer, const gptimer_alarm_event_ } void timerAttachInterruptFunctionalArg(hw_timer_t *timer, void (*userFunc)(void *), void *arg) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } esp_err_t err = ESP_OK; gptimer_event_callbacks_t cbs = { .on_alarm = timerFnWrapper, @@ -187,6 +219,10 @@ void timerAttachInterrupt(hw_timer_t *timer, voidFuncPtr userFunc) { } void timerDetachInterrupt(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return; + } esp_err_t err = ESP_OK; err = gptimer_set_alarm_action(timer->timer_handle, NULL); timer->interrupt_handle.fn = NULL; @@ -197,18 +233,30 @@ void timerDetachInterrupt(hw_timer_t *timer) { } uint64_t timerReadMicros(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return 0; + } uint64_t timer_val = timerRead(timer); uint32_t frequency = timerGetFrequency(timer); return timer_val * 1000000 / frequency; } uint64_t timerReadMilis(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return 0; + } uint64_t timer_val = timerRead(timer); uint32_t frequency = timerGetFrequency(timer); return timer_val * 1000 / frequency; } double timerReadSeconds(hw_timer_t *timer) { + if (timer == NULL) { + log_e("Timer handle is NULL"); + return 0; + } uint64_t timer_val = timerRead(timer); uint32_t frequency = timerGetFrequency(timer); return (double)timer_val / frequency;