diff --git a/boards.txt b/boards.txt index 7204ffdca5..c3bedfd6f8 100644 --- a/boards.txt +++ b/boards.txt @@ -1,8 +1,5 @@ -# -# Do not create pull-requests for this file only, CI will not accept them. -# You *must* edit/modify/run boards.txt.py to regenerate boards.txt. -# All modified files after running with option "--allgen" must be included in the pull-request. -# +# DO NOT EDIT - autogenerated by boards.txt.py +# Command line `boards.txt.py generate --all` menu.BoardModel=Model menu.ESPModule=Module @@ -111,212 +108,234 @@ generic.menu.FlashMode.qout.build.flash_flags=-DFLASHMODE_QOUT generic.menu.FlashMode.qio=QIO (fast) generic.menu.FlashMode.qio.build.flash_mode=qio generic.menu.FlashMode.qio.build.flash_flags=-DFLASHMODE_QIO -generic.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +generic.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) generic.menu.eesz.1M64.build.flash_size=1M generic.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -generic.menu.eesz.1M64.build.spiffs_pagesize=256 generic.menu.eesz.1M64.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M64.upload.maximum_size=1044464 generic.menu.eesz.1M64.build.spiffs_start=0xEB000 generic.menu.eesz.1M64.build.spiffs_end=0xFB000 generic.menu.eesz.1M64.build.spiffs_blocksize=4096 -generic.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +generic.menu.eesz.1M64.build.spiffs_pagesize=256 +generic.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) generic.menu.eesz.1M128.build.flash_size=1M generic.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -generic.menu.eesz.1M128.build.spiffs_pagesize=256 generic.menu.eesz.1M128.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M128.upload.maximum_size=1044464 generic.menu.eesz.1M128.build.spiffs_start=0xDB000 generic.menu.eesz.1M128.build.spiffs_end=0xFB000 generic.menu.eesz.1M128.build.spiffs_blocksize=4096 -generic.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +generic.menu.eesz.1M128.build.spiffs_pagesize=256 +generic.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) generic.menu.eesz.1M144.build.flash_size=1M generic.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -generic.menu.eesz.1M144.build.spiffs_pagesize=256 generic.menu.eesz.1M144.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M144.upload.maximum_size=1044464 generic.menu.eesz.1M144.build.spiffs_start=0xD7000 generic.menu.eesz.1M144.build.spiffs_end=0xFB000 generic.menu.eesz.1M144.build.spiffs_blocksize=4096 -generic.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +generic.menu.eesz.1M144.build.spiffs_pagesize=256 +generic.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) generic.menu.eesz.1M160.build.flash_size=1M generic.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -generic.menu.eesz.1M160.build.spiffs_pagesize=256 generic.menu.eesz.1M160.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M160.upload.maximum_size=1044464 generic.menu.eesz.1M160.build.spiffs_start=0xD3000 generic.menu.eesz.1M160.build.spiffs_end=0xFB000 generic.menu.eesz.1M160.build.spiffs_blocksize=4096 -generic.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +generic.menu.eesz.1M160.build.spiffs_pagesize=256 +generic.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) generic.menu.eesz.1M192.build.flash_size=1M generic.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -generic.menu.eesz.1M192.build.spiffs_pagesize=256 generic.menu.eesz.1M192.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M192.upload.maximum_size=1044464 generic.menu.eesz.1M192.build.spiffs_start=0xCB000 generic.menu.eesz.1M192.build.spiffs_end=0xFB000 generic.menu.eesz.1M192.build.spiffs_blocksize=4096 -generic.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +generic.menu.eesz.1M192.build.spiffs_pagesize=256 +generic.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) generic.menu.eesz.1M256.build.flash_size=1M generic.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -generic.menu.eesz.1M256.build.spiffs_pagesize=256 generic.menu.eesz.1M256.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M256.upload.maximum_size=1044464 generic.menu.eesz.1M256.build.spiffs_start=0xBB000 generic.menu.eesz.1M256.build.spiffs_end=0xFB000 generic.menu.eesz.1M256.build.spiffs_blocksize=4096 -generic.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +generic.menu.eesz.1M256.build.spiffs_pagesize=256 +generic.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) generic.menu.eesz.1M512.build.flash_size=1M generic.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -generic.menu.eesz.1M512.build.spiffs_pagesize=256 generic.menu.eesz.1M512.build.rfcal_addr=0xFC000 +generic.menu.eesz.1M512.upload.maximum_size=1044464 generic.menu.eesz.1M512.build.spiffs_start=0x7B000 generic.menu.eesz.1M512.build.spiffs_end=0xFB000 generic.menu.eesz.1M512.build.spiffs_blocksize=8192 -generic.menu.eesz.1M=1MB (FS:none OTA:~502KB) +generic.menu.eesz.1M512.build.spiffs_pagesize=256 +generic.menu.eesz.1M=1MB (FS:none OTA:~499KB) generic.menu.eesz.1M.build.flash_size=1M generic.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -generic.menu.eesz.1M.build.spiffs_pagesize=256 generic.menu.eesz.1M.build.rfcal_addr=0xFC000 -generic.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +generic.menu.eesz.1M.upload.maximum_size=1044464 +generic.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) generic.menu.eesz.2M64.build.flash_size=2M generic.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -generic.menu.eesz.2M64.build.spiffs_pagesize=256 generic.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +generic.menu.eesz.2M64.upload.maximum_size=1044464 generic.menu.eesz.2M64.build.spiffs_start=0x1F0000 generic.menu.eesz.2M64.build.spiffs_end=0x1FB000 generic.menu.eesz.2M64.build.spiffs_blocksize=4096 -generic.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +generic.menu.eesz.2M64.build.spiffs_pagesize=256 +generic.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) generic.menu.eesz.2M128.build.flash_size=2M generic.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -generic.menu.eesz.2M128.build.spiffs_pagesize=256 generic.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +generic.menu.eesz.2M128.upload.maximum_size=1044464 generic.menu.eesz.2M128.build.spiffs_start=0x1E0000 generic.menu.eesz.2M128.build.spiffs_end=0x1FB000 generic.menu.eesz.2M128.build.spiffs_blocksize=4096 -generic.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +generic.menu.eesz.2M128.build.spiffs_pagesize=256 +generic.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) generic.menu.eesz.2M256.build.flash_size=2M generic.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -generic.menu.eesz.2M256.build.spiffs_pagesize=256 generic.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +generic.menu.eesz.2M256.upload.maximum_size=1044464 generic.menu.eesz.2M256.build.spiffs_start=0x1C0000 generic.menu.eesz.2M256.build.spiffs_end=0x1FB000 generic.menu.eesz.2M256.build.spiffs_blocksize=4096 -generic.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +generic.menu.eesz.2M256.build.spiffs_pagesize=256 +generic.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) generic.menu.eesz.2M512.build.flash_size=2M generic.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -generic.menu.eesz.2M512.build.spiffs_pagesize=256 generic.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +generic.menu.eesz.2M512.upload.maximum_size=1044464 generic.menu.eesz.2M512.build.spiffs_start=0x180000 generic.menu.eesz.2M512.build.spiffs_end=0x1FA000 generic.menu.eesz.2M512.build.spiffs_blocksize=8192 -generic.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +generic.menu.eesz.2M512.build.spiffs_pagesize=256 +generic.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) generic.menu.eesz.2M1M.build.flash_size=2M generic.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -generic.menu.eesz.2M1M.build.spiffs_pagesize=256 generic.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +generic.menu.eesz.2M1M.upload.maximum_size=1044464 generic.menu.eesz.2M1M.build.spiffs_start=0x100000 generic.menu.eesz.2M1M.build.spiffs_end=0x1FA000 generic.menu.eesz.2M1M.build.spiffs_blocksize=8192 -generic.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +generic.menu.eesz.2M1M.build.spiffs_pagesize=256 +generic.menu.eesz.2M=2MB (FS:none OTA:~1004KB) generic.menu.eesz.2M.build.flash_size=2M generic.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -generic.menu.eesz.2M.build.spiffs_pagesize=256 generic.menu.eesz.2M.build.rfcal_addr=0x1FC000 -generic.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +generic.menu.eesz.2M.upload.maximum_size=1044464 +generic.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) generic.menu.eesz.4M2M.build.flash_size=4M generic.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -generic.menu.eesz.4M2M.build.spiffs_pagesize=256 generic.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +generic.menu.eesz.4M2M.upload.maximum_size=1044464 generic.menu.eesz.4M2M.build.spiffs_start=0x200000 generic.menu.eesz.4M2M.build.spiffs_end=0x3FA000 generic.menu.eesz.4M2M.build.spiffs_blocksize=8192 -generic.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +generic.menu.eesz.4M2M.build.spiffs_pagesize=256 +generic.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) generic.menu.eesz.4M3M.build.flash_size=4M generic.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -generic.menu.eesz.4M3M.build.spiffs_pagesize=256 generic.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +generic.menu.eesz.4M3M.upload.maximum_size=1044464 generic.menu.eesz.4M3M.build.spiffs_start=0x100000 generic.menu.eesz.4M3M.build.spiffs_end=0x3FA000 generic.menu.eesz.4M3M.build.spiffs_blocksize=8192 -generic.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +generic.menu.eesz.4M3M.build.spiffs_pagesize=256 +generic.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) generic.menu.eesz.4M1M.build.flash_size=4M generic.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -generic.menu.eesz.4M1M.build.spiffs_pagesize=256 generic.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +generic.menu.eesz.4M1M.upload.maximum_size=1044464 generic.menu.eesz.4M1M.build.spiffs_start=0x300000 generic.menu.eesz.4M1M.build.spiffs_end=0x3FA000 generic.menu.eesz.4M1M.build.spiffs_blocksize=8192 -generic.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +generic.menu.eesz.4M1M.build.spiffs_pagesize=256 +generic.menu.eesz.4M=4MB (FS:none OTA:~3052KB) generic.menu.eesz.4M.build.flash_size=4M generic.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -generic.menu.eesz.4M.build.spiffs_pagesize=256 generic.menu.eesz.4M.build.rfcal_addr=0x3FC000 -generic.menu.eesz.8M6M=8MB (FS:6MB OTA:~1019KB) +generic.menu.eesz.4M.upload.maximum_size=1044464 +generic.menu.eesz.8M6M=8MB (FS:6120KB OTA:~1MB) generic.menu.eesz.8M6M.build.flash_size=8M generic.menu.eesz.8M6M.build.flash_ld=eagle.flash.8m6m.ld -generic.menu.eesz.8M6M.build.spiffs_pagesize=256 generic.menu.eesz.8M6M.build.rfcal_addr=0x7FC000 +generic.menu.eesz.8M6M.upload.maximum_size=1044464 generic.menu.eesz.8M6M.build.spiffs_start=0x200000 generic.menu.eesz.8M6M.build.spiffs_end=0x7FA000 generic.menu.eesz.8M6M.build.spiffs_blocksize=8192 -generic.menu.eesz.8M7M=8MB (FS:7MB OTA:~512KB) +generic.menu.eesz.8M6M.build.spiffs_pagesize=256 +generic.menu.eesz.8M7M=8MB (FS:7144KB OTA:~509KB) generic.menu.eesz.8M7M.build.flash_size=8M generic.menu.eesz.8M7M.build.flash_ld=eagle.flash.8m7m.ld -generic.menu.eesz.8M7M.build.spiffs_pagesize=256 generic.menu.eesz.8M7M.build.rfcal_addr=0x7FC000 +generic.menu.eesz.8M7M.upload.maximum_size=1044464 generic.menu.eesz.8M7M.build.spiffs_start=0x100000 generic.menu.eesz.8M7M.build.spiffs_end=0x7FA000 generic.menu.eesz.8M7M.build.spiffs_blocksize=8192 -generic.menu.eesz.8M=8MB (FS:none OTA:~1019KB) +generic.menu.eesz.8M7M.build.spiffs_pagesize=256 +generic.menu.eesz.8M=8MB (FS:none OTA:~7148KB) generic.menu.eesz.8M.build.flash_size=8M generic.menu.eesz.8M.build.flash_ld=eagle.flash.8m.ld -generic.menu.eesz.8M.build.spiffs_pagesize=256 generic.menu.eesz.8M.build.rfcal_addr=0x7FC000 -generic.menu.eesz.16M14M=16MB (FS:14MB OTA:~1019KB) +generic.menu.eesz.8M.upload.maximum_size=1044464 +generic.menu.eesz.16M14M=16MB (FS:13MB OTA:~1MB) generic.menu.eesz.16M14M.build.flash_size=16M generic.menu.eesz.16M14M.build.flash_ld=eagle.flash.16m14m.ld -generic.menu.eesz.16M14M.build.spiffs_pagesize=256 generic.menu.eesz.16M14M.build.rfcal_addr=0xFFC000 +generic.menu.eesz.16M14M.upload.maximum_size=1044464 generic.menu.eesz.16M14M.build.spiffs_start=0x200000 generic.menu.eesz.16M14M.build.spiffs_end=0xFFA000 generic.menu.eesz.16M14M.build.spiffs_blocksize=8192 -generic.menu.eesz.16M15M=16MB (FS:15MB OTA:~512KB) +generic.menu.eesz.16M14M.build.spiffs_pagesize=256 +generic.menu.eesz.16M15M=16MB (FS:14MB OTA:~509KB) generic.menu.eesz.16M15M.build.flash_size=16M generic.menu.eesz.16M15M.build.flash_ld=eagle.flash.16m15m.ld -generic.menu.eesz.16M15M.build.spiffs_pagesize=256 generic.menu.eesz.16M15M.build.rfcal_addr=0xFFC000 +generic.menu.eesz.16M15M.upload.maximum_size=1044464 generic.menu.eesz.16M15M.build.spiffs_start=0x100000 generic.menu.eesz.16M15M.build.spiffs_end=0xFFA000 generic.menu.eesz.16M15M.build.spiffs_blocksize=8192 -generic.menu.eesz.16M=16MB (FS:none OTA:~1019KB) +generic.menu.eesz.16M15M.build.spiffs_pagesize=256 +generic.menu.eesz.16M=16MB (FS:none OTA:~14MB) generic.menu.eesz.16M.build.flash_size=16M generic.menu.eesz.16M.build.flash_ld=eagle.flash.16m.ld -generic.menu.eesz.16M.build.spiffs_pagesize=256 generic.menu.eesz.16M.build.rfcal_addr=0xFFC000 -generic.menu.eesz.512K32=512KB (FS:32KB OTA:~230KB) +generic.menu.eesz.16M.upload.maximum_size=1044464 +generic.menu.eesz.512K32=512KB (FS:32KB OTA:~227KB) generic.menu.eesz.512K32.build.flash_size=512K generic.menu.eesz.512K32.build.flash_ld=eagle.flash.512k32.ld -generic.menu.eesz.512K32.build.spiffs_pagesize=256 generic.menu.eesz.512K32.build.rfcal_addr=0x7C000 +generic.menu.eesz.512K32.upload.maximum_size=520176 generic.menu.eesz.512K32.build.spiffs_start=0x73000 generic.menu.eesz.512K32.build.spiffs_end=0x7B000 generic.menu.eesz.512K32.build.spiffs_blocksize=4096 -generic.menu.eesz.512K64=512KB (FS:64KB OTA:~214KB) +generic.menu.eesz.512K32.build.spiffs_pagesize=256 +generic.menu.eesz.512K64=512KB (FS:64KB OTA:~211KB) generic.menu.eesz.512K64.build.flash_size=512K generic.menu.eesz.512K64.build.flash_ld=eagle.flash.512k64.ld -generic.menu.eesz.512K64.build.spiffs_pagesize=256 generic.menu.eesz.512K64.build.rfcal_addr=0x7C000 +generic.menu.eesz.512K64.upload.maximum_size=520176 generic.menu.eesz.512K64.build.spiffs_start=0x6B000 generic.menu.eesz.512K64.build.spiffs_end=0x7B000 generic.menu.eesz.512K64.build.spiffs_blocksize=4096 -generic.menu.eesz.512K128=512KB (FS:128KB OTA:~182KB) +generic.menu.eesz.512K64.build.spiffs_pagesize=256 +generic.menu.eesz.512K128=512KB (FS:128KB OTA:~179KB) generic.menu.eesz.512K128.build.flash_size=512K generic.menu.eesz.512K128.build.flash_ld=eagle.flash.512k128.ld -generic.menu.eesz.512K128.build.spiffs_pagesize=256 generic.menu.eesz.512K128.build.rfcal_addr=0x7C000 +generic.menu.eesz.512K128.upload.maximum_size=520176 generic.menu.eesz.512K128.build.spiffs_start=0x5B000 generic.menu.eesz.512K128.build.spiffs_end=0x7B000 generic.menu.eesz.512K128.build.spiffs_blocksize=4096 -generic.menu.eesz.512K=512KB (FS:none OTA:~246KB) +generic.menu.eesz.512K128.build.spiffs_pagesize=256 +generic.menu.eesz.512K=512KB (FS:none OTA:~243KB) generic.menu.eesz.512K.build.flash_size=512K generic.menu.eesz.512K.build.flash_ld=eagle.flash.512k.ld -generic.menu.eesz.512K.build.spiffs_pagesize=256 generic.menu.eesz.512K.build.rfcal_addr=0x7C000 +generic.menu.eesz.512K.upload.maximum_size=520176 generic.menu.led.2=2 generic.menu.led.2.build.led=-DLED_BUILTIN=2 generic.menu.led.0=0 @@ -397,6 +416,8 @@ generic.menu.dbg.Serial1=Serial1 generic.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 generic.menu.lvl.None____=None generic.menu.lvl.None____.build.debug_level= +generic.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +generic.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG generic.menu.lvl.SSL=SSL generic.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL generic.menu.lvl.TLS_MEM=TLS_MEM @@ -441,24 +462,20 @@ generic.menu.lvl.OOM=OOM generic.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM generic.menu.lvl.MDNS=MDNS generic.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -generic.menu.lvl.HWDT=HWDT -generic.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -generic.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -generic.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +generic.menu.lvl.HWDT=HWDT +generic.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +generic.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +generic.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +generic.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K generic.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -generic.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -generic.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG generic.menu.wipe.none=Only Sketch generic.menu.wipe.none.upload.erase_cmd= generic.menu.wipe.sdk=Sketch + WiFi Settings @@ -556,112 +573,124 @@ esp8285.menu.CrystalFreq.40.build.extra_flags=-DF_CRYSTAL=40000000 esp8285.build.flash_mode=dout esp8285.build.flash_flags=-DFLASHMODE_DOUT esp8285.build.flash_freq=40 -esp8285.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +esp8285.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) esp8285.menu.eesz.1M64.build.flash_size=1M esp8285.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -esp8285.menu.eesz.1M64.build.spiffs_pagesize=256 esp8285.menu.eesz.1M64.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M64.upload.maximum_size=1044464 esp8285.menu.eesz.1M64.build.spiffs_start=0xEB000 esp8285.menu.eesz.1M64.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M64.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +esp8285.menu.eesz.1M64.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) esp8285.menu.eesz.1M128.build.flash_size=1M esp8285.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -esp8285.menu.eesz.1M128.build.spiffs_pagesize=256 esp8285.menu.eesz.1M128.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M128.upload.maximum_size=1044464 esp8285.menu.eesz.1M128.build.spiffs_start=0xDB000 esp8285.menu.eesz.1M128.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M128.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +esp8285.menu.eesz.1M128.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) esp8285.menu.eesz.1M144.build.flash_size=1M esp8285.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -esp8285.menu.eesz.1M144.build.spiffs_pagesize=256 esp8285.menu.eesz.1M144.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M144.upload.maximum_size=1044464 esp8285.menu.eesz.1M144.build.spiffs_start=0xD7000 esp8285.menu.eesz.1M144.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M144.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +esp8285.menu.eesz.1M144.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) esp8285.menu.eesz.1M160.build.flash_size=1M esp8285.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -esp8285.menu.eesz.1M160.build.spiffs_pagesize=256 esp8285.menu.eesz.1M160.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M160.upload.maximum_size=1044464 esp8285.menu.eesz.1M160.build.spiffs_start=0xD3000 esp8285.menu.eesz.1M160.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M160.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +esp8285.menu.eesz.1M160.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) esp8285.menu.eesz.1M192.build.flash_size=1M esp8285.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -esp8285.menu.eesz.1M192.build.spiffs_pagesize=256 esp8285.menu.eesz.1M192.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M192.upload.maximum_size=1044464 esp8285.menu.eesz.1M192.build.spiffs_start=0xCB000 esp8285.menu.eesz.1M192.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M192.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +esp8285.menu.eesz.1M192.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) esp8285.menu.eesz.1M256.build.flash_size=1M esp8285.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -esp8285.menu.eesz.1M256.build.spiffs_pagesize=256 esp8285.menu.eesz.1M256.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M256.upload.maximum_size=1044464 esp8285.menu.eesz.1M256.build.spiffs_start=0xBB000 esp8285.menu.eesz.1M256.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M256.build.spiffs_blocksize=4096 -esp8285.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +esp8285.menu.eesz.1M256.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) esp8285.menu.eesz.1M512.build.flash_size=1M esp8285.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -esp8285.menu.eesz.1M512.build.spiffs_pagesize=256 esp8285.menu.eesz.1M512.build.rfcal_addr=0xFC000 +esp8285.menu.eesz.1M512.upload.maximum_size=1044464 esp8285.menu.eesz.1M512.build.spiffs_start=0x7B000 esp8285.menu.eesz.1M512.build.spiffs_end=0xFB000 esp8285.menu.eesz.1M512.build.spiffs_blocksize=8192 -esp8285.menu.eesz.1M=1MB (FS:none OTA:~502KB) +esp8285.menu.eesz.1M512.build.spiffs_pagesize=256 +esp8285.menu.eesz.1M=1MB (FS:none OTA:~499KB) esp8285.menu.eesz.1M.build.flash_size=1M esp8285.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -esp8285.menu.eesz.1M.build.spiffs_pagesize=256 esp8285.menu.eesz.1M.build.rfcal_addr=0xFC000 -esp8285.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +esp8285.menu.eesz.1M.upload.maximum_size=1044464 +esp8285.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) esp8285.menu.eesz.2M64.build.flash_size=2M esp8285.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -esp8285.menu.eesz.2M64.build.spiffs_pagesize=256 esp8285.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M64.upload.maximum_size=1044464 esp8285.menu.eesz.2M64.build.spiffs_start=0x1F0000 esp8285.menu.eesz.2M64.build.spiffs_end=0x1FB000 esp8285.menu.eesz.2M64.build.spiffs_blocksize=4096 -esp8285.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +esp8285.menu.eesz.2M64.build.spiffs_pagesize=256 +esp8285.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) esp8285.menu.eesz.2M128.build.flash_size=2M esp8285.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -esp8285.menu.eesz.2M128.build.spiffs_pagesize=256 esp8285.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M128.upload.maximum_size=1044464 esp8285.menu.eesz.2M128.build.spiffs_start=0x1E0000 esp8285.menu.eesz.2M128.build.spiffs_end=0x1FB000 esp8285.menu.eesz.2M128.build.spiffs_blocksize=4096 -esp8285.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +esp8285.menu.eesz.2M128.build.spiffs_pagesize=256 +esp8285.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) esp8285.menu.eesz.2M256.build.flash_size=2M esp8285.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -esp8285.menu.eesz.2M256.build.spiffs_pagesize=256 esp8285.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M256.upload.maximum_size=1044464 esp8285.menu.eesz.2M256.build.spiffs_start=0x1C0000 esp8285.menu.eesz.2M256.build.spiffs_end=0x1FB000 esp8285.menu.eesz.2M256.build.spiffs_blocksize=4096 -esp8285.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +esp8285.menu.eesz.2M256.build.spiffs_pagesize=256 +esp8285.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) esp8285.menu.eesz.2M512.build.flash_size=2M esp8285.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -esp8285.menu.eesz.2M512.build.spiffs_pagesize=256 esp8285.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M512.upload.maximum_size=1044464 esp8285.menu.eesz.2M512.build.spiffs_start=0x180000 esp8285.menu.eesz.2M512.build.spiffs_end=0x1FA000 esp8285.menu.eesz.2M512.build.spiffs_blocksize=8192 -esp8285.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +esp8285.menu.eesz.2M512.build.spiffs_pagesize=256 +esp8285.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) esp8285.menu.eesz.2M1M.build.flash_size=2M esp8285.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -esp8285.menu.eesz.2M1M.build.spiffs_pagesize=256 esp8285.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M1M.upload.maximum_size=1044464 esp8285.menu.eesz.2M1M.build.spiffs_start=0x100000 esp8285.menu.eesz.2M1M.build.spiffs_end=0x1FA000 esp8285.menu.eesz.2M1M.build.spiffs_blocksize=8192 -esp8285.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +esp8285.menu.eesz.2M1M.build.spiffs_pagesize=256 +esp8285.menu.eesz.2M=2MB (FS:none OTA:~1004KB) esp8285.menu.eesz.2M.build.flash_size=2M esp8285.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -esp8285.menu.eesz.2M.build.spiffs_pagesize=256 esp8285.menu.eesz.2M.build.rfcal_addr=0x1FC000 +esp8285.menu.eesz.2M.upload.maximum_size=1044464 esp8285.menu.led.2=2 esp8285.menu.led.2.build.led=-DLED_BUILTIN=2 esp8285.menu.led.0=0 @@ -742,6 +771,8 @@ esp8285.menu.dbg.Serial1=Serial1 esp8285.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 esp8285.menu.lvl.None____=None esp8285.menu.lvl.None____.build.debug_level= +esp8285.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +esp8285.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp8285.menu.lvl.SSL=SSL esp8285.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL esp8285.menu.lvl.TLS_MEM=TLS_MEM @@ -786,24 +817,20 @@ esp8285.menu.lvl.OOM=OOM esp8285.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM esp8285.menu.lvl.MDNS=MDNS esp8285.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -esp8285.menu.lvl.HWDT=HWDT -esp8285.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -esp8285.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -esp8285.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +esp8285.menu.lvl.HWDT=HWDT +esp8285.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +esp8285.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +esp8285.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +esp8285.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K esp8285.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -esp8285.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -esp8285.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp8285.menu.wipe.none=Only Sketch esp8285.menu.wipe.none.upload.erase_cmd= esp8285.menu.wipe.sdk=Sketch + WiFi Settings @@ -904,80 +931,88 @@ gen4iod.menu.FlashMode.qio=QIO (fast) gen4iod.menu.FlashMode.qio.build.flash_mode=qio gen4iod.menu.FlashMode.qio.build.flash_flags=-DFLASHMODE_QIO gen4iod.build.flash_freq=80 -gen4iod.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +gen4iod.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) gen4iod.menu.eesz.2M64.build.flash_size=2M gen4iod.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -gen4iod.menu.eesz.2M64.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M64.upload.maximum_size=1044464 gen4iod.menu.eesz.2M64.build.spiffs_start=0x1F0000 gen4iod.menu.eesz.2M64.build.spiffs_end=0x1FB000 gen4iod.menu.eesz.2M64.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +gen4iod.menu.eesz.2M64.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) gen4iod.menu.eesz.2M128.build.flash_size=2M gen4iod.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -gen4iod.menu.eesz.2M128.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M128.upload.maximum_size=1044464 gen4iod.menu.eesz.2M128.build.spiffs_start=0x1E0000 gen4iod.menu.eesz.2M128.build.spiffs_end=0x1FB000 gen4iod.menu.eesz.2M128.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +gen4iod.menu.eesz.2M128.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) gen4iod.menu.eesz.2M256.build.flash_size=2M gen4iod.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -gen4iod.menu.eesz.2M256.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M256.upload.maximum_size=1044464 gen4iod.menu.eesz.2M256.build.spiffs_start=0x1C0000 gen4iod.menu.eesz.2M256.build.spiffs_end=0x1FB000 gen4iod.menu.eesz.2M256.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +gen4iod.menu.eesz.2M256.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) gen4iod.menu.eesz.2M512.build.flash_size=2M gen4iod.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -gen4iod.menu.eesz.2M512.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M512.upload.maximum_size=1044464 gen4iod.menu.eesz.2M512.build.spiffs_start=0x180000 gen4iod.menu.eesz.2M512.build.spiffs_end=0x1FA000 gen4iod.menu.eesz.2M512.build.spiffs_blocksize=8192 -gen4iod.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +gen4iod.menu.eesz.2M512.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) gen4iod.menu.eesz.2M1M.build.flash_size=2M gen4iod.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -gen4iod.menu.eesz.2M1M.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M1M.upload.maximum_size=1044464 gen4iod.menu.eesz.2M1M.build.spiffs_start=0x100000 gen4iod.menu.eesz.2M1M.build.spiffs_end=0x1FA000 gen4iod.menu.eesz.2M1M.build.spiffs_blocksize=8192 -gen4iod.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +gen4iod.menu.eesz.2M1M.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M=2MB (FS:none OTA:~1004KB) gen4iod.menu.eesz.2M.build.flash_size=2M gen4iod.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -gen4iod.menu.eesz.2M.build.spiffs_pagesize=256 gen4iod.menu.eesz.2M.build.rfcal_addr=0x1FC000 -gen4iod.menu.eesz.512K32=512KB (FS:32KB OTA:~230KB) +gen4iod.menu.eesz.2M.upload.maximum_size=1044464 +gen4iod.menu.eesz.512K32=512KB (FS:32KB OTA:~227KB) gen4iod.menu.eesz.512K32.build.flash_size=512K gen4iod.menu.eesz.512K32.build.flash_ld=eagle.flash.512k32.ld -gen4iod.menu.eesz.512K32.build.spiffs_pagesize=256 gen4iod.menu.eesz.512K32.build.rfcal_addr=0x7C000 +gen4iod.menu.eesz.512K32.upload.maximum_size=520176 gen4iod.menu.eesz.512K32.build.spiffs_start=0x73000 gen4iod.menu.eesz.512K32.build.spiffs_end=0x7B000 gen4iod.menu.eesz.512K32.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.512K64=512KB (FS:64KB OTA:~214KB) +gen4iod.menu.eesz.512K32.build.spiffs_pagesize=256 +gen4iod.menu.eesz.512K64=512KB (FS:64KB OTA:~211KB) gen4iod.menu.eesz.512K64.build.flash_size=512K gen4iod.menu.eesz.512K64.build.flash_ld=eagle.flash.512k64.ld -gen4iod.menu.eesz.512K64.build.spiffs_pagesize=256 gen4iod.menu.eesz.512K64.build.rfcal_addr=0x7C000 +gen4iod.menu.eesz.512K64.upload.maximum_size=520176 gen4iod.menu.eesz.512K64.build.spiffs_start=0x6B000 gen4iod.menu.eesz.512K64.build.spiffs_end=0x7B000 gen4iod.menu.eesz.512K64.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.512K128=512KB (FS:128KB OTA:~182KB) +gen4iod.menu.eesz.512K64.build.spiffs_pagesize=256 +gen4iod.menu.eesz.512K128=512KB (FS:128KB OTA:~179KB) gen4iod.menu.eesz.512K128.build.flash_size=512K gen4iod.menu.eesz.512K128.build.flash_ld=eagle.flash.512k128.ld -gen4iod.menu.eesz.512K128.build.spiffs_pagesize=256 gen4iod.menu.eesz.512K128.build.rfcal_addr=0x7C000 +gen4iod.menu.eesz.512K128.upload.maximum_size=520176 gen4iod.menu.eesz.512K128.build.spiffs_start=0x5B000 gen4iod.menu.eesz.512K128.build.spiffs_end=0x7B000 gen4iod.menu.eesz.512K128.build.spiffs_blocksize=4096 -gen4iod.menu.eesz.512K=512KB (FS:none OTA:~246KB) +gen4iod.menu.eesz.512K128.build.spiffs_pagesize=256 +gen4iod.menu.eesz.512K=512KB (FS:none OTA:~243KB) gen4iod.menu.eesz.512K.build.flash_size=512K gen4iod.menu.eesz.512K.build.flash_ld=eagle.flash.512k.ld -gen4iod.menu.eesz.512K.build.spiffs_pagesize=256 gen4iod.menu.eesz.512K.build.rfcal_addr=0x7C000 +gen4iod.menu.eesz.512K.upload.maximum_size=520176 gen4iod.menu.ip.lm2f=v2 Lower Memory gen4iod.menu.ip.lm2f.build.lwip_include=lwip2/include gen4iod.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -1010,6 +1045,8 @@ gen4iod.menu.dbg.Serial1=Serial1 gen4iod.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 gen4iod.menu.lvl.None____=None gen4iod.menu.lvl.None____.build.debug_level= +gen4iod.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +gen4iod.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG gen4iod.menu.lvl.SSL=SSL gen4iod.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL gen4iod.menu.lvl.TLS_MEM=TLS_MEM @@ -1054,24 +1091,20 @@ gen4iod.menu.lvl.OOM=OOM gen4iod.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM gen4iod.menu.lvl.MDNS=MDNS gen4iod.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -gen4iod.menu.lvl.HWDT=HWDT -gen4iod.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -gen4iod.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -gen4iod.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +gen4iod.menu.lvl.HWDT=HWDT +gen4iod.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +gen4iod.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +gen4iod.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +gen4iod.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K gen4iod.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -gen4iod.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -gen4iod.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG gen4iod.menu.wipe.none=Only Sketch gen4iod.menu.wipe.none.upload.erase_cmd= gen4iod.menu.wipe.sdk=Sketch + WiFi Settings @@ -1161,35 +1194,38 @@ huzzah.upload.resetmethod=--before default_reset --after hard_reset huzzah.build.flash_mode=qio huzzah.build.flash_flags=-DFLASHMODE_QIO huzzah.build.flash_freq=40 -huzzah.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +huzzah.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) huzzah.menu.eesz.4M2M.build.flash_size=4M huzzah.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -huzzah.menu.eesz.4M2M.build.spiffs_pagesize=256 huzzah.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +huzzah.menu.eesz.4M2M.upload.maximum_size=1044464 huzzah.menu.eesz.4M2M.build.spiffs_start=0x200000 huzzah.menu.eesz.4M2M.build.spiffs_end=0x3FA000 huzzah.menu.eesz.4M2M.build.spiffs_blocksize=8192 -huzzah.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +huzzah.menu.eesz.4M2M.build.spiffs_pagesize=256 +huzzah.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) huzzah.menu.eesz.4M3M.build.flash_size=4M huzzah.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -huzzah.menu.eesz.4M3M.build.spiffs_pagesize=256 huzzah.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +huzzah.menu.eesz.4M3M.upload.maximum_size=1044464 huzzah.menu.eesz.4M3M.build.spiffs_start=0x100000 huzzah.menu.eesz.4M3M.build.spiffs_end=0x3FA000 huzzah.menu.eesz.4M3M.build.spiffs_blocksize=8192 -huzzah.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +huzzah.menu.eesz.4M3M.build.spiffs_pagesize=256 +huzzah.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) huzzah.menu.eesz.4M1M.build.flash_size=4M huzzah.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -huzzah.menu.eesz.4M1M.build.spiffs_pagesize=256 huzzah.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +huzzah.menu.eesz.4M1M.upload.maximum_size=1044464 huzzah.menu.eesz.4M1M.build.spiffs_start=0x300000 huzzah.menu.eesz.4M1M.build.spiffs_end=0x3FA000 huzzah.menu.eesz.4M1M.build.spiffs_blocksize=8192 -huzzah.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +huzzah.menu.eesz.4M1M.build.spiffs_pagesize=256 +huzzah.menu.eesz.4M=4MB (FS:none OTA:~3052KB) huzzah.menu.eesz.4M.build.flash_size=4M huzzah.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -huzzah.menu.eesz.4M.build.spiffs_pagesize=256 huzzah.menu.eesz.4M.build.rfcal_addr=0x3FC000 +huzzah.menu.eesz.4M.upload.maximum_size=1044464 huzzah.menu.ip.lm2f=v2 Lower Memory huzzah.menu.ip.lm2f.build.lwip_include=lwip2/include huzzah.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -1222,6 +1258,8 @@ huzzah.menu.dbg.Serial1=Serial1 huzzah.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 huzzah.menu.lvl.None____=None huzzah.menu.lvl.None____.build.debug_level= +huzzah.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +huzzah.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG huzzah.menu.lvl.SSL=SSL huzzah.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL huzzah.menu.lvl.TLS_MEM=TLS_MEM @@ -1266,24 +1304,20 @@ huzzah.menu.lvl.OOM=OOM huzzah.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM huzzah.menu.lvl.MDNS=MDNS huzzah.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -huzzah.menu.lvl.HWDT=HWDT -huzzah.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -huzzah.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -huzzah.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +huzzah.menu.lvl.HWDT=HWDT +huzzah.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +huzzah.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +huzzah.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +huzzah.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K huzzah.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -huzzah.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -huzzah.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG huzzah.menu.wipe.none=Only Sketch huzzah.menu.wipe.none.upload.erase_cmd= huzzah.menu.wipe.sdk=Sketch + WiFi Settings @@ -1390,112 +1424,124 @@ wifi_slot.menu.FlashMode.qout.build.flash_flags=-DFLASHMODE_QOUT wifi_slot.menu.FlashMode.qio=QIO (fast) wifi_slot.menu.FlashMode.qio.build.flash_mode=qio wifi_slot.menu.FlashMode.qio.build.flash_flags=-DFLASHMODE_QIO -wifi_slot.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +wifi_slot.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) wifi_slot.menu.eesz.1M64.build.flash_size=1M wifi_slot.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -wifi_slot.menu.eesz.1M64.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M64.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M64.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M64.build.spiffs_start=0xEB000 wifi_slot.menu.eesz.1M64.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M64.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +wifi_slot.menu.eesz.1M64.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) wifi_slot.menu.eesz.1M128.build.flash_size=1M wifi_slot.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -wifi_slot.menu.eesz.1M128.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M128.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M128.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M128.build.spiffs_start=0xDB000 wifi_slot.menu.eesz.1M128.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M128.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +wifi_slot.menu.eesz.1M128.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) wifi_slot.menu.eesz.1M144.build.flash_size=1M wifi_slot.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -wifi_slot.menu.eesz.1M144.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M144.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M144.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M144.build.spiffs_start=0xD7000 wifi_slot.menu.eesz.1M144.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M144.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +wifi_slot.menu.eesz.1M144.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) wifi_slot.menu.eesz.1M160.build.flash_size=1M wifi_slot.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -wifi_slot.menu.eesz.1M160.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M160.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M160.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M160.build.spiffs_start=0xD3000 wifi_slot.menu.eesz.1M160.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M160.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +wifi_slot.menu.eesz.1M160.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) wifi_slot.menu.eesz.1M192.build.flash_size=1M wifi_slot.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -wifi_slot.menu.eesz.1M192.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M192.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M192.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M192.build.spiffs_start=0xCB000 wifi_slot.menu.eesz.1M192.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M192.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +wifi_slot.menu.eesz.1M192.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) wifi_slot.menu.eesz.1M256.build.flash_size=1M wifi_slot.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -wifi_slot.menu.eesz.1M256.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M256.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M256.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M256.build.spiffs_start=0xBB000 wifi_slot.menu.eesz.1M256.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M256.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +wifi_slot.menu.eesz.1M256.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) wifi_slot.menu.eesz.1M512.build.flash_size=1M wifi_slot.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -wifi_slot.menu.eesz.1M512.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M512.build.rfcal_addr=0xFC000 +wifi_slot.menu.eesz.1M512.upload.maximum_size=1044464 wifi_slot.menu.eesz.1M512.build.spiffs_start=0x7B000 wifi_slot.menu.eesz.1M512.build.spiffs_end=0xFB000 wifi_slot.menu.eesz.1M512.build.spiffs_blocksize=8192 -wifi_slot.menu.eesz.1M=1MB (FS:none OTA:~502KB) +wifi_slot.menu.eesz.1M512.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.1M=1MB (FS:none OTA:~499KB) wifi_slot.menu.eesz.1M.build.flash_size=1M wifi_slot.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -wifi_slot.menu.eesz.1M.build.spiffs_pagesize=256 wifi_slot.menu.eesz.1M.build.rfcal_addr=0xFC000 -wifi_slot.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +wifi_slot.menu.eesz.1M.upload.maximum_size=1044464 +wifi_slot.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) wifi_slot.menu.eesz.2M64.build.flash_size=2M wifi_slot.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -wifi_slot.menu.eesz.2M64.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M64.upload.maximum_size=1044464 wifi_slot.menu.eesz.2M64.build.spiffs_start=0x1F0000 wifi_slot.menu.eesz.2M64.build.spiffs_end=0x1FB000 wifi_slot.menu.eesz.2M64.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +wifi_slot.menu.eesz.2M64.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) wifi_slot.menu.eesz.2M128.build.flash_size=2M wifi_slot.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -wifi_slot.menu.eesz.2M128.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M128.upload.maximum_size=1044464 wifi_slot.menu.eesz.2M128.build.spiffs_start=0x1E0000 wifi_slot.menu.eesz.2M128.build.spiffs_end=0x1FB000 wifi_slot.menu.eesz.2M128.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +wifi_slot.menu.eesz.2M128.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) wifi_slot.menu.eesz.2M256.build.flash_size=2M wifi_slot.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -wifi_slot.menu.eesz.2M256.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M256.upload.maximum_size=1044464 wifi_slot.menu.eesz.2M256.build.spiffs_start=0x1C0000 wifi_slot.menu.eesz.2M256.build.spiffs_end=0x1FB000 wifi_slot.menu.eesz.2M256.build.spiffs_blocksize=4096 -wifi_slot.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +wifi_slot.menu.eesz.2M256.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) wifi_slot.menu.eesz.2M512.build.flash_size=2M wifi_slot.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -wifi_slot.menu.eesz.2M512.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M512.upload.maximum_size=1044464 wifi_slot.menu.eesz.2M512.build.spiffs_start=0x180000 wifi_slot.menu.eesz.2M512.build.spiffs_end=0x1FA000 wifi_slot.menu.eesz.2M512.build.spiffs_blocksize=8192 -wifi_slot.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +wifi_slot.menu.eesz.2M512.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) wifi_slot.menu.eesz.2M1M.build.flash_size=2M wifi_slot.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -wifi_slot.menu.eesz.2M1M.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M1M.upload.maximum_size=1044464 wifi_slot.menu.eesz.2M1M.build.spiffs_start=0x100000 wifi_slot.menu.eesz.2M1M.build.spiffs_end=0x1FA000 wifi_slot.menu.eesz.2M1M.build.spiffs_blocksize=8192 -wifi_slot.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +wifi_slot.menu.eesz.2M1M.build.spiffs_pagesize=256 +wifi_slot.menu.eesz.2M=2MB (FS:none OTA:~1004KB) wifi_slot.menu.eesz.2M.build.flash_size=2M wifi_slot.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -wifi_slot.menu.eesz.2M.build.spiffs_pagesize=256 wifi_slot.menu.eesz.2M.build.rfcal_addr=0x1FC000 +wifi_slot.menu.eesz.2M.upload.maximum_size=1044464 wifi_slot.menu.ip.lm2f=v2 Lower Memory wifi_slot.menu.ip.lm2f.build.lwip_include=lwip2/include wifi_slot.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -1528,6 +1574,8 @@ wifi_slot.menu.dbg.Serial1=Serial1 wifi_slot.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 wifi_slot.menu.lvl.None____=None wifi_slot.menu.lvl.None____.build.debug_level= +wifi_slot.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +wifi_slot.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifi_slot.menu.lvl.SSL=SSL wifi_slot.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL wifi_slot.menu.lvl.TLS_MEM=TLS_MEM @@ -1572,24 +1620,20 @@ wifi_slot.menu.lvl.OOM=OOM wifi_slot.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM wifi_slot.menu.lvl.MDNS=MDNS wifi_slot.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -wifi_slot.menu.lvl.HWDT=HWDT -wifi_slot.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -wifi_slot.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -wifi_slot.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +wifi_slot.menu.lvl.HWDT=HWDT +wifi_slot.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +wifi_slot.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +wifi_slot.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +wifi_slot.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K wifi_slot.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifi_slot.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -wifi_slot.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifi_slot.menu.wipe.none=Only Sketch wifi_slot.menu.wipe.none.upload.erase_cmd= wifi_slot.menu.wipe.sdk=Sketch + WiFi Settings @@ -1691,35 +1735,38 @@ arduino-esp8266.upload.resetmethod=--before no_reset --after soft_reset arduino-esp8266.build.flash_mode=qio arduino-esp8266.build.flash_flags=-DFLASHMODE_QIO arduino-esp8266.build.flash_freq=40 -arduino-esp8266.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +arduino-esp8266.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) arduino-esp8266.menu.eesz.4M2M.build.flash_size=4M arduino-esp8266.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -arduino-esp8266.menu.eesz.4M2M.build.spiffs_pagesize=256 arduino-esp8266.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +arduino-esp8266.menu.eesz.4M2M.upload.maximum_size=1044464 arduino-esp8266.menu.eesz.4M2M.build.spiffs_start=0x200000 arduino-esp8266.menu.eesz.4M2M.build.spiffs_end=0x3FA000 arduino-esp8266.menu.eesz.4M2M.build.spiffs_blocksize=8192 -arduino-esp8266.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +arduino-esp8266.menu.eesz.4M2M.build.spiffs_pagesize=256 +arduino-esp8266.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) arduino-esp8266.menu.eesz.4M3M.build.flash_size=4M arduino-esp8266.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -arduino-esp8266.menu.eesz.4M3M.build.spiffs_pagesize=256 arduino-esp8266.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +arduino-esp8266.menu.eesz.4M3M.upload.maximum_size=1044464 arduino-esp8266.menu.eesz.4M3M.build.spiffs_start=0x100000 arduino-esp8266.menu.eesz.4M3M.build.spiffs_end=0x3FA000 arduino-esp8266.menu.eesz.4M3M.build.spiffs_blocksize=8192 -arduino-esp8266.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +arduino-esp8266.menu.eesz.4M3M.build.spiffs_pagesize=256 +arduino-esp8266.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) arduino-esp8266.menu.eesz.4M1M.build.flash_size=4M arduino-esp8266.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -arduino-esp8266.menu.eesz.4M1M.build.spiffs_pagesize=256 arduino-esp8266.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +arduino-esp8266.menu.eesz.4M1M.upload.maximum_size=1044464 arduino-esp8266.menu.eesz.4M1M.build.spiffs_start=0x300000 arduino-esp8266.menu.eesz.4M1M.build.spiffs_end=0x3FA000 arduino-esp8266.menu.eesz.4M1M.build.spiffs_blocksize=8192 -arduino-esp8266.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +arduino-esp8266.menu.eesz.4M1M.build.spiffs_pagesize=256 +arduino-esp8266.menu.eesz.4M=4MB (FS:none OTA:~3052KB) arduino-esp8266.menu.eesz.4M.build.flash_size=4M arduino-esp8266.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -arduino-esp8266.menu.eesz.4M.build.spiffs_pagesize=256 arduino-esp8266.menu.eesz.4M.build.rfcal_addr=0x3FC000 +arduino-esp8266.menu.eesz.4M.upload.maximum_size=1044464 arduino-esp8266.menu.ip.lm2f=v2 Lower Memory arduino-esp8266.menu.ip.lm2f.build.lwip_include=lwip2/include arduino-esp8266.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -1752,6 +1799,8 @@ arduino-esp8266.menu.dbg.Serial1=Serial1 arduino-esp8266.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 arduino-esp8266.menu.lvl.None____=None arduino-esp8266.menu.lvl.None____.build.debug_level= +arduino-esp8266.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +arduino-esp8266.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG arduino-esp8266.menu.lvl.SSL=SSL arduino-esp8266.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL arduino-esp8266.menu.lvl.TLS_MEM=TLS_MEM @@ -1796,24 +1845,20 @@ arduino-esp8266.menu.lvl.OOM=OOM arduino-esp8266.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM arduino-esp8266.menu.lvl.MDNS=MDNS arduino-esp8266.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -arduino-esp8266.menu.lvl.HWDT=HWDT -arduino-esp8266.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -arduino-esp8266.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -arduino-esp8266.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +arduino-esp8266.menu.lvl.HWDT=HWDT +arduino-esp8266.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +arduino-esp8266.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +arduino-esp8266.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +arduino-esp8266.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K arduino-esp8266.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -arduino-esp8266.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -arduino-esp8266.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG arduino-esp8266.menu.wipe.none=Only Sketch arduino-esp8266.menu.wipe.none.upload.erase_cmd= arduino-esp8266.menu.wipe.sdk=Sketch + WiFi Settings @@ -1904,67 +1949,74 @@ espmxdevkit.upload.resetmethod=--before default_reset --after hard_reset espmxdevkit.build.flash_mode=dout espmxdevkit.build.flash_flags=-DFLASHMODE_DOUT espmxdevkit.build.flash_freq=40 -espmxdevkit.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +espmxdevkit.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) espmxdevkit.menu.eesz.1M64.build.flash_size=1M espmxdevkit.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -espmxdevkit.menu.eesz.1M64.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M64.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M64.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M64.build.spiffs_start=0xEB000 espmxdevkit.menu.eesz.1M64.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M64.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +espmxdevkit.menu.eesz.1M64.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) espmxdevkit.menu.eesz.1M128.build.flash_size=1M espmxdevkit.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -espmxdevkit.menu.eesz.1M128.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M128.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M128.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M128.build.spiffs_start=0xDB000 espmxdevkit.menu.eesz.1M128.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M128.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +espmxdevkit.menu.eesz.1M128.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) espmxdevkit.menu.eesz.1M144.build.flash_size=1M espmxdevkit.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -espmxdevkit.menu.eesz.1M144.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M144.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M144.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M144.build.spiffs_start=0xD7000 espmxdevkit.menu.eesz.1M144.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M144.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +espmxdevkit.menu.eesz.1M144.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) espmxdevkit.menu.eesz.1M160.build.flash_size=1M espmxdevkit.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -espmxdevkit.menu.eesz.1M160.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M160.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M160.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M160.build.spiffs_start=0xD3000 espmxdevkit.menu.eesz.1M160.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M160.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +espmxdevkit.menu.eesz.1M160.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) espmxdevkit.menu.eesz.1M192.build.flash_size=1M espmxdevkit.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -espmxdevkit.menu.eesz.1M192.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M192.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M192.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M192.build.spiffs_start=0xCB000 espmxdevkit.menu.eesz.1M192.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M192.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +espmxdevkit.menu.eesz.1M192.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) espmxdevkit.menu.eesz.1M256.build.flash_size=1M espmxdevkit.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -espmxdevkit.menu.eesz.1M256.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M256.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M256.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M256.build.spiffs_start=0xBB000 espmxdevkit.menu.eesz.1M256.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M256.build.spiffs_blocksize=4096 -espmxdevkit.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +espmxdevkit.menu.eesz.1M256.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) espmxdevkit.menu.eesz.1M512.build.flash_size=1M espmxdevkit.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -espmxdevkit.menu.eesz.1M512.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M512.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M512.upload.maximum_size=1044464 espmxdevkit.menu.eesz.1M512.build.spiffs_start=0x7B000 espmxdevkit.menu.eesz.1M512.build.spiffs_end=0xFB000 espmxdevkit.menu.eesz.1M512.build.spiffs_blocksize=8192 -espmxdevkit.menu.eesz.1M=1MB (FS:none OTA:~502KB) +espmxdevkit.menu.eesz.1M512.build.spiffs_pagesize=256 +espmxdevkit.menu.eesz.1M=1MB (FS:none OTA:~499KB) espmxdevkit.menu.eesz.1M.build.flash_size=1M espmxdevkit.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -espmxdevkit.menu.eesz.1M.build.spiffs_pagesize=256 espmxdevkit.menu.eesz.1M.build.rfcal_addr=0xFC000 +espmxdevkit.menu.eesz.1M.upload.maximum_size=1044464 espmxdevkit.menu.ip.lm2f=v2 Lower Memory espmxdevkit.menu.ip.lm2f.build.lwip_include=lwip2/include espmxdevkit.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -1997,6 +2049,8 @@ espmxdevkit.menu.dbg.Serial1=Serial1 espmxdevkit.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espmxdevkit.menu.lvl.None____=None espmxdevkit.menu.lvl.None____.build.debug_level= +espmxdevkit.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espmxdevkit.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espmxdevkit.menu.lvl.SSL=SSL espmxdevkit.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espmxdevkit.menu.lvl.TLS_MEM=TLS_MEM @@ -2041,24 +2095,20 @@ espmxdevkit.menu.lvl.OOM=OOM espmxdevkit.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espmxdevkit.menu.lvl.MDNS=MDNS espmxdevkit.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espmxdevkit.menu.lvl.HWDT=HWDT -espmxdevkit.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espmxdevkit.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espmxdevkit.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espmxdevkit.menu.lvl.HWDT=HWDT +espmxdevkit.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espmxdevkit.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espmxdevkit.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espmxdevkit.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espmxdevkit.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espmxdevkit.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espmxdevkit.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espmxdevkit.menu.wipe.none=Only Sketch espmxdevkit.menu.wipe.none.upload.erase_cmd= espmxdevkit.menu.wipe.sdk=Sketch + WiFi Settings @@ -2093,7 +2143,6 @@ espmxdevkit.menu.eesz.autoflash.upload.maximum_size=1044464 oak.name=Digistump Oak oak.build.board=ESP8266_OAK oak.build.variant=oak -oak.upload.maximum_size=1040368 oak.upload.tool=esptool oak.upload.maximum_data_size=81920 oak.upload.wait_for_upload_port=true @@ -2149,35 +2198,38 @@ oak.upload.resetmethod=--before no_reset --after soft_reset oak.build.flash_mode=dio oak.build.flash_flags=-DFLASHMODE_DIO oak.build.flash_freq=40 -oak.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +oak.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) oak.menu.eesz.4M2M.build.flash_size=4M oak.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -oak.menu.eesz.4M2M.build.spiffs_pagesize=256 oak.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +oak.menu.eesz.4M2M.upload.maximum_size=1044464 oak.menu.eesz.4M2M.build.spiffs_start=0x200000 oak.menu.eesz.4M2M.build.spiffs_end=0x3FA000 oak.menu.eesz.4M2M.build.spiffs_blocksize=8192 -oak.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +oak.menu.eesz.4M2M.build.spiffs_pagesize=256 +oak.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) oak.menu.eesz.4M3M.build.flash_size=4M oak.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -oak.menu.eesz.4M3M.build.spiffs_pagesize=256 oak.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +oak.menu.eesz.4M3M.upload.maximum_size=1044464 oak.menu.eesz.4M3M.build.spiffs_start=0x100000 oak.menu.eesz.4M3M.build.spiffs_end=0x3FA000 oak.menu.eesz.4M3M.build.spiffs_blocksize=8192 -oak.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +oak.menu.eesz.4M3M.build.spiffs_pagesize=256 +oak.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) oak.menu.eesz.4M1M.build.flash_size=4M oak.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -oak.menu.eesz.4M1M.build.spiffs_pagesize=256 oak.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +oak.menu.eesz.4M1M.upload.maximum_size=1044464 oak.menu.eesz.4M1M.build.spiffs_start=0x300000 oak.menu.eesz.4M1M.build.spiffs_end=0x3FA000 oak.menu.eesz.4M1M.build.spiffs_blocksize=8192 -oak.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +oak.menu.eesz.4M1M.build.spiffs_pagesize=256 +oak.menu.eesz.4M=4MB (FS:none OTA:~3052KB) oak.menu.eesz.4M.build.flash_size=4M oak.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -oak.menu.eesz.4M.build.spiffs_pagesize=256 oak.menu.eesz.4M.build.rfcal_addr=0x3FC000 +oak.menu.eesz.4M.upload.maximum_size=1044464 oak.menu.ip.lm2f=v2 Lower Memory oak.menu.ip.lm2f.build.lwip_include=lwip2/include oak.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -2210,6 +2262,8 @@ oak.menu.dbg.Serial1=Serial1 oak.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 oak.menu.lvl.None____=None oak.menu.lvl.None____.build.debug_level= +oak.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +oak.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG oak.menu.lvl.SSL=SSL oak.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL oak.menu.lvl.TLS_MEM=TLS_MEM @@ -2254,24 +2308,20 @@ oak.menu.lvl.OOM=OOM oak.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM oak.menu.lvl.MDNS=MDNS oak.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -oak.menu.lvl.HWDT=HWDT -oak.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -oak.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -oak.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +oak.menu.lvl.HWDT=HWDT +oak.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +oak.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +oak.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +oak.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K oak.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -oak.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -oak.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG oak.menu.wipe.none=Only Sketch oak.menu.wipe.none.upload.erase_cmd= oak.menu.wipe.sdk=Sketch + WiFi Settings @@ -2369,35 +2419,38 @@ espduino.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER espduino.build.flash_mode=dio espduino.build.flash_flags=-DFLASHMODE_DIO espduino.build.flash_freq=40 -espduino.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espduino.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espduino.menu.eesz.4M2M.build.flash_size=4M espduino.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espduino.menu.eesz.4M2M.build.spiffs_pagesize=256 espduino.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espduino.menu.eesz.4M2M.upload.maximum_size=1044464 espduino.menu.eesz.4M2M.build.spiffs_start=0x200000 espduino.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espduino.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espduino.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espduino.menu.eesz.4M2M.build.spiffs_pagesize=256 +espduino.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espduino.menu.eesz.4M3M.build.flash_size=4M espduino.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espduino.menu.eesz.4M3M.build.spiffs_pagesize=256 espduino.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espduino.menu.eesz.4M3M.upload.maximum_size=1044464 espduino.menu.eesz.4M3M.build.spiffs_start=0x100000 espduino.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espduino.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espduino.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espduino.menu.eesz.4M3M.build.spiffs_pagesize=256 +espduino.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espduino.menu.eesz.4M1M.build.flash_size=4M espduino.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espduino.menu.eesz.4M1M.build.spiffs_pagesize=256 espduino.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espduino.menu.eesz.4M1M.upload.maximum_size=1044464 espduino.menu.eesz.4M1M.build.spiffs_start=0x300000 espduino.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espduino.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espduino.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espduino.menu.eesz.4M1M.build.spiffs_pagesize=256 +espduino.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espduino.menu.eesz.4M.build.flash_size=4M espduino.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espduino.menu.eesz.4M.build.spiffs_pagesize=256 espduino.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espduino.menu.eesz.4M.upload.maximum_size=1044464 espduino.menu.ip.lm2f=v2 Lower Memory espduino.menu.ip.lm2f.build.lwip_include=lwip2/include espduino.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -2430,6 +2483,8 @@ espduino.menu.dbg.Serial1=Serial1 espduino.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espduino.menu.lvl.None____=None espduino.menu.lvl.None____.build.debug_level= +espduino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espduino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espduino.menu.lvl.SSL=SSL espduino.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espduino.menu.lvl.TLS_MEM=TLS_MEM @@ -2474,24 +2529,20 @@ espduino.menu.lvl.OOM=OOM espduino.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espduino.menu.lvl.MDNS=MDNS espduino.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espduino.menu.lvl.HWDT=HWDT -espduino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espduino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espduino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espduino.menu.lvl.HWDT=HWDT +espduino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espduino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espduino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espduino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espduino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espduino.menu.wipe.none=Only Sketch espduino.menu.wipe.none.upload.erase_cmd= espduino.menu.wipe.sdk=Sketch + WiFi Settings @@ -2581,35 +2632,38 @@ espectro.upload.resetmethod=--before default_reset --after hard_reset espectro.build.flash_mode=dio espectro.build.flash_flags=-DFLASHMODE_DIO espectro.build.flash_freq=40 -espectro.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espectro.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espectro.menu.eesz.4M2M.build.flash_size=4M espectro.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espectro.menu.eesz.4M2M.build.spiffs_pagesize=256 espectro.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espectro.menu.eesz.4M2M.upload.maximum_size=1044464 espectro.menu.eesz.4M2M.build.spiffs_start=0x200000 espectro.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espectro.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espectro.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espectro.menu.eesz.4M2M.build.spiffs_pagesize=256 +espectro.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espectro.menu.eesz.4M3M.build.flash_size=4M espectro.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espectro.menu.eesz.4M3M.build.spiffs_pagesize=256 espectro.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espectro.menu.eesz.4M3M.upload.maximum_size=1044464 espectro.menu.eesz.4M3M.build.spiffs_start=0x100000 espectro.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espectro.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espectro.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espectro.menu.eesz.4M3M.build.spiffs_pagesize=256 +espectro.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espectro.menu.eesz.4M1M.build.flash_size=4M espectro.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espectro.menu.eesz.4M1M.build.spiffs_pagesize=256 espectro.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espectro.menu.eesz.4M1M.upload.maximum_size=1044464 espectro.menu.eesz.4M1M.build.spiffs_start=0x300000 espectro.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espectro.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espectro.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espectro.menu.eesz.4M1M.build.spiffs_pagesize=256 +espectro.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espectro.menu.eesz.4M.build.flash_size=4M espectro.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espectro.menu.eesz.4M.build.spiffs_pagesize=256 espectro.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espectro.menu.eesz.4M.upload.maximum_size=1044464 espectro.menu.ip.lm2f=v2 Lower Memory espectro.menu.ip.lm2f.build.lwip_include=lwip2/include espectro.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -2642,6 +2696,8 @@ espectro.menu.dbg.Serial1=Serial1 espectro.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espectro.menu.lvl.None____=None espectro.menu.lvl.None____.build.debug_level= +espectro.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espectro.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espectro.menu.lvl.SSL=SSL espectro.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espectro.menu.lvl.TLS_MEM=TLS_MEM @@ -2686,24 +2742,20 @@ espectro.menu.lvl.OOM=OOM espectro.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espectro.menu.lvl.MDNS=MDNS espectro.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espectro.menu.lvl.HWDT=HWDT -espectro.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espectro.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espectro.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espectro.menu.lvl.HWDT=HWDT +espectro.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espectro.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espectro.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espectro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espectro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espectro.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espectro.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espectro.menu.wipe.none=Only Sketch espectro.menu.wipe.none.upload.erase_cmd= espectro.menu.wipe.sdk=Sketch + WiFi Settings @@ -2796,35 +2848,38 @@ espino.menu.ResetMethod.ck.upload.resetmethod=--before no_reset --after soft_res espino.build.flash_mode=qio espino.build.flash_flags=-DFLASHMODE_QIO espino.build.flash_freq=40 -espino.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espino.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espino.menu.eesz.4M2M.build.flash_size=4M espino.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espino.menu.eesz.4M2M.build.spiffs_pagesize=256 espino.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espino.menu.eesz.4M2M.upload.maximum_size=1044464 espino.menu.eesz.4M2M.build.spiffs_start=0x200000 espino.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espino.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espino.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espino.menu.eesz.4M2M.build.spiffs_pagesize=256 +espino.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espino.menu.eesz.4M3M.build.flash_size=4M espino.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espino.menu.eesz.4M3M.build.spiffs_pagesize=256 espino.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espino.menu.eesz.4M3M.upload.maximum_size=1044464 espino.menu.eesz.4M3M.build.spiffs_start=0x100000 espino.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espino.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espino.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espino.menu.eesz.4M3M.build.spiffs_pagesize=256 +espino.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espino.menu.eesz.4M1M.build.flash_size=4M espino.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espino.menu.eesz.4M1M.build.spiffs_pagesize=256 espino.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espino.menu.eesz.4M1M.upload.maximum_size=1044464 espino.menu.eesz.4M1M.build.spiffs_start=0x300000 espino.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espino.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espino.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espino.menu.eesz.4M1M.build.spiffs_pagesize=256 +espino.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espino.menu.eesz.4M.build.flash_size=4M espino.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espino.menu.eesz.4M.build.spiffs_pagesize=256 espino.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espino.menu.eesz.4M.upload.maximum_size=1044464 espino.menu.ip.lm2f=v2 Lower Memory espino.menu.ip.lm2f.build.lwip_include=lwip2/include espino.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -2857,6 +2912,8 @@ espino.menu.dbg.Serial1=Serial1 espino.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espino.menu.lvl.None____=None espino.menu.lvl.None____.build.debug_level= +espino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espino.menu.lvl.SSL=SSL espino.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espino.menu.lvl.TLS_MEM=TLS_MEM @@ -2901,24 +2958,20 @@ espino.menu.lvl.OOM=OOM espino.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espino.menu.lvl.MDNS=MDNS espino.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espino.menu.lvl.HWDT=HWDT -espino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espino.menu.lvl.HWDT=HWDT +espino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espino.menu.wipe.none=Only Sketch espino.menu.wipe.none.upload.erase_cmd= espino.menu.wipe.sdk=Sketch + WiFi Settings @@ -3007,35 +3060,38 @@ espresso_lite_v1.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER espresso_lite_v1.build.flash_mode=dio espresso_lite_v1.build.flash_flags=-DFLASHMODE_DIO espresso_lite_v1.build.flash_freq=40 -espresso_lite_v1.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espresso_lite_v1.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espresso_lite_v1.menu.eesz.4M2M.build.flash_size=4M espresso_lite_v1.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espresso_lite_v1.menu.eesz.4M2M.build.spiffs_pagesize=256 espresso_lite_v1.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espresso_lite_v1.menu.eesz.4M2M.upload.maximum_size=1044464 espresso_lite_v1.menu.eesz.4M2M.build.spiffs_start=0x200000 espresso_lite_v1.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espresso_lite_v1.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espresso_lite_v1.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espresso_lite_v1.menu.eesz.4M2M.build.spiffs_pagesize=256 +espresso_lite_v1.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espresso_lite_v1.menu.eesz.4M3M.build.flash_size=4M espresso_lite_v1.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espresso_lite_v1.menu.eesz.4M3M.build.spiffs_pagesize=256 espresso_lite_v1.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espresso_lite_v1.menu.eesz.4M3M.upload.maximum_size=1044464 espresso_lite_v1.menu.eesz.4M3M.build.spiffs_start=0x100000 espresso_lite_v1.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espresso_lite_v1.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espresso_lite_v1.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espresso_lite_v1.menu.eesz.4M3M.build.spiffs_pagesize=256 +espresso_lite_v1.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espresso_lite_v1.menu.eesz.4M1M.build.flash_size=4M espresso_lite_v1.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espresso_lite_v1.menu.eesz.4M1M.build.spiffs_pagesize=256 espresso_lite_v1.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espresso_lite_v1.menu.eesz.4M1M.upload.maximum_size=1044464 espresso_lite_v1.menu.eesz.4M1M.build.spiffs_start=0x300000 espresso_lite_v1.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espresso_lite_v1.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espresso_lite_v1.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espresso_lite_v1.menu.eesz.4M1M.build.spiffs_pagesize=256 +espresso_lite_v1.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espresso_lite_v1.menu.eesz.4M.build.flash_size=4M espresso_lite_v1.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espresso_lite_v1.menu.eesz.4M.build.spiffs_pagesize=256 espresso_lite_v1.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espresso_lite_v1.menu.eesz.4M.upload.maximum_size=1044464 espresso_lite_v1.menu.ResetMethod.nodemcu=dtr (aka nodemcu) espresso_lite_v1.menu.ResetMethod.nodemcu.upload.resetmethod=--before default_reset --after hard_reset espresso_lite_v1.menu.ResetMethod.ck=no dtr (aka ck) @@ -3072,6 +3128,8 @@ espresso_lite_v1.menu.dbg.Serial1=Serial1 espresso_lite_v1.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espresso_lite_v1.menu.lvl.None____=None espresso_lite_v1.menu.lvl.None____.build.debug_level= +espresso_lite_v1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espresso_lite_v1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v1.menu.lvl.SSL=SSL espresso_lite_v1.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espresso_lite_v1.menu.lvl.TLS_MEM=TLS_MEM @@ -3116,24 +3174,20 @@ espresso_lite_v1.menu.lvl.OOM=OOM espresso_lite_v1.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espresso_lite_v1.menu.lvl.MDNS=MDNS espresso_lite_v1.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espresso_lite_v1.menu.lvl.HWDT=HWDT -espresso_lite_v1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espresso_lite_v1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espresso_lite_v1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espresso_lite_v1.menu.lvl.HWDT=HWDT +espresso_lite_v1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espresso_lite_v1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espresso_lite_v1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espresso_lite_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espresso_lite_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espresso_lite_v1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espresso_lite_v1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v1.menu.wipe.none=Only Sketch espresso_lite_v1.menu.wipe.none.upload.erase_cmd= espresso_lite_v1.menu.wipe.sdk=Sketch + WiFi Settings @@ -3222,35 +3276,38 @@ espresso_lite_v2.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER espresso_lite_v2.build.flash_mode=dio espresso_lite_v2.build.flash_flags=-DFLASHMODE_DIO espresso_lite_v2.build.flash_freq=40 -espresso_lite_v2.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espresso_lite_v2.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espresso_lite_v2.menu.eesz.4M2M.build.flash_size=4M espresso_lite_v2.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espresso_lite_v2.menu.eesz.4M2M.build.spiffs_pagesize=256 espresso_lite_v2.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espresso_lite_v2.menu.eesz.4M2M.upload.maximum_size=1044464 espresso_lite_v2.menu.eesz.4M2M.build.spiffs_start=0x200000 espresso_lite_v2.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espresso_lite_v2.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espresso_lite_v2.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espresso_lite_v2.menu.eesz.4M2M.build.spiffs_pagesize=256 +espresso_lite_v2.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espresso_lite_v2.menu.eesz.4M3M.build.flash_size=4M espresso_lite_v2.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espresso_lite_v2.menu.eesz.4M3M.build.spiffs_pagesize=256 espresso_lite_v2.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espresso_lite_v2.menu.eesz.4M3M.upload.maximum_size=1044464 espresso_lite_v2.menu.eesz.4M3M.build.spiffs_start=0x100000 espresso_lite_v2.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espresso_lite_v2.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espresso_lite_v2.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espresso_lite_v2.menu.eesz.4M3M.build.spiffs_pagesize=256 +espresso_lite_v2.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espresso_lite_v2.menu.eesz.4M1M.build.flash_size=4M espresso_lite_v2.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espresso_lite_v2.menu.eesz.4M1M.build.spiffs_pagesize=256 espresso_lite_v2.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espresso_lite_v2.menu.eesz.4M1M.upload.maximum_size=1044464 espresso_lite_v2.menu.eesz.4M1M.build.spiffs_start=0x300000 espresso_lite_v2.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espresso_lite_v2.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espresso_lite_v2.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espresso_lite_v2.menu.eesz.4M1M.build.spiffs_pagesize=256 +espresso_lite_v2.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espresso_lite_v2.menu.eesz.4M.build.flash_size=4M espresso_lite_v2.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espresso_lite_v2.menu.eesz.4M.build.spiffs_pagesize=256 espresso_lite_v2.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espresso_lite_v2.menu.eesz.4M.upload.maximum_size=1044464 espresso_lite_v2.menu.ResetMethod.nodemcu=dtr (aka nodemcu) espresso_lite_v2.menu.ResetMethod.nodemcu.upload.resetmethod=--before default_reset --after hard_reset espresso_lite_v2.menu.ResetMethod.ck=no dtr (aka ck) @@ -3287,6 +3344,8 @@ espresso_lite_v2.menu.dbg.Serial1=Serial1 espresso_lite_v2.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espresso_lite_v2.menu.lvl.None____=None espresso_lite_v2.menu.lvl.None____.build.debug_level= +espresso_lite_v2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espresso_lite_v2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v2.menu.lvl.SSL=SSL espresso_lite_v2.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espresso_lite_v2.menu.lvl.TLS_MEM=TLS_MEM @@ -3331,24 +3390,20 @@ espresso_lite_v2.menu.lvl.OOM=OOM espresso_lite_v2.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espresso_lite_v2.menu.lvl.MDNS=MDNS espresso_lite_v2.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espresso_lite_v2.menu.lvl.HWDT=HWDT -espresso_lite_v2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espresso_lite_v2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espresso_lite_v2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espresso_lite_v2.menu.lvl.HWDT=HWDT +espresso_lite_v2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espresso_lite_v2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espresso_lite_v2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espresso_lite_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espresso_lite_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espresso_lite_v2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espresso_lite_v2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v2.menu.wipe.none=Only Sketch espresso_lite_v2.menu.wipe.none.upload.erase_cmd= espresso_lite_v2.menu.wipe.sdk=Sketch + WiFi Settings @@ -3447,67 +3502,74 @@ sonoff.upload.resetmethod=--before no_reset --after soft_reset sonoff.build.flash_mode=dout sonoff.build.flash_flags=-DFLASHMODE_DOUT sonoff.build.flash_freq=40 -sonoff.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +sonoff.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) sonoff.menu.eesz.1M64.build.flash_size=1M sonoff.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -sonoff.menu.eesz.1M64.build.spiffs_pagesize=256 sonoff.menu.eesz.1M64.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M64.upload.maximum_size=1044464 sonoff.menu.eesz.1M64.build.spiffs_start=0xEB000 sonoff.menu.eesz.1M64.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M64.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +sonoff.menu.eesz.1M64.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) sonoff.menu.eesz.1M128.build.flash_size=1M sonoff.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -sonoff.menu.eesz.1M128.build.spiffs_pagesize=256 sonoff.menu.eesz.1M128.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M128.upload.maximum_size=1044464 sonoff.menu.eesz.1M128.build.spiffs_start=0xDB000 sonoff.menu.eesz.1M128.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M128.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +sonoff.menu.eesz.1M128.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) sonoff.menu.eesz.1M144.build.flash_size=1M sonoff.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -sonoff.menu.eesz.1M144.build.spiffs_pagesize=256 sonoff.menu.eesz.1M144.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M144.upload.maximum_size=1044464 sonoff.menu.eesz.1M144.build.spiffs_start=0xD7000 sonoff.menu.eesz.1M144.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M144.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +sonoff.menu.eesz.1M144.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) sonoff.menu.eesz.1M160.build.flash_size=1M sonoff.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -sonoff.menu.eesz.1M160.build.spiffs_pagesize=256 sonoff.menu.eesz.1M160.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M160.upload.maximum_size=1044464 sonoff.menu.eesz.1M160.build.spiffs_start=0xD3000 sonoff.menu.eesz.1M160.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M160.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +sonoff.menu.eesz.1M160.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) sonoff.menu.eesz.1M192.build.flash_size=1M sonoff.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -sonoff.menu.eesz.1M192.build.spiffs_pagesize=256 sonoff.menu.eesz.1M192.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M192.upload.maximum_size=1044464 sonoff.menu.eesz.1M192.build.spiffs_start=0xCB000 sonoff.menu.eesz.1M192.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M192.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +sonoff.menu.eesz.1M192.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) sonoff.menu.eesz.1M256.build.flash_size=1M sonoff.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -sonoff.menu.eesz.1M256.build.spiffs_pagesize=256 sonoff.menu.eesz.1M256.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M256.upload.maximum_size=1044464 sonoff.menu.eesz.1M256.build.spiffs_start=0xBB000 sonoff.menu.eesz.1M256.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M256.build.spiffs_blocksize=4096 -sonoff.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +sonoff.menu.eesz.1M256.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) sonoff.menu.eesz.1M512.build.flash_size=1M sonoff.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -sonoff.menu.eesz.1M512.build.spiffs_pagesize=256 sonoff.menu.eesz.1M512.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M512.upload.maximum_size=1044464 sonoff.menu.eesz.1M512.build.spiffs_start=0x7B000 sonoff.menu.eesz.1M512.build.spiffs_end=0xFB000 sonoff.menu.eesz.1M512.build.spiffs_blocksize=8192 -sonoff.menu.eesz.1M=1MB (FS:none OTA:~502KB) +sonoff.menu.eesz.1M512.build.spiffs_pagesize=256 +sonoff.menu.eesz.1M=1MB (FS:none OTA:~499KB) sonoff.menu.eesz.1M.build.flash_size=1M sonoff.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -sonoff.menu.eesz.1M.build.spiffs_pagesize=256 sonoff.menu.eesz.1M.build.rfcal_addr=0xFC000 +sonoff.menu.eesz.1M.upload.maximum_size=1044464 sonoff.menu.ip.lm2f=v2 Lower Memory sonoff.menu.ip.lm2f.build.lwip_include=lwip2/include sonoff.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -3540,6 +3602,8 @@ sonoff.menu.dbg.Serial1=Serial1 sonoff.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 sonoff.menu.lvl.None____=None sonoff.menu.lvl.None____.build.debug_level= +sonoff.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +sonoff.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG sonoff.menu.lvl.SSL=SSL sonoff.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL sonoff.menu.lvl.TLS_MEM=TLS_MEM @@ -3584,24 +3648,20 @@ sonoff.menu.lvl.OOM=OOM sonoff.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM sonoff.menu.lvl.MDNS=MDNS sonoff.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -sonoff.menu.lvl.HWDT=HWDT -sonoff.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -sonoff.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -sonoff.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +sonoff.menu.lvl.HWDT=HWDT +sonoff.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +sonoff.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +sonoff.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +sonoff.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K sonoff.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -sonoff.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -sonoff.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG sonoff.menu.wipe.none=Only Sketch sonoff.menu.wipe.none.upload.erase_cmd= sonoff.menu.wipe.sdk=Sketch + WiFi Settings @@ -3691,35 +3751,38 @@ inventone.upload.resetmethod=--before default_reset --after hard_reset inventone.build.flash_mode=dio inventone.build.flash_flags=-DFLASHMODE_DIO inventone.build.flash_freq=40 -inventone.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +inventone.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) inventone.menu.eesz.4M2M.build.flash_size=4M inventone.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -inventone.menu.eesz.4M2M.build.spiffs_pagesize=256 inventone.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +inventone.menu.eesz.4M2M.upload.maximum_size=1044464 inventone.menu.eesz.4M2M.build.spiffs_start=0x200000 inventone.menu.eesz.4M2M.build.spiffs_end=0x3FA000 inventone.menu.eesz.4M2M.build.spiffs_blocksize=8192 -inventone.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +inventone.menu.eesz.4M2M.build.spiffs_pagesize=256 +inventone.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) inventone.menu.eesz.4M3M.build.flash_size=4M inventone.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -inventone.menu.eesz.4M3M.build.spiffs_pagesize=256 inventone.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +inventone.menu.eesz.4M3M.upload.maximum_size=1044464 inventone.menu.eesz.4M3M.build.spiffs_start=0x100000 inventone.menu.eesz.4M3M.build.spiffs_end=0x3FA000 inventone.menu.eesz.4M3M.build.spiffs_blocksize=8192 -inventone.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +inventone.menu.eesz.4M3M.build.spiffs_pagesize=256 +inventone.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) inventone.menu.eesz.4M1M.build.flash_size=4M inventone.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -inventone.menu.eesz.4M1M.build.spiffs_pagesize=256 inventone.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +inventone.menu.eesz.4M1M.upload.maximum_size=1044464 inventone.menu.eesz.4M1M.build.spiffs_start=0x300000 inventone.menu.eesz.4M1M.build.spiffs_end=0x3FA000 inventone.menu.eesz.4M1M.build.spiffs_blocksize=8192 -inventone.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +inventone.menu.eesz.4M1M.build.spiffs_pagesize=256 +inventone.menu.eesz.4M=4MB (FS:none OTA:~3052KB) inventone.menu.eesz.4M.build.flash_size=4M inventone.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -inventone.menu.eesz.4M.build.spiffs_pagesize=256 inventone.menu.eesz.4M.build.rfcal_addr=0x3FC000 +inventone.menu.eesz.4M.upload.maximum_size=1044464 inventone.menu.ip.lm2f=v2 Lower Memory inventone.menu.ip.lm2f.build.lwip_include=lwip2/include inventone.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -3752,6 +3815,8 @@ inventone.menu.dbg.Serial1=Serial1 inventone.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 inventone.menu.lvl.None____=None inventone.menu.lvl.None____.build.debug_level= +inventone.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +inventone.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG inventone.menu.lvl.SSL=SSL inventone.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL inventone.menu.lvl.TLS_MEM=TLS_MEM @@ -3796,24 +3861,20 @@ inventone.menu.lvl.OOM=OOM inventone.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM inventone.menu.lvl.MDNS=MDNS inventone.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -inventone.menu.lvl.HWDT=HWDT -inventone.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -inventone.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -inventone.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +inventone.menu.lvl.HWDT=HWDT +inventone.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +inventone.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +inventone.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +inventone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K inventone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -inventone.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -inventone.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG inventone.menu.wipe.none=Only Sketch inventone.menu.wipe.none.upload.erase_cmd= inventone.menu.wipe.sdk=Sketch + WiFi Settings @@ -3903,35 +3964,38 @@ d1_mini.upload.resetmethod=--before default_reset --after hard_reset d1_mini.build.flash_mode=dio d1_mini.build.flash_flags=-DFLASHMODE_DIO d1_mini.build.flash_freq=40 -d1_mini.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +d1_mini.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) d1_mini.menu.eesz.4M2M.build.flash_size=4M d1_mini.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -d1_mini.menu.eesz.4M2M.build.spiffs_pagesize=256 d1_mini.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +d1_mini.menu.eesz.4M2M.upload.maximum_size=1044464 d1_mini.menu.eesz.4M2M.build.spiffs_start=0x200000 d1_mini.menu.eesz.4M2M.build.spiffs_end=0x3FA000 d1_mini.menu.eesz.4M2M.build.spiffs_blocksize=8192 -d1_mini.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +d1_mini.menu.eesz.4M2M.build.spiffs_pagesize=256 +d1_mini.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) d1_mini.menu.eesz.4M3M.build.flash_size=4M d1_mini.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -d1_mini.menu.eesz.4M3M.build.spiffs_pagesize=256 d1_mini.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +d1_mini.menu.eesz.4M3M.upload.maximum_size=1044464 d1_mini.menu.eesz.4M3M.build.spiffs_start=0x100000 d1_mini.menu.eesz.4M3M.build.spiffs_end=0x3FA000 d1_mini.menu.eesz.4M3M.build.spiffs_blocksize=8192 -d1_mini.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +d1_mini.menu.eesz.4M3M.build.spiffs_pagesize=256 +d1_mini.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) d1_mini.menu.eesz.4M1M.build.flash_size=4M d1_mini.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -d1_mini.menu.eesz.4M1M.build.spiffs_pagesize=256 d1_mini.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +d1_mini.menu.eesz.4M1M.upload.maximum_size=1044464 d1_mini.menu.eesz.4M1M.build.spiffs_start=0x300000 d1_mini.menu.eesz.4M1M.build.spiffs_end=0x3FA000 d1_mini.menu.eesz.4M1M.build.spiffs_blocksize=8192 -d1_mini.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +d1_mini.menu.eesz.4M1M.build.spiffs_pagesize=256 +d1_mini.menu.eesz.4M=4MB (FS:none OTA:~3052KB) d1_mini.menu.eesz.4M.build.flash_size=4M d1_mini.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -d1_mini.menu.eesz.4M.build.spiffs_pagesize=256 d1_mini.menu.eesz.4M.build.rfcal_addr=0x3FC000 +d1_mini.menu.eesz.4M.upload.maximum_size=1044464 d1_mini.menu.ip.lm2f=v2 Lower Memory d1_mini.menu.ip.lm2f.build.lwip_include=lwip2/include d1_mini.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -3964,6 +4028,8 @@ d1_mini.menu.dbg.Serial1=Serial1 d1_mini.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 d1_mini.menu.lvl.None____=None d1_mini.menu.lvl.None____.build.debug_level= +d1_mini.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +d1_mini.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini.menu.lvl.SSL=SSL d1_mini.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL d1_mini.menu.lvl.TLS_MEM=TLS_MEM @@ -4008,24 +4074,20 @@ d1_mini.menu.lvl.OOM=OOM d1_mini.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM d1_mini.menu.lvl.MDNS=MDNS d1_mini.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -d1_mini.menu.lvl.HWDT=HWDT -d1_mini.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -d1_mini.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -d1_mini.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +d1_mini.menu.lvl.HWDT=HWDT +d1_mini.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +d1_mini.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +d1_mini.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +d1_mini.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K d1_mini.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -d1_mini.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini.menu.wipe.none=Only Sketch d1_mini.menu.wipe.none.upload.erase_cmd= d1_mini.menu.wipe.sdk=Sketch + WiFi Settings @@ -4132,35 +4194,38 @@ d1_mini_clone.menu.FlashFreq.20=20MHz d1_mini_clone.menu.FlashFreq.20.build.flash_freq=20 d1_mini_clone.menu.FlashFreq.26=26MHz d1_mini_clone.menu.FlashFreq.26.build.flash_freq=26 -d1_mini_clone.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +d1_mini_clone.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) d1_mini_clone.menu.eesz.4M2M.build.flash_size=4M d1_mini_clone.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -d1_mini_clone.menu.eesz.4M2M.build.spiffs_pagesize=256 d1_mini_clone.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +d1_mini_clone.menu.eesz.4M2M.upload.maximum_size=1044464 d1_mini_clone.menu.eesz.4M2M.build.spiffs_start=0x200000 d1_mini_clone.menu.eesz.4M2M.build.spiffs_end=0x3FA000 d1_mini_clone.menu.eesz.4M2M.build.spiffs_blocksize=8192 -d1_mini_clone.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +d1_mini_clone.menu.eesz.4M2M.build.spiffs_pagesize=256 +d1_mini_clone.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) d1_mini_clone.menu.eesz.4M3M.build.flash_size=4M d1_mini_clone.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -d1_mini_clone.menu.eesz.4M3M.build.spiffs_pagesize=256 d1_mini_clone.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +d1_mini_clone.menu.eesz.4M3M.upload.maximum_size=1044464 d1_mini_clone.menu.eesz.4M3M.build.spiffs_start=0x100000 d1_mini_clone.menu.eesz.4M3M.build.spiffs_end=0x3FA000 d1_mini_clone.menu.eesz.4M3M.build.spiffs_blocksize=8192 -d1_mini_clone.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +d1_mini_clone.menu.eesz.4M3M.build.spiffs_pagesize=256 +d1_mini_clone.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) d1_mini_clone.menu.eesz.4M1M.build.flash_size=4M d1_mini_clone.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -d1_mini_clone.menu.eesz.4M1M.build.spiffs_pagesize=256 d1_mini_clone.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +d1_mini_clone.menu.eesz.4M1M.upload.maximum_size=1044464 d1_mini_clone.menu.eesz.4M1M.build.spiffs_start=0x300000 d1_mini_clone.menu.eesz.4M1M.build.spiffs_end=0x3FA000 d1_mini_clone.menu.eesz.4M1M.build.spiffs_blocksize=8192 -d1_mini_clone.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +d1_mini_clone.menu.eesz.4M1M.build.spiffs_pagesize=256 +d1_mini_clone.menu.eesz.4M=4MB (FS:none OTA:~3052KB) d1_mini_clone.menu.eesz.4M.build.flash_size=4M d1_mini_clone.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -d1_mini_clone.menu.eesz.4M.build.spiffs_pagesize=256 d1_mini_clone.menu.eesz.4M.build.rfcal_addr=0x3FC000 +d1_mini_clone.menu.eesz.4M.upload.maximum_size=1044464 d1_mini_clone.menu.ip.lm2f=v2 Lower Memory d1_mini_clone.menu.ip.lm2f.build.lwip_include=lwip2/include d1_mini_clone.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -4193,6 +4258,8 @@ d1_mini_clone.menu.dbg.Serial1=Serial1 d1_mini_clone.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 d1_mini_clone.menu.lvl.None____=None d1_mini_clone.menu.lvl.None____.build.debug_level= +d1_mini_clone.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +d1_mini_clone.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_clone.menu.lvl.SSL=SSL d1_mini_clone.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL d1_mini_clone.menu.lvl.TLS_MEM=TLS_MEM @@ -4237,24 +4304,20 @@ d1_mini_clone.menu.lvl.OOM=OOM d1_mini_clone.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM d1_mini_clone.menu.lvl.MDNS=MDNS d1_mini_clone.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -d1_mini_clone.menu.lvl.HWDT=HWDT -d1_mini_clone.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -d1_mini_clone.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -d1_mini_clone.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +d1_mini_clone.menu.lvl.HWDT=HWDT +d1_mini_clone.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +d1_mini_clone.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +d1_mini_clone.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +d1_mini_clone.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K d1_mini_clone.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_clone.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -d1_mini_clone.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_clone.menu.wipe.none=Only Sketch d1_mini_clone.menu.wipe.none.upload.erase_cmd= d1_mini_clone.menu.wipe.sdk=Sketch + WiFi Settings @@ -4344,67 +4407,74 @@ d1_mini_lite.upload.resetmethod=--before default_reset --after hard_reset d1_mini_lite.build.flash_mode=dout d1_mini_lite.build.flash_flags=-DFLASHMODE_DOUT d1_mini_lite.build.flash_freq=40 -d1_mini_lite.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +d1_mini_lite.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) d1_mini_lite.menu.eesz.1M64.build.flash_size=1M d1_mini_lite.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -d1_mini_lite.menu.eesz.1M64.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M64.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M64.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M64.build.spiffs_start=0xEB000 d1_mini_lite.menu.eesz.1M64.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M64.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +d1_mini_lite.menu.eesz.1M64.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) d1_mini_lite.menu.eesz.1M128.build.flash_size=1M d1_mini_lite.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -d1_mini_lite.menu.eesz.1M128.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M128.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M128.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M128.build.spiffs_start=0xDB000 d1_mini_lite.menu.eesz.1M128.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M128.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +d1_mini_lite.menu.eesz.1M128.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) d1_mini_lite.menu.eesz.1M144.build.flash_size=1M d1_mini_lite.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -d1_mini_lite.menu.eesz.1M144.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M144.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M144.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M144.build.spiffs_start=0xD7000 d1_mini_lite.menu.eesz.1M144.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M144.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +d1_mini_lite.menu.eesz.1M144.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) d1_mini_lite.menu.eesz.1M160.build.flash_size=1M d1_mini_lite.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -d1_mini_lite.menu.eesz.1M160.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M160.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M160.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M160.build.spiffs_start=0xD3000 d1_mini_lite.menu.eesz.1M160.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M160.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +d1_mini_lite.menu.eesz.1M160.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) d1_mini_lite.menu.eesz.1M192.build.flash_size=1M d1_mini_lite.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -d1_mini_lite.menu.eesz.1M192.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M192.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M192.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M192.build.spiffs_start=0xCB000 d1_mini_lite.menu.eesz.1M192.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M192.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +d1_mini_lite.menu.eesz.1M192.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) d1_mini_lite.menu.eesz.1M256.build.flash_size=1M d1_mini_lite.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -d1_mini_lite.menu.eesz.1M256.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M256.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M256.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M256.build.spiffs_start=0xBB000 d1_mini_lite.menu.eesz.1M256.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M256.build.spiffs_blocksize=4096 -d1_mini_lite.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +d1_mini_lite.menu.eesz.1M256.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) d1_mini_lite.menu.eesz.1M512.build.flash_size=1M d1_mini_lite.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -d1_mini_lite.menu.eesz.1M512.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M512.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M512.upload.maximum_size=1044464 d1_mini_lite.menu.eesz.1M512.build.spiffs_start=0x7B000 d1_mini_lite.menu.eesz.1M512.build.spiffs_end=0xFB000 d1_mini_lite.menu.eesz.1M512.build.spiffs_blocksize=8192 -d1_mini_lite.menu.eesz.1M=1MB (FS:none OTA:~502KB) +d1_mini_lite.menu.eesz.1M512.build.spiffs_pagesize=256 +d1_mini_lite.menu.eesz.1M=1MB (FS:none OTA:~499KB) d1_mini_lite.menu.eesz.1M.build.flash_size=1M d1_mini_lite.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -d1_mini_lite.menu.eesz.1M.build.spiffs_pagesize=256 d1_mini_lite.menu.eesz.1M.build.rfcal_addr=0xFC000 +d1_mini_lite.menu.eesz.1M.upload.maximum_size=1044464 d1_mini_lite.menu.ip.lm2f=v2 Lower Memory d1_mini_lite.menu.ip.lm2f.build.lwip_include=lwip2/include d1_mini_lite.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -4437,6 +4507,8 @@ d1_mini_lite.menu.dbg.Serial1=Serial1 d1_mini_lite.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 d1_mini_lite.menu.lvl.None____=None d1_mini_lite.menu.lvl.None____.build.debug_level= +d1_mini_lite.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +d1_mini_lite.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_lite.menu.lvl.SSL=SSL d1_mini_lite.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL d1_mini_lite.menu.lvl.TLS_MEM=TLS_MEM @@ -4481,24 +4553,20 @@ d1_mini_lite.menu.lvl.OOM=OOM d1_mini_lite.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM d1_mini_lite.menu.lvl.MDNS=MDNS d1_mini_lite.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -d1_mini_lite.menu.lvl.HWDT=HWDT -d1_mini_lite.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -d1_mini_lite.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -d1_mini_lite.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +d1_mini_lite.menu.lvl.HWDT=HWDT +d1_mini_lite.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +d1_mini_lite.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +d1_mini_lite.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +d1_mini_lite.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K d1_mini_lite.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_lite.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -d1_mini_lite.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_lite.menu.wipe.none=Only Sketch d1_mini_lite.menu.wipe.none.upload.erase_cmd= d1_mini_lite.menu.wipe.sdk=Sketch + WiFi Settings @@ -4588,27 +4656,29 @@ d1_mini_pro.upload.resetmethod=--before default_reset --after hard_reset d1_mini_pro.build.flash_mode=dio d1_mini_pro.build.flash_flags=-DFLASHMODE_DIO d1_mini_pro.build.flash_freq=40 -d1_mini_pro.menu.eesz.16M14M=16MB (FS:14MB OTA:~1019KB) +d1_mini_pro.menu.eesz.16M14M=16MB (FS:13MB OTA:~1MB) d1_mini_pro.menu.eesz.16M14M.build.flash_size=16M d1_mini_pro.menu.eesz.16M14M.build.flash_ld=eagle.flash.16m14m.ld -d1_mini_pro.menu.eesz.16M14M.build.spiffs_pagesize=256 d1_mini_pro.menu.eesz.16M14M.build.rfcal_addr=0xFFC000 +d1_mini_pro.menu.eesz.16M14M.upload.maximum_size=1044464 d1_mini_pro.menu.eesz.16M14M.build.spiffs_start=0x200000 d1_mini_pro.menu.eesz.16M14M.build.spiffs_end=0xFFA000 d1_mini_pro.menu.eesz.16M14M.build.spiffs_blocksize=8192 -d1_mini_pro.menu.eesz.16M15M=16MB (FS:15MB OTA:~512KB) +d1_mini_pro.menu.eesz.16M14M.build.spiffs_pagesize=256 +d1_mini_pro.menu.eesz.16M15M=16MB (FS:14MB OTA:~509KB) d1_mini_pro.menu.eesz.16M15M.build.flash_size=16M d1_mini_pro.menu.eesz.16M15M.build.flash_ld=eagle.flash.16m15m.ld -d1_mini_pro.menu.eesz.16M15M.build.spiffs_pagesize=256 d1_mini_pro.menu.eesz.16M15M.build.rfcal_addr=0xFFC000 +d1_mini_pro.menu.eesz.16M15M.upload.maximum_size=1044464 d1_mini_pro.menu.eesz.16M15M.build.spiffs_start=0x100000 d1_mini_pro.menu.eesz.16M15M.build.spiffs_end=0xFFA000 d1_mini_pro.menu.eesz.16M15M.build.spiffs_blocksize=8192 -d1_mini_pro.menu.eesz.16M=16MB (FS:none OTA:~1019KB) +d1_mini_pro.menu.eesz.16M15M.build.spiffs_pagesize=256 +d1_mini_pro.menu.eesz.16M=16MB (FS:none OTA:~14MB) d1_mini_pro.menu.eesz.16M.build.flash_size=16M d1_mini_pro.menu.eesz.16M.build.flash_ld=eagle.flash.16m.ld -d1_mini_pro.menu.eesz.16M.build.spiffs_pagesize=256 d1_mini_pro.menu.eesz.16M.build.rfcal_addr=0xFFC000 +d1_mini_pro.menu.eesz.16M.upload.maximum_size=1044464 d1_mini_pro.menu.ip.lm2f=v2 Lower Memory d1_mini_pro.menu.ip.lm2f.build.lwip_include=lwip2/include d1_mini_pro.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -4641,6 +4711,8 @@ d1_mini_pro.menu.dbg.Serial1=Serial1 d1_mini_pro.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 d1_mini_pro.menu.lvl.None____=None d1_mini_pro.menu.lvl.None____.build.debug_level= +d1_mini_pro.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +d1_mini_pro.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_pro.menu.lvl.SSL=SSL d1_mini_pro.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL d1_mini_pro.menu.lvl.TLS_MEM=TLS_MEM @@ -4685,24 +4757,20 @@ d1_mini_pro.menu.lvl.OOM=OOM d1_mini_pro.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM d1_mini_pro.menu.lvl.MDNS=MDNS d1_mini_pro.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -d1_mini_pro.menu.lvl.HWDT=HWDT -d1_mini_pro.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -d1_mini_pro.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -d1_mini_pro.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +d1_mini_pro.menu.lvl.HWDT=HWDT +d1_mini_pro.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +d1_mini_pro.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +d1_mini_pro.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +d1_mini_pro.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K d1_mini_pro.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1_mini_pro.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -d1_mini_pro.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_pro.menu.wipe.none=Only Sketch d1_mini_pro.menu.wipe.none.upload.erase_cmd= d1_mini_pro.menu.wipe.sdk=Sketch + WiFi Settings @@ -4792,35 +4860,38 @@ d1.upload.resetmethod=--before default_reset --after hard_reset d1.build.flash_mode=dio d1.build.flash_flags=-DFLASHMODE_DIO d1.build.flash_freq=40 -d1.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +d1.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) d1.menu.eesz.4M2M.build.flash_size=4M d1.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -d1.menu.eesz.4M2M.build.spiffs_pagesize=256 d1.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +d1.menu.eesz.4M2M.upload.maximum_size=1044464 d1.menu.eesz.4M2M.build.spiffs_start=0x200000 d1.menu.eesz.4M2M.build.spiffs_end=0x3FA000 d1.menu.eesz.4M2M.build.spiffs_blocksize=8192 -d1.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +d1.menu.eesz.4M2M.build.spiffs_pagesize=256 +d1.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) d1.menu.eesz.4M3M.build.flash_size=4M d1.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -d1.menu.eesz.4M3M.build.spiffs_pagesize=256 d1.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +d1.menu.eesz.4M3M.upload.maximum_size=1044464 d1.menu.eesz.4M3M.build.spiffs_start=0x100000 d1.menu.eesz.4M3M.build.spiffs_end=0x3FA000 d1.menu.eesz.4M3M.build.spiffs_blocksize=8192 -d1.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +d1.menu.eesz.4M3M.build.spiffs_pagesize=256 +d1.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) d1.menu.eesz.4M1M.build.flash_size=4M d1.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -d1.menu.eesz.4M1M.build.spiffs_pagesize=256 d1.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +d1.menu.eesz.4M1M.upload.maximum_size=1044464 d1.menu.eesz.4M1M.build.spiffs_start=0x300000 d1.menu.eesz.4M1M.build.spiffs_end=0x3FA000 d1.menu.eesz.4M1M.build.spiffs_blocksize=8192 -d1.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +d1.menu.eesz.4M1M.build.spiffs_pagesize=256 +d1.menu.eesz.4M=4MB (FS:none OTA:~3052KB) d1.menu.eesz.4M.build.flash_size=4M d1.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -d1.menu.eesz.4M.build.spiffs_pagesize=256 d1.menu.eesz.4M.build.rfcal_addr=0x3FC000 +d1.menu.eesz.4M.upload.maximum_size=1044464 d1.menu.ip.lm2f=v2 Lower Memory d1.menu.ip.lm2f.build.lwip_include=lwip2/include d1.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -4853,6 +4924,8 @@ d1.menu.dbg.Serial1=Serial1 d1.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 d1.menu.lvl.None____=None d1.menu.lvl.None____.build.debug_level= +d1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +d1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1.menu.lvl.SSL=SSL d1.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL d1.menu.lvl.TLS_MEM=TLS_MEM @@ -4897,24 +4970,20 @@ d1.menu.lvl.OOM=OOM d1.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM d1.menu.lvl.MDNS=MDNS d1.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -d1.menu.lvl.HWDT=HWDT -d1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -d1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -d1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +d1.menu.lvl.HWDT=HWDT +d1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +d1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +d1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +d1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K d1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -d1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -d1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1.menu.wipe.none=Only Sketch d1.menu.wipe.none.upload.erase_cmd= d1.menu.wipe.sdk=Sketch + WiFi Settings @@ -5004,51 +5073,56 @@ agruminolemon.upload.resetmethod=--before default_reset --after hard_reset agruminolemon.build.flash_mode=dio agruminolemon.build.flash_flags=-DFLASHMODE_DIO agruminolemon.build.flash_freq=40 -agruminolemon.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +agruminolemon.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) agruminolemon.menu.eesz.2M64.build.flash_size=2M agruminolemon.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -agruminolemon.menu.eesz.2M64.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M64.upload.maximum_size=1044464 agruminolemon.menu.eesz.2M64.build.spiffs_start=0x1F0000 agruminolemon.menu.eesz.2M64.build.spiffs_end=0x1FB000 agruminolemon.menu.eesz.2M64.build.spiffs_blocksize=4096 -agruminolemon.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +agruminolemon.menu.eesz.2M64.build.spiffs_pagesize=256 +agruminolemon.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) agruminolemon.menu.eesz.2M128.build.flash_size=2M agruminolemon.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -agruminolemon.menu.eesz.2M128.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M128.upload.maximum_size=1044464 agruminolemon.menu.eesz.2M128.build.spiffs_start=0x1E0000 agruminolemon.menu.eesz.2M128.build.spiffs_end=0x1FB000 agruminolemon.menu.eesz.2M128.build.spiffs_blocksize=4096 -agruminolemon.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +agruminolemon.menu.eesz.2M128.build.spiffs_pagesize=256 +agruminolemon.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) agruminolemon.menu.eesz.2M256.build.flash_size=2M agruminolemon.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -agruminolemon.menu.eesz.2M256.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M256.upload.maximum_size=1044464 agruminolemon.menu.eesz.2M256.build.spiffs_start=0x1C0000 agruminolemon.menu.eesz.2M256.build.spiffs_end=0x1FB000 agruminolemon.menu.eesz.2M256.build.spiffs_blocksize=4096 -agruminolemon.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +agruminolemon.menu.eesz.2M256.build.spiffs_pagesize=256 +agruminolemon.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) agruminolemon.menu.eesz.2M512.build.flash_size=2M agruminolemon.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -agruminolemon.menu.eesz.2M512.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M512.upload.maximum_size=1044464 agruminolemon.menu.eesz.2M512.build.spiffs_start=0x180000 agruminolemon.menu.eesz.2M512.build.spiffs_end=0x1FA000 agruminolemon.menu.eesz.2M512.build.spiffs_blocksize=8192 -agruminolemon.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +agruminolemon.menu.eesz.2M512.build.spiffs_pagesize=256 +agruminolemon.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) agruminolemon.menu.eesz.2M1M.build.flash_size=2M agruminolemon.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -agruminolemon.menu.eesz.2M1M.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M1M.upload.maximum_size=1044464 agruminolemon.menu.eesz.2M1M.build.spiffs_start=0x100000 agruminolemon.menu.eesz.2M1M.build.spiffs_end=0x1FA000 agruminolemon.menu.eesz.2M1M.build.spiffs_blocksize=8192 -agruminolemon.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +agruminolemon.menu.eesz.2M1M.build.spiffs_pagesize=256 +agruminolemon.menu.eesz.2M=2MB (FS:none OTA:~1004KB) agruminolemon.menu.eesz.2M.build.flash_size=2M agruminolemon.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -agruminolemon.menu.eesz.2M.build.spiffs_pagesize=256 agruminolemon.menu.eesz.2M.build.rfcal_addr=0x1FC000 +agruminolemon.menu.eesz.2M.upload.maximum_size=1044464 agruminolemon.menu.ip.lm2f=v2 Lower Memory agruminolemon.menu.ip.lm2f.build.lwip_include=lwip2/include agruminolemon.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -5081,6 +5155,8 @@ agruminolemon.menu.dbg.Serial1=Serial1 agruminolemon.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 agruminolemon.menu.lvl.None____=None agruminolemon.menu.lvl.None____.build.debug_level= +agruminolemon.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +agruminolemon.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG agruminolemon.menu.lvl.SSL=SSL agruminolemon.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL agruminolemon.menu.lvl.TLS_MEM=TLS_MEM @@ -5125,24 +5201,20 @@ agruminolemon.menu.lvl.OOM=OOM agruminolemon.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM agruminolemon.menu.lvl.MDNS=MDNS agruminolemon.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -agruminolemon.menu.lvl.HWDT=HWDT -agruminolemon.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -agruminolemon.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -agruminolemon.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +agruminolemon.menu.lvl.HWDT=HWDT +agruminolemon.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +agruminolemon.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +agruminolemon.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +agruminolemon.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K agruminolemon.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -agruminolemon.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -agruminolemon.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG agruminolemon.menu.wipe.none=Only Sketch agruminolemon.menu.wipe.none.upload.erase_cmd= agruminolemon.menu.wipe.sdk=Sketch + WiFi Settings @@ -5232,35 +5304,38 @@ nodemcu.upload.resetmethod=--before default_reset --after hard_reset nodemcu.build.flash_mode=qio nodemcu.build.flash_flags=-DFLASHMODE_QIO nodemcu.build.flash_freq=40 -nodemcu.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +nodemcu.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) nodemcu.menu.eesz.4M2M.build.flash_size=4M nodemcu.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -nodemcu.menu.eesz.4M2M.build.spiffs_pagesize=256 nodemcu.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +nodemcu.menu.eesz.4M2M.upload.maximum_size=1044464 nodemcu.menu.eesz.4M2M.build.spiffs_start=0x200000 nodemcu.menu.eesz.4M2M.build.spiffs_end=0x3FA000 nodemcu.menu.eesz.4M2M.build.spiffs_blocksize=8192 -nodemcu.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +nodemcu.menu.eesz.4M2M.build.spiffs_pagesize=256 +nodemcu.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) nodemcu.menu.eesz.4M3M.build.flash_size=4M nodemcu.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -nodemcu.menu.eesz.4M3M.build.spiffs_pagesize=256 nodemcu.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +nodemcu.menu.eesz.4M3M.upload.maximum_size=1044464 nodemcu.menu.eesz.4M3M.build.spiffs_start=0x100000 nodemcu.menu.eesz.4M3M.build.spiffs_end=0x3FA000 nodemcu.menu.eesz.4M3M.build.spiffs_blocksize=8192 -nodemcu.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +nodemcu.menu.eesz.4M3M.build.spiffs_pagesize=256 +nodemcu.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) nodemcu.menu.eesz.4M1M.build.flash_size=4M nodemcu.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -nodemcu.menu.eesz.4M1M.build.spiffs_pagesize=256 nodemcu.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +nodemcu.menu.eesz.4M1M.upload.maximum_size=1044464 nodemcu.menu.eesz.4M1M.build.spiffs_start=0x300000 nodemcu.menu.eesz.4M1M.build.spiffs_end=0x3FA000 nodemcu.menu.eesz.4M1M.build.spiffs_blocksize=8192 -nodemcu.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +nodemcu.menu.eesz.4M1M.build.spiffs_pagesize=256 +nodemcu.menu.eesz.4M=4MB (FS:none OTA:~3052KB) nodemcu.menu.eesz.4M.build.flash_size=4M nodemcu.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -nodemcu.menu.eesz.4M.build.spiffs_pagesize=256 nodemcu.menu.eesz.4M.build.rfcal_addr=0x3FC000 +nodemcu.menu.eesz.4M.upload.maximum_size=1044464 nodemcu.menu.ip.lm2f=v2 Lower Memory nodemcu.menu.ip.lm2f.build.lwip_include=lwip2/include nodemcu.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -5293,6 +5368,8 @@ nodemcu.menu.dbg.Serial1=Serial1 nodemcu.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 nodemcu.menu.lvl.None____=None nodemcu.menu.lvl.None____.build.debug_level= +nodemcu.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +nodemcu.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcu.menu.lvl.SSL=SSL nodemcu.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL nodemcu.menu.lvl.TLS_MEM=TLS_MEM @@ -5337,24 +5414,20 @@ nodemcu.menu.lvl.OOM=OOM nodemcu.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM nodemcu.menu.lvl.MDNS=MDNS nodemcu.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -nodemcu.menu.lvl.HWDT=HWDT -nodemcu.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -nodemcu.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -nodemcu.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +nodemcu.menu.lvl.HWDT=HWDT +nodemcu.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +nodemcu.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +nodemcu.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +nodemcu.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K nodemcu.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -nodemcu.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -nodemcu.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcu.menu.wipe.none=Only Sketch nodemcu.menu.wipe.none.upload.erase_cmd= nodemcu.menu.wipe.sdk=Sketch + WiFi Settings @@ -5444,35 +5517,38 @@ nodemcuv2.upload.resetmethod=--before default_reset --after hard_reset nodemcuv2.build.flash_mode=dio nodemcuv2.build.flash_flags=-DFLASHMODE_DIO nodemcuv2.build.flash_freq=40 -nodemcuv2.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +nodemcuv2.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) nodemcuv2.menu.eesz.4M2M.build.flash_size=4M nodemcuv2.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -nodemcuv2.menu.eesz.4M2M.build.spiffs_pagesize=256 nodemcuv2.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +nodemcuv2.menu.eesz.4M2M.upload.maximum_size=1044464 nodemcuv2.menu.eesz.4M2M.build.spiffs_start=0x200000 nodemcuv2.menu.eesz.4M2M.build.spiffs_end=0x3FA000 nodemcuv2.menu.eesz.4M2M.build.spiffs_blocksize=8192 -nodemcuv2.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +nodemcuv2.menu.eesz.4M2M.build.spiffs_pagesize=256 +nodemcuv2.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) nodemcuv2.menu.eesz.4M3M.build.flash_size=4M nodemcuv2.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -nodemcuv2.menu.eesz.4M3M.build.spiffs_pagesize=256 nodemcuv2.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +nodemcuv2.menu.eesz.4M3M.upload.maximum_size=1044464 nodemcuv2.menu.eesz.4M3M.build.spiffs_start=0x100000 nodemcuv2.menu.eesz.4M3M.build.spiffs_end=0x3FA000 nodemcuv2.menu.eesz.4M3M.build.spiffs_blocksize=8192 -nodemcuv2.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +nodemcuv2.menu.eesz.4M3M.build.spiffs_pagesize=256 +nodemcuv2.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) nodemcuv2.menu.eesz.4M1M.build.flash_size=4M nodemcuv2.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -nodemcuv2.menu.eesz.4M1M.build.spiffs_pagesize=256 nodemcuv2.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +nodemcuv2.menu.eesz.4M1M.upload.maximum_size=1044464 nodemcuv2.menu.eesz.4M1M.build.spiffs_start=0x300000 nodemcuv2.menu.eesz.4M1M.build.spiffs_end=0x3FA000 nodemcuv2.menu.eesz.4M1M.build.spiffs_blocksize=8192 -nodemcuv2.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +nodemcuv2.menu.eesz.4M1M.build.spiffs_pagesize=256 +nodemcuv2.menu.eesz.4M=4MB (FS:none OTA:~3052KB) nodemcuv2.menu.eesz.4M.build.flash_size=4M nodemcuv2.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -nodemcuv2.menu.eesz.4M.build.spiffs_pagesize=256 nodemcuv2.menu.eesz.4M.build.rfcal_addr=0x3FC000 +nodemcuv2.menu.eesz.4M.upload.maximum_size=1044464 nodemcuv2.menu.led.2=2 nodemcuv2.menu.led.2.build.led=-DLED_BUILTIN=2 nodemcuv2.menu.led.16=16 @@ -5509,6 +5585,8 @@ nodemcuv2.menu.dbg.Serial1=Serial1 nodemcuv2.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 nodemcuv2.menu.lvl.None____=None nodemcuv2.menu.lvl.None____.build.debug_level= +nodemcuv2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +nodemcuv2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcuv2.menu.lvl.SSL=SSL nodemcuv2.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL nodemcuv2.menu.lvl.TLS_MEM=TLS_MEM @@ -5553,24 +5631,20 @@ nodemcuv2.menu.lvl.OOM=OOM nodemcuv2.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM nodemcuv2.menu.lvl.MDNS=MDNS nodemcuv2.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -nodemcuv2.menu.lvl.HWDT=HWDT -nodemcuv2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -nodemcuv2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -nodemcuv2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +nodemcuv2.menu.lvl.HWDT=HWDT +nodemcuv2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +nodemcuv2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +nodemcuv2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +nodemcuv2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K nodemcuv2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -nodemcuv2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -nodemcuv2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcuv2.menu.wipe.none=Only Sketch nodemcuv2.menu.wipe.none.upload.erase_cmd= nodemcuv2.menu.wipe.sdk=Sketch + WiFi Settings @@ -5675,51 +5749,56 @@ modwifi.menu.FlashMode.qio=QIO (fast) modwifi.menu.FlashMode.qio.build.flash_mode=qio modwifi.menu.FlashMode.qio.build.flash_flags=-DFLASHMODE_QIO modwifi.build.flash_freq=40 -modwifi.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +modwifi.menu.eesz.2M64=2MB (FS:44KB OTA:~960KB) modwifi.menu.eesz.2M64.build.flash_size=2M modwifi.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld -modwifi.menu.eesz.2M64.build.spiffs_pagesize=256 modwifi.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M64.upload.maximum_size=1044464 modwifi.menu.eesz.2M64.build.spiffs_start=0x1F0000 modwifi.menu.eesz.2M64.build.spiffs_end=0x1FB000 modwifi.menu.eesz.2M64.build.spiffs_blocksize=4096 -modwifi.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +modwifi.menu.eesz.2M64.build.spiffs_pagesize=256 +modwifi.menu.eesz.2M128=2MB (FS:108KB OTA:~896KB) modwifi.menu.eesz.2M128.build.flash_size=2M modwifi.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld -modwifi.menu.eesz.2M128.build.spiffs_pagesize=256 modwifi.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M128.upload.maximum_size=1044464 modwifi.menu.eesz.2M128.build.spiffs_start=0x1E0000 modwifi.menu.eesz.2M128.build.spiffs_end=0x1FB000 modwifi.menu.eesz.2M128.build.spiffs_blocksize=4096 -modwifi.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +modwifi.menu.eesz.2M128.build.spiffs_pagesize=256 +modwifi.menu.eesz.2M256=2MB (FS:236KB OTA:~768KB) modwifi.menu.eesz.2M256.build.flash_size=2M modwifi.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld -modwifi.menu.eesz.2M256.build.spiffs_pagesize=256 modwifi.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M256.upload.maximum_size=1044464 modwifi.menu.eesz.2M256.build.spiffs_start=0x1C0000 modwifi.menu.eesz.2M256.build.spiffs_end=0x1FB000 modwifi.menu.eesz.2M256.build.spiffs_blocksize=4096 -modwifi.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +modwifi.menu.eesz.2M256.build.spiffs_pagesize=256 +modwifi.menu.eesz.2M512=2MB (FS:488KB OTA:~512KB) modwifi.menu.eesz.2M512.build.flash_size=2M modwifi.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld -modwifi.menu.eesz.2M512.build.spiffs_pagesize=256 modwifi.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M512.upload.maximum_size=1044464 modwifi.menu.eesz.2M512.build.spiffs_start=0x180000 modwifi.menu.eesz.2M512.build.spiffs_end=0x1FA000 modwifi.menu.eesz.2M512.build.spiffs_blocksize=8192 -modwifi.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +modwifi.menu.eesz.2M512.build.spiffs_pagesize=256 +modwifi.menu.eesz.2M1M=2MB (FS:1000KB OTA:~509KB) modwifi.menu.eesz.2M1M.build.flash_size=2M modwifi.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld -modwifi.menu.eesz.2M1M.build.spiffs_pagesize=256 modwifi.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M1M.upload.maximum_size=1044464 modwifi.menu.eesz.2M1M.build.spiffs_start=0x100000 modwifi.menu.eesz.2M1M.build.spiffs_end=0x1FA000 modwifi.menu.eesz.2M1M.build.spiffs_blocksize=8192 -modwifi.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +modwifi.menu.eesz.2M1M.build.spiffs_pagesize=256 +modwifi.menu.eesz.2M=2MB (FS:none OTA:~1004KB) modwifi.menu.eesz.2M.build.flash_size=2M modwifi.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld -modwifi.menu.eesz.2M.build.spiffs_pagesize=256 modwifi.menu.eesz.2M.build.rfcal_addr=0x1FC000 +modwifi.menu.eesz.2M.upload.maximum_size=1044464 modwifi.menu.ip.lm2f=v2 Lower Memory modwifi.menu.ip.lm2f.build.lwip_include=lwip2/include modwifi.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -5752,6 +5831,8 @@ modwifi.menu.dbg.Serial1=Serial1 modwifi.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 modwifi.menu.lvl.None____=None modwifi.menu.lvl.None____.build.debug_level= +modwifi.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +modwifi.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG modwifi.menu.lvl.SSL=SSL modwifi.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL modwifi.menu.lvl.TLS_MEM=TLS_MEM @@ -5796,24 +5877,20 @@ modwifi.menu.lvl.OOM=OOM modwifi.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM modwifi.menu.lvl.MDNS=MDNS modwifi.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -modwifi.menu.lvl.HWDT=HWDT -modwifi.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -modwifi.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -modwifi.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +modwifi.menu.lvl.HWDT=HWDT +modwifi.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +modwifi.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +modwifi.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +modwifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K modwifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -modwifi.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -modwifi.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG modwifi.menu.wipe.none=Only Sketch modwifi.menu.wipe.none.upload.erase_cmd= modwifi.menu.wipe.sdk=Sketch + WiFi Settings @@ -5902,35 +5979,38 @@ phoenix_v1.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER phoenix_v1.build.flash_mode=dio phoenix_v1.build.flash_flags=-DFLASHMODE_DIO phoenix_v1.build.flash_freq=40 -phoenix_v1.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +phoenix_v1.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) phoenix_v1.menu.eesz.4M2M.build.flash_size=4M phoenix_v1.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -phoenix_v1.menu.eesz.4M2M.build.spiffs_pagesize=256 phoenix_v1.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +phoenix_v1.menu.eesz.4M2M.upload.maximum_size=1044464 phoenix_v1.menu.eesz.4M2M.build.spiffs_start=0x200000 phoenix_v1.menu.eesz.4M2M.build.spiffs_end=0x3FA000 phoenix_v1.menu.eesz.4M2M.build.spiffs_blocksize=8192 -phoenix_v1.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +phoenix_v1.menu.eesz.4M2M.build.spiffs_pagesize=256 +phoenix_v1.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) phoenix_v1.menu.eesz.4M3M.build.flash_size=4M phoenix_v1.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -phoenix_v1.menu.eesz.4M3M.build.spiffs_pagesize=256 phoenix_v1.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +phoenix_v1.menu.eesz.4M3M.upload.maximum_size=1044464 phoenix_v1.menu.eesz.4M3M.build.spiffs_start=0x100000 phoenix_v1.menu.eesz.4M3M.build.spiffs_end=0x3FA000 phoenix_v1.menu.eesz.4M3M.build.spiffs_blocksize=8192 -phoenix_v1.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +phoenix_v1.menu.eesz.4M3M.build.spiffs_pagesize=256 +phoenix_v1.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) phoenix_v1.menu.eesz.4M1M.build.flash_size=4M phoenix_v1.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -phoenix_v1.menu.eesz.4M1M.build.spiffs_pagesize=256 phoenix_v1.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +phoenix_v1.menu.eesz.4M1M.upload.maximum_size=1044464 phoenix_v1.menu.eesz.4M1M.build.spiffs_start=0x300000 phoenix_v1.menu.eesz.4M1M.build.spiffs_end=0x3FA000 phoenix_v1.menu.eesz.4M1M.build.spiffs_blocksize=8192 -phoenix_v1.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +phoenix_v1.menu.eesz.4M1M.build.spiffs_pagesize=256 +phoenix_v1.menu.eesz.4M=4MB (FS:none OTA:~3052KB) phoenix_v1.menu.eesz.4M.build.flash_size=4M phoenix_v1.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -phoenix_v1.menu.eesz.4M.build.spiffs_pagesize=256 phoenix_v1.menu.eesz.4M.build.rfcal_addr=0x3FC000 +phoenix_v1.menu.eesz.4M.upload.maximum_size=1044464 phoenix_v1.menu.ResetMethod.nodemcu=dtr (aka nodemcu) phoenix_v1.menu.ResetMethod.nodemcu.upload.resetmethod=--before default_reset --after hard_reset phoenix_v1.menu.ResetMethod.ck=no dtr (aka ck) @@ -5967,6 +6047,8 @@ phoenix_v1.menu.dbg.Serial1=Serial1 phoenix_v1.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 phoenix_v1.menu.lvl.None____=None phoenix_v1.menu.lvl.None____.build.debug_level= +phoenix_v1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +phoenix_v1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v1.menu.lvl.SSL=SSL phoenix_v1.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL phoenix_v1.menu.lvl.TLS_MEM=TLS_MEM @@ -6011,24 +6093,20 @@ phoenix_v1.menu.lvl.OOM=OOM phoenix_v1.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM phoenix_v1.menu.lvl.MDNS=MDNS phoenix_v1.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -phoenix_v1.menu.lvl.HWDT=HWDT -phoenix_v1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -phoenix_v1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -phoenix_v1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +phoenix_v1.menu.lvl.HWDT=HWDT +phoenix_v1.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +phoenix_v1.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +phoenix_v1.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +phoenix_v1.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K phoenix_v1.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -phoenix_v1.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -phoenix_v1.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v1.menu.wipe.none=Only Sketch phoenix_v1.menu.wipe.none.upload.erase_cmd= phoenix_v1.menu.wipe.sdk=Sketch + WiFi Settings @@ -6117,35 +6195,38 @@ phoenix_v2.menu.non32xfer.safe.build.non32xferflags=-DNON32XFER_HANDLER phoenix_v2.build.flash_mode=dio phoenix_v2.build.flash_flags=-DFLASHMODE_DIO phoenix_v2.build.flash_freq=40 -phoenix_v2.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +phoenix_v2.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) phoenix_v2.menu.eesz.4M2M.build.flash_size=4M phoenix_v2.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -phoenix_v2.menu.eesz.4M2M.build.spiffs_pagesize=256 phoenix_v2.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +phoenix_v2.menu.eesz.4M2M.upload.maximum_size=1044464 phoenix_v2.menu.eesz.4M2M.build.spiffs_start=0x200000 phoenix_v2.menu.eesz.4M2M.build.spiffs_end=0x3FA000 phoenix_v2.menu.eesz.4M2M.build.spiffs_blocksize=8192 -phoenix_v2.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +phoenix_v2.menu.eesz.4M2M.build.spiffs_pagesize=256 +phoenix_v2.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) phoenix_v2.menu.eesz.4M3M.build.flash_size=4M phoenix_v2.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -phoenix_v2.menu.eesz.4M3M.build.spiffs_pagesize=256 phoenix_v2.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +phoenix_v2.menu.eesz.4M3M.upload.maximum_size=1044464 phoenix_v2.menu.eesz.4M3M.build.spiffs_start=0x100000 phoenix_v2.menu.eesz.4M3M.build.spiffs_end=0x3FA000 phoenix_v2.menu.eesz.4M3M.build.spiffs_blocksize=8192 -phoenix_v2.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +phoenix_v2.menu.eesz.4M3M.build.spiffs_pagesize=256 +phoenix_v2.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) phoenix_v2.menu.eesz.4M1M.build.flash_size=4M phoenix_v2.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -phoenix_v2.menu.eesz.4M1M.build.spiffs_pagesize=256 phoenix_v2.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +phoenix_v2.menu.eesz.4M1M.upload.maximum_size=1044464 phoenix_v2.menu.eesz.4M1M.build.spiffs_start=0x300000 phoenix_v2.menu.eesz.4M1M.build.spiffs_end=0x3FA000 phoenix_v2.menu.eesz.4M1M.build.spiffs_blocksize=8192 -phoenix_v2.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +phoenix_v2.menu.eesz.4M1M.build.spiffs_pagesize=256 +phoenix_v2.menu.eesz.4M=4MB (FS:none OTA:~3052KB) phoenix_v2.menu.eesz.4M.build.flash_size=4M phoenix_v2.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -phoenix_v2.menu.eesz.4M.build.spiffs_pagesize=256 phoenix_v2.menu.eesz.4M.build.rfcal_addr=0x3FC000 +phoenix_v2.menu.eesz.4M.upload.maximum_size=1044464 phoenix_v2.menu.ResetMethod.nodemcu=dtr (aka nodemcu) phoenix_v2.menu.ResetMethod.nodemcu.upload.resetmethod=--before default_reset --after hard_reset phoenix_v2.menu.ResetMethod.ck=no dtr (aka ck) @@ -6182,6 +6263,8 @@ phoenix_v2.menu.dbg.Serial1=Serial1 phoenix_v2.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 phoenix_v2.menu.lvl.None____=None phoenix_v2.menu.lvl.None____.build.debug_level= +phoenix_v2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +phoenix_v2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v2.menu.lvl.SSL=SSL phoenix_v2.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL phoenix_v2.menu.lvl.TLS_MEM=TLS_MEM @@ -6226,24 +6309,20 @@ phoenix_v2.menu.lvl.OOM=OOM phoenix_v2.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM phoenix_v2.menu.lvl.MDNS=MDNS phoenix_v2.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -phoenix_v2.menu.lvl.HWDT=HWDT -phoenix_v2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -phoenix_v2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -phoenix_v2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +phoenix_v2.menu.lvl.HWDT=HWDT +phoenix_v2.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +phoenix_v2.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +phoenix_v2.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +phoenix_v2.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K phoenix_v2.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -phoenix_v2.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -phoenix_v2.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v2.menu.wipe.none=Only Sketch phoenix_v2.menu.wipe.none.upload.erase_cmd= phoenix_v2.menu.wipe.sdk=Sketch + WiFi Settings @@ -6333,35 +6412,38 @@ eduinowifi.upload.resetmethod=--before default_reset --after hard_reset eduinowifi.build.flash_mode=dio eduinowifi.build.flash_flags=-DFLASHMODE_DIO eduinowifi.build.flash_freq=40 -eduinowifi.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +eduinowifi.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) eduinowifi.menu.eesz.4M2M.build.flash_size=4M eduinowifi.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -eduinowifi.menu.eesz.4M2M.build.spiffs_pagesize=256 eduinowifi.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +eduinowifi.menu.eesz.4M2M.upload.maximum_size=1044464 eduinowifi.menu.eesz.4M2M.build.spiffs_start=0x200000 eduinowifi.menu.eesz.4M2M.build.spiffs_end=0x3FA000 eduinowifi.menu.eesz.4M2M.build.spiffs_blocksize=8192 -eduinowifi.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +eduinowifi.menu.eesz.4M2M.build.spiffs_pagesize=256 +eduinowifi.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) eduinowifi.menu.eesz.4M3M.build.flash_size=4M eduinowifi.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -eduinowifi.menu.eesz.4M3M.build.spiffs_pagesize=256 eduinowifi.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +eduinowifi.menu.eesz.4M3M.upload.maximum_size=1044464 eduinowifi.menu.eesz.4M3M.build.spiffs_start=0x100000 eduinowifi.menu.eesz.4M3M.build.spiffs_end=0x3FA000 eduinowifi.menu.eesz.4M3M.build.spiffs_blocksize=8192 -eduinowifi.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +eduinowifi.menu.eesz.4M3M.build.spiffs_pagesize=256 +eduinowifi.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) eduinowifi.menu.eesz.4M1M.build.flash_size=4M eduinowifi.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -eduinowifi.menu.eesz.4M1M.build.spiffs_pagesize=256 eduinowifi.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +eduinowifi.menu.eesz.4M1M.upload.maximum_size=1044464 eduinowifi.menu.eesz.4M1M.build.spiffs_start=0x300000 eduinowifi.menu.eesz.4M1M.build.spiffs_end=0x3FA000 eduinowifi.menu.eesz.4M1M.build.spiffs_blocksize=8192 -eduinowifi.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +eduinowifi.menu.eesz.4M1M.build.spiffs_pagesize=256 +eduinowifi.menu.eesz.4M=4MB (FS:none OTA:~3052KB) eduinowifi.menu.eesz.4M.build.flash_size=4M eduinowifi.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -eduinowifi.menu.eesz.4M.build.spiffs_pagesize=256 eduinowifi.menu.eesz.4M.build.rfcal_addr=0x3FC000 +eduinowifi.menu.eesz.4M.upload.maximum_size=1044464 eduinowifi.menu.ip.lm2f=v2 Lower Memory eduinowifi.menu.ip.lm2f.build.lwip_include=lwip2/include eduinowifi.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -6394,6 +6476,8 @@ eduinowifi.menu.dbg.Serial1=Serial1 eduinowifi.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 eduinowifi.menu.lvl.None____=None eduinowifi.menu.lvl.None____.build.debug_level= +eduinowifi.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +eduinowifi.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG eduinowifi.menu.lvl.SSL=SSL eduinowifi.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL eduinowifi.menu.lvl.TLS_MEM=TLS_MEM @@ -6438,24 +6522,20 @@ eduinowifi.menu.lvl.OOM=OOM eduinowifi.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM eduinowifi.menu.lvl.MDNS=MDNS eduinowifi.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -eduinowifi.menu.lvl.HWDT=HWDT -eduinowifi.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -eduinowifi.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -eduinowifi.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +eduinowifi.menu.lvl.HWDT=HWDT +eduinowifi.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +eduinowifi.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +eduinowifi.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +eduinowifi.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K eduinowifi.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -eduinowifi.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -eduinowifi.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG eduinowifi.menu.wipe.none=Only Sketch eduinowifi.menu.wipe.none.upload.erase_cmd= eduinowifi.menu.wipe.sdk=Sketch + WiFi Settings @@ -6545,35 +6625,38 @@ wiolink.upload.resetmethod=--before default_reset --after hard_reset wiolink.build.flash_mode=qio wiolink.build.flash_flags=-DFLASHMODE_QIO wiolink.build.flash_freq=40 -wiolink.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +wiolink.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) wiolink.menu.eesz.4M2M.build.flash_size=4M wiolink.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -wiolink.menu.eesz.4M2M.build.spiffs_pagesize=256 wiolink.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +wiolink.menu.eesz.4M2M.upload.maximum_size=1044464 wiolink.menu.eesz.4M2M.build.spiffs_start=0x200000 wiolink.menu.eesz.4M2M.build.spiffs_end=0x3FA000 wiolink.menu.eesz.4M2M.build.spiffs_blocksize=8192 -wiolink.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +wiolink.menu.eesz.4M2M.build.spiffs_pagesize=256 +wiolink.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) wiolink.menu.eesz.4M3M.build.flash_size=4M wiolink.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -wiolink.menu.eesz.4M3M.build.spiffs_pagesize=256 wiolink.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +wiolink.menu.eesz.4M3M.upload.maximum_size=1044464 wiolink.menu.eesz.4M3M.build.spiffs_start=0x100000 wiolink.menu.eesz.4M3M.build.spiffs_end=0x3FA000 wiolink.menu.eesz.4M3M.build.spiffs_blocksize=8192 -wiolink.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +wiolink.menu.eesz.4M3M.build.spiffs_pagesize=256 +wiolink.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) wiolink.menu.eesz.4M1M.build.flash_size=4M wiolink.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -wiolink.menu.eesz.4M1M.build.spiffs_pagesize=256 wiolink.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +wiolink.menu.eesz.4M1M.upload.maximum_size=1044464 wiolink.menu.eesz.4M1M.build.spiffs_start=0x300000 wiolink.menu.eesz.4M1M.build.spiffs_end=0x3FA000 wiolink.menu.eesz.4M1M.build.spiffs_blocksize=8192 -wiolink.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +wiolink.menu.eesz.4M1M.build.spiffs_pagesize=256 +wiolink.menu.eesz.4M=4MB (FS:none OTA:~3052KB) wiolink.menu.eesz.4M.build.flash_size=4M wiolink.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -wiolink.menu.eesz.4M.build.spiffs_pagesize=256 wiolink.menu.eesz.4M.build.rfcal_addr=0x3FC000 +wiolink.menu.eesz.4M.upload.maximum_size=1044464 wiolink.menu.ip.lm2f=v2 Lower Memory wiolink.menu.ip.lm2f.build.lwip_include=lwip2/include wiolink.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -6606,6 +6689,8 @@ wiolink.menu.dbg.Serial1=Serial1 wiolink.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 wiolink.menu.lvl.None____=None wiolink.menu.lvl.None____.build.debug_level= +wiolink.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +wiolink.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wiolink.menu.lvl.SSL=SSL wiolink.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL wiolink.menu.lvl.TLS_MEM=TLS_MEM @@ -6650,24 +6735,20 @@ wiolink.menu.lvl.OOM=OOM wiolink.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM wiolink.menu.lvl.MDNS=MDNS wiolink.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -wiolink.menu.lvl.HWDT=HWDT -wiolink.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -wiolink.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -wiolink.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +wiolink.menu.lvl.HWDT=HWDT +wiolink.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +wiolink.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +wiolink.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +wiolink.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K wiolink.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wiolink.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -wiolink.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wiolink.menu.wipe.none=Only Sketch wiolink.menu.wipe.none.upload.erase_cmd= wiolink.menu.wipe.sdk=Sketch + WiFi Settings @@ -6757,35 +6838,38 @@ blynk.upload.resetmethod=--before default_reset --after hard_reset blynk.build.flash_mode=qio blynk.build.flash_flags=-DFLASHMODE_QIO blynk.build.flash_freq=40 -blynk.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +blynk.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) blynk.menu.eesz.4M2M.build.flash_size=4M blynk.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -blynk.menu.eesz.4M2M.build.spiffs_pagesize=256 blynk.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +blynk.menu.eesz.4M2M.upload.maximum_size=1044464 blynk.menu.eesz.4M2M.build.spiffs_start=0x200000 blynk.menu.eesz.4M2M.build.spiffs_end=0x3FA000 blynk.menu.eesz.4M2M.build.spiffs_blocksize=8192 -blynk.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +blynk.menu.eesz.4M2M.build.spiffs_pagesize=256 +blynk.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) blynk.menu.eesz.4M3M.build.flash_size=4M blynk.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -blynk.menu.eesz.4M3M.build.spiffs_pagesize=256 blynk.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +blynk.menu.eesz.4M3M.upload.maximum_size=1044464 blynk.menu.eesz.4M3M.build.spiffs_start=0x100000 blynk.menu.eesz.4M3M.build.spiffs_end=0x3FA000 blynk.menu.eesz.4M3M.build.spiffs_blocksize=8192 -blynk.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +blynk.menu.eesz.4M3M.build.spiffs_pagesize=256 +blynk.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) blynk.menu.eesz.4M1M.build.flash_size=4M blynk.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -blynk.menu.eesz.4M1M.build.spiffs_pagesize=256 blynk.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +blynk.menu.eesz.4M1M.upload.maximum_size=1044464 blynk.menu.eesz.4M1M.build.spiffs_start=0x300000 blynk.menu.eesz.4M1M.build.spiffs_end=0x3FA000 blynk.menu.eesz.4M1M.build.spiffs_blocksize=8192 -blynk.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +blynk.menu.eesz.4M1M.build.spiffs_pagesize=256 +blynk.menu.eesz.4M=4MB (FS:none OTA:~3052KB) blynk.menu.eesz.4M.build.flash_size=4M blynk.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -blynk.menu.eesz.4M.build.spiffs_pagesize=256 blynk.menu.eesz.4M.build.rfcal_addr=0x3FC000 +blynk.menu.eesz.4M.upload.maximum_size=1044464 blynk.menu.ip.lm2f=v2 Lower Memory blynk.menu.ip.lm2f.build.lwip_include=lwip2/include blynk.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -6818,6 +6902,8 @@ blynk.menu.dbg.Serial1=Serial1 blynk.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 blynk.menu.lvl.None____=None blynk.menu.lvl.None____.build.debug_level= +blynk.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +blynk.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG blynk.menu.lvl.SSL=SSL blynk.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL blynk.menu.lvl.TLS_MEM=TLS_MEM @@ -6862,24 +6948,20 @@ blynk.menu.lvl.OOM=OOM blynk.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM blynk.menu.lvl.MDNS=MDNS blynk.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -blynk.menu.lvl.HWDT=HWDT -blynk.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -blynk.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -blynk.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +blynk.menu.lvl.HWDT=HWDT +blynk.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +blynk.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +blynk.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +blynk.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K blynk.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -blynk.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -blynk.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG blynk.menu.wipe.none=Only Sketch blynk.menu.wipe.none.upload.erase_cmd= blynk.menu.wipe.sdk=Sketch + WiFi Settings @@ -6969,35 +7051,38 @@ thing.upload.resetmethod=--before no_reset --after soft_reset thing.build.flash_mode=qio thing.build.flash_flags=-DFLASHMODE_QIO thing.build.flash_freq=40 -thing.menu.eesz.512K32=512KB (FS:32KB OTA:~230KB) +thing.menu.eesz.512K32=512KB (FS:32KB OTA:~227KB) thing.menu.eesz.512K32.build.flash_size=512K thing.menu.eesz.512K32.build.flash_ld=eagle.flash.512k32.ld -thing.menu.eesz.512K32.build.spiffs_pagesize=256 thing.menu.eesz.512K32.build.rfcal_addr=0x7C000 +thing.menu.eesz.512K32.upload.maximum_size=520176 thing.menu.eesz.512K32.build.spiffs_start=0x73000 thing.menu.eesz.512K32.build.spiffs_end=0x7B000 thing.menu.eesz.512K32.build.spiffs_blocksize=4096 -thing.menu.eesz.512K64=512KB (FS:64KB OTA:~214KB) +thing.menu.eesz.512K32.build.spiffs_pagesize=256 +thing.menu.eesz.512K64=512KB (FS:64KB OTA:~211KB) thing.menu.eesz.512K64.build.flash_size=512K thing.menu.eesz.512K64.build.flash_ld=eagle.flash.512k64.ld -thing.menu.eesz.512K64.build.spiffs_pagesize=256 thing.menu.eesz.512K64.build.rfcal_addr=0x7C000 +thing.menu.eesz.512K64.upload.maximum_size=520176 thing.menu.eesz.512K64.build.spiffs_start=0x6B000 thing.menu.eesz.512K64.build.spiffs_end=0x7B000 thing.menu.eesz.512K64.build.spiffs_blocksize=4096 -thing.menu.eesz.512K128=512KB (FS:128KB OTA:~182KB) +thing.menu.eesz.512K64.build.spiffs_pagesize=256 +thing.menu.eesz.512K128=512KB (FS:128KB OTA:~179KB) thing.menu.eesz.512K128.build.flash_size=512K thing.menu.eesz.512K128.build.flash_ld=eagle.flash.512k128.ld -thing.menu.eesz.512K128.build.spiffs_pagesize=256 thing.menu.eesz.512K128.build.rfcal_addr=0x7C000 +thing.menu.eesz.512K128.upload.maximum_size=520176 thing.menu.eesz.512K128.build.spiffs_start=0x5B000 thing.menu.eesz.512K128.build.spiffs_end=0x7B000 thing.menu.eesz.512K128.build.spiffs_blocksize=4096 -thing.menu.eesz.512K=512KB (FS:none OTA:~246KB) +thing.menu.eesz.512K128.build.spiffs_pagesize=256 +thing.menu.eesz.512K=512KB (FS:none OTA:~243KB) thing.menu.eesz.512K.build.flash_size=512K thing.menu.eesz.512K.build.flash_ld=eagle.flash.512k.ld -thing.menu.eesz.512K.build.spiffs_pagesize=256 thing.menu.eesz.512K.build.rfcal_addr=0x7C000 +thing.menu.eesz.512K.upload.maximum_size=520176 thing.menu.ip.lm2f=v2 Lower Memory thing.menu.ip.lm2f.build.lwip_include=lwip2/include thing.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -7030,6 +7115,8 @@ thing.menu.dbg.Serial1=Serial1 thing.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 thing.menu.lvl.None____=None thing.menu.lvl.None____.build.debug_level= +thing.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +thing.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thing.menu.lvl.SSL=SSL thing.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL thing.menu.lvl.TLS_MEM=TLS_MEM @@ -7074,24 +7161,20 @@ thing.menu.lvl.OOM=OOM thing.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM thing.menu.lvl.MDNS=MDNS thing.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -thing.menu.lvl.HWDT=HWDT -thing.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -thing.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -thing.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +thing.menu.lvl.HWDT=HWDT +thing.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +thing.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +thing.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +thing.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K thing.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -thing.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -thing.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thing.menu.wipe.none=Only Sketch thing.menu.wipe.none.upload.erase_cmd= thing.menu.wipe.sdk=Sketch + WiFi Settings @@ -7181,35 +7264,38 @@ thingdev.upload.resetmethod=--before default_reset --after hard_reset thingdev.build.flash_mode=dio thingdev.build.flash_flags=-DFLASHMODE_DIO thingdev.build.flash_freq=40 -thingdev.menu.eesz.512K32=512KB (FS:32KB OTA:~230KB) +thingdev.menu.eesz.512K32=512KB (FS:32KB OTA:~227KB) thingdev.menu.eesz.512K32.build.flash_size=512K thingdev.menu.eesz.512K32.build.flash_ld=eagle.flash.512k32.ld -thingdev.menu.eesz.512K32.build.spiffs_pagesize=256 thingdev.menu.eesz.512K32.build.rfcal_addr=0x7C000 +thingdev.menu.eesz.512K32.upload.maximum_size=520176 thingdev.menu.eesz.512K32.build.spiffs_start=0x73000 thingdev.menu.eesz.512K32.build.spiffs_end=0x7B000 thingdev.menu.eesz.512K32.build.spiffs_blocksize=4096 -thingdev.menu.eesz.512K64=512KB (FS:64KB OTA:~214KB) +thingdev.menu.eesz.512K32.build.spiffs_pagesize=256 +thingdev.menu.eesz.512K64=512KB (FS:64KB OTA:~211KB) thingdev.menu.eesz.512K64.build.flash_size=512K thingdev.menu.eesz.512K64.build.flash_ld=eagle.flash.512k64.ld -thingdev.menu.eesz.512K64.build.spiffs_pagesize=256 thingdev.menu.eesz.512K64.build.rfcal_addr=0x7C000 +thingdev.menu.eesz.512K64.upload.maximum_size=520176 thingdev.menu.eesz.512K64.build.spiffs_start=0x6B000 thingdev.menu.eesz.512K64.build.spiffs_end=0x7B000 thingdev.menu.eesz.512K64.build.spiffs_blocksize=4096 -thingdev.menu.eesz.512K128=512KB (FS:128KB OTA:~182KB) +thingdev.menu.eesz.512K64.build.spiffs_pagesize=256 +thingdev.menu.eesz.512K128=512KB (FS:128KB OTA:~179KB) thingdev.menu.eesz.512K128.build.flash_size=512K thingdev.menu.eesz.512K128.build.flash_ld=eagle.flash.512k128.ld -thingdev.menu.eesz.512K128.build.spiffs_pagesize=256 thingdev.menu.eesz.512K128.build.rfcal_addr=0x7C000 +thingdev.menu.eesz.512K128.upload.maximum_size=520176 thingdev.menu.eesz.512K128.build.spiffs_start=0x5B000 thingdev.menu.eesz.512K128.build.spiffs_end=0x7B000 thingdev.menu.eesz.512K128.build.spiffs_blocksize=4096 -thingdev.menu.eesz.512K=512KB (FS:none OTA:~246KB) +thingdev.menu.eesz.512K128.build.spiffs_pagesize=256 +thingdev.menu.eesz.512K=512KB (FS:none OTA:~243KB) thingdev.menu.eesz.512K.build.flash_size=512K thingdev.menu.eesz.512K.build.flash_ld=eagle.flash.512k.ld -thingdev.menu.eesz.512K.build.spiffs_pagesize=256 thingdev.menu.eesz.512K.build.rfcal_addr=0x7C000 +thingdev.menu.eesz.512K.upload.maximum_size=520176 thingdev.menu.ip.lm2f=v2 Lower Memory thingdev.menu.ip.lm2f.build.lwip_include=lwip2/include thingdev.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -7242,6 +7328,8 @@ thingdev.menu.dbg.Serial1=Serial1 thingdev.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 thingdev.menu.lvl.None____=None thingdev.menu.lvl.None____.build.debug_level= +thingdev.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +thingdev.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thingdev.menu.lvl.SSL=SSL thingdev.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL thingdev.menu.lvl.TLS_MEM=TLS_MEM @@ -7286,24 +7374,20 @@ thingdev.menu.lvl.OOM=OOM thingdev.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM thingdev.menu.lvl.MDNS=MDNS thingdev.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -thingdev.menu.lvl.HWDT=HWDT -thingdev.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -thingdev.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -thingdev.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +thingdev.menu.lvl.HWDT=HWDT +thingdev.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +thingdev.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +thingdev.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +thingdev.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K thingdev.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -thingdev.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -thingdev.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thingdev.menu.wipe.none=Only Sketch thingdev.menu.wipe.none.upload.erase_cmd= thingdev.menu.wipe.sdk=Sketch + WiFi Settings @@ -7393,35 +7477,38 @@ esp210.upload.resetmethod=--before no_reset --after soft_reset esp210.build.flash_mode=qio esp210.build.flash_flags=-DFLASHMODE_QIO esp210.build.flash_freq=40 -esp210.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +esp210.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) esp210.menu.eesz.4M2M.build.flash_size=4M esp210.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -esp210.menu.eesz.4M2M.build.spiffs_pagesize=256 esp210.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +esp210.menu.eesz.4M2M.upload.maximum_size=1044464 esp210.menu.eesz.4M2M.build.spiffs_start=0x200000 esp210.menu.eesz.4M2M.build.spiffs_end=0x3FA000 esp210.menu.eesz.4M2M.build.spiffs_blocksize=8192 -esp210.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +esp210.menu.eesz.4M2M.build.spiffs_pagesize=256 +esp210.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) esp210.menu.eesz.4M3M.build.flash_size=4M esp210.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -esp210.menu.eesz.4M3M.build.spiffs_pagesize=256 esp210.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +esp210.menu.eesz.4M3M.upload.maximum_size=1044464 esp210.menu.eesz.4M3M.build.spiffs_start=0x100000 esp210.menu.eesz.4M3M.build.spiffs_end=0x3FA000 esp210.menu.eesz.4M3M.build.spiffs_blocksize=8192 -esp210.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +esp210.menu.eesz.4M3M.build.spiffs_pagesize=256 +esp210.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) esp210.menu.eesz.4M1M.build.flash_size=4M esp210.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -esp210.menu.eesz.4M1M.build.spiffs_pagesize=256 esp210.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +esp210.menu.eesz.4M1M.upload.maximum_size=1044464 esp210.menu.eesz.4M1M.build.spiffs_start=0x300000 esp210.menu.eesz.4M1M.build.spiffs_end=0x3FA000 esp210.menu.eesz.4M1M.build.spiffs_blocksize=8192 -esp210.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +esp210.menu.eesz.4M1M.build.spiffs_pagesize=256 +esp210.menu.eesz.4M=4MB (FS:none OTA:~3052KB) esp210.menu.eesz.4M.build.flash_size=4M esp210.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -esp210.menu.eesz.4M.build.spiffs_pagesize=256 esp210.menu.eesz.4M.build.rfcal_addr=0x3FC000 +esp210.menu.eesz.4M.upload.maximum_size=1044464 esp210.menu.ip.lm2f=v2 Lower Memory esp210.menu.ip.lm2f.build.lwip_include=lwip2/include esp210.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -7454,6 +7541,8 @@ esp210.menu.dbg.Serial1=Serial1 esp210.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 esp210.menu.lvl.None____=None esp210.menu.lvl.None____.build.debug_level= +esp210.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +esp210.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp210.menu.lvl.SSL=SSL esp210.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL esp210.menu.lvl.TLS_MEM=TLS_MEM @@ -7498,24 +7587,20 @@ esp210.menu.lvl.OOM=OOM esp210.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM esp210.menu.lvl.MDNS=MDNS esp210.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -esp210.menu.lvl.HWDT=HWDT -esp210.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -esp210.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -esp210.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +esp210.menu.lvl.HWDT=HWDT +esp210.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +esp210.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +esp210.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +esp210.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K esp210.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -esp210.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -esp210.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp210.menu.wipe.none=Only Sketch esp210.menu.wipe.none.upload.erase_cmd= esp210.menu.wipe.sdk=Sketch + WiFi Settings @@ -7605,35 +7690,38 @@ espinotee.upload.resetmethod=--before default_reset --after hard_reset espinotee.build.flash_mode=qio espinotee.build.flash_flags=-DFLASHMODE_QIO espinotee.build.flash_freq=40 -espinotee.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +espinotee.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) espinotee.menu.eesz.4M2M.build.flash_size=4M espinotee.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -espinotee.menu.eesz.4M2M.build.spiffs_pagesize=256 espinotee.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +espinotee.menu.eesz.4M2M.upload.maximum_size=1044464 espinotee.menu.eesz.4M2M.build.spiffs_start=0x200000 espinotee.menu.eesz.4M2M.build.spiffs_end=0x3FA000 espinotee.menu.eesz.4M2M.build.spiffs_blocksize=8192 -espinotee.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +espinotee.menu.eesz.4M2M.build.spiffs_pagesize=256 +espinotee.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) espinotee.menu.eesz.4M3M.build.flash_size=4M espinotee.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -espinotee.menu.eesz.4M3M.build.spiffs_pagesize=256 espinotee.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +espinotee.menu.eesz.4M3M.upload.maximum_size=1044464 espinotee.menu.eesz.4M3M.build.spiffs_start=0x100000 espinotee.menu.eesz.4M3M.build.spiffs_end=0x3FA000 espinotee.menu.eesz.4M3M.build.spiffs_blocksize=8192 -espinotee.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +espinotee.menu.eesz.4M3M.build.spiffs_pagesize=256 +espinotee.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) espinotee.menu.eesz.4M1M.build.flash_size=4M espinotee.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -espinotee.menu.eesz.4M1M.build.spiffs_pagesize=256 espinotee.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +espinotee.menu.eesz.4M1M.upload.maximum_size=1044464 espinotee.menu.eesz.4M1M.build.spiffs_start=0x300000 espinotee.menu.eesz.4M1M.build.spiffs_end=0x3FA000 espinotee.menu.eesz.4M1M.build.spiffs_blocksize=8192 -espinotee.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +espinotee.menu.eesz.4M1M.build.spiffs_pagesize=256 +espinotee.menu.eesz.4M=4MB (FS:none OTA:~3052KB) espinotee.menu.eesz.4M.build.flash_size=4M espinotee.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -espinotee.menu.eesz.4M.build.spiffs_pagesize=256 espinotee.menu.eesz.4M.build.rfcal_addr=0x3FC000 +espinotee.menu.eesz.4M.upload.maximum_size=1044464 espinotee.menu.ip.lm2f=v2 Lower Memory espinotee.menu.ip.lm2f.build.lwip_include=lwip2/include espinotee.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -7666,6 +7754,8 @@ espinotee.menu.dbg.Serial1=Serial1 espinotee.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 espinotee.menu.lvl.None____=None espinotee.menu.lvl.None____.build.debug_level= +espinotee.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +espinotee.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espinotee.menu.lvl.SSL=SSL espinotee.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL espinotee.menu.lvl.TLS_MEM=TLS_MEM @@ -7710,24 +7800,20 @@ espinotee.menu.lvl.OOM=OOM espinotee.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM espinotee.menu.lvl.MDNS=MDNS espinotee.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -espinotee.menu.lvl.HWDT=HWDT -espinotee.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -espinotee.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -espinotee.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +espinotee.menu.lvl.HWDT=HWDT +espinotee.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +espinotee.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +espinotee.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +espinotee.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K espinotee.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -espinotee.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -espinotee.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espinotee.menu.wipe.none=Only Sketch espinotee.menu.wipe.none.upload.erase_cmd= espinotee.menu.wipe.sdk=Sketch + WiFi Settings @@ -7817,35 +7903,38 @@ wifi_kit_8.upload.resetmethod=--before default_reset --after hard_reset wifi_kit_8.build.flash_mode=dio wifi_kit_8.build.flash_flags=-DFLASHMODE_DIO wifi_kit_8.build.flash_freq=40 -wifi_kit_8.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +wifi_kit_8.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) wifi_kit_8.menu.eesz.4M2M.build.flash_size=4M wifi_kit_8.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -wifi_kit_8.menu.eesz.4M2M.build.spiffs_pagesize=256 wifi_kit_8.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +wifi_kit_8.menu.eesz.4M2M.upload.maximum_size=1044464 wifi_kit_8.menu.eesz.4M2M.build.spiffs_start=0x200000 wifi_kit_8.menu.eesz.4M2M.build.spiffs_end=0x3FA000 wifi_kit_8.menu.eesz.4M2M.build.spiffs_blocksize=8192 -wifi_kit_8.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +wifi_kit_8.menu.eesz.4M2M.build.spiffs_pagesize=256 +wifi_kit_8.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) wifi_kit_8.menu.eesz.4M3M.build.flash_size=4M wifi_kit_8.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -wifi_kit_8.menu.eesz.4M3M.build.spiffs_pagesize=256 wifi_kit_8.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +wifi_kit_8.menu.eesz.4M3M.upload.maximum_size=1044464 wifi_kit_8.menu.eesz.4M3M.build.spiffs_start=0x100000 wifi_kit_8.menu.eesz.4M3M.build.spiffs_end=0x3FA000 wifi_kit_8.menu.eesz.4M3M.build.spiffs_blocksize=8192 -wifi_kit_8.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +wifi_kit_8.menu.eesz.4M3M.build.spiffs_pagesize=256 +wifi_kit_8.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) wifi_kit_8.menu.eesz.4M1M.build.flash_size=4M wifi_kit_8.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -wifi_kit_8.menu.eesz.4M1M.build.spiffs_pagesize=256 wifi_kit_8.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +wifi_kit_8.menu.eesz.4M1M.upload.maximum_size=1044464 wifi_kit_8.menu.eesz.4M1M.build.spiffs_start=0x300000 wifi_kit_8.menu.eesz.4M1M.build.spiffs_end=0x3FA000 wifi_kit_8.menu.eesz.4M1M.build.spiffs_blocksize=8192 -wifi_kit_8.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +wifi_kit_8.menu.eesz.4M1M.build.spiffs_pagesize=256 +wifi_kit_8.menu.eesz.4M=4MB (FS:none OTA:~3052KB) wifi_kit_8.menu.eesz.4M.build.flash_size=4M wifi_kit_8.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -wifi_kit_8.menu.eesz.4M.build.spiffs_pagesize=256 wifi_kit_8.menu.eesz.4M.build.rfcal_addr=0x3FC000 +wifi_kit_8.menu.eesz.4M.upload.maximum_size=1044464 wifi_kit_8.menu.ip.lm2f=v2 Lower Memory wifi_kit_8.menu.ip.lm2f.build.lwip_include=lwip2/include wifi_kit_8.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -7878,6 +7967,8 @@ wifi_kit_8.menu.dbg.Serial1=Serial1 wifi_kit_8.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 wifi_kit_8.menu.lvl.None____=None wifi_kit_8.menu.lvl.None____.build.debug_level= +wifi_kit_8.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +wifi_kit_8.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifi_kit_8.menu.lvl.SSL=SSL wifi_kit_8.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL wifi_kit_8.menu.lvl.TLS_MEM=TLS_MEM @@ -7922,24 +8013,20 @@ wifi_kit_8.menu.lvl.OOM=OOM wifi_kit_8.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM wifi_kit_8.menu.lvl.MDNS=MDNS wifi_kit_8.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -wifi_kit_8.menu.lvl.HWDT=HWDT -wifi_kit_8.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -wifi_kit_8.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -wifi_kit_8.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +wifi_kit_8.menu.lvl.HWDT=HWDT +wifi_kit_8.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +wifi_kit_8.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +wifi_kit_8.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +wifi_kit_8.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K wifi_kit_8.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifi_kit_8.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -wifi_kit_8.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifi_kit_8.menu.wipe.none=Only Sketch wifi_kit_8.menu.wipe.none.upload.erase_cmd= wifi_kit_8.menu.wipe.sdk=Sketch + WiFi Settings @@ -8029,35 +8116,38 @@ wifiduino.upload.resetmethod=--before default_reset --after hard_reset wifiduino.build.flash_mode=dio wifiduino.build.flash_flags=-DFLASHMODE_DIO wifiduino.build.flash_freq=40 -wifiduino.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +wifiduino.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) wifiduino.menu.eesz.4M2M.build.flash_size=4M wifiduino.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -wifiduino.menu.eesz.4M2M.build.spiffs_pagesize=256 wifiduino.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +wifiduino.menu.eesz.4M2M.upload.maximum_size=1044464 wifiduino.menu.eesz.4M2M.build.spiffs_start=0x200000 wifiduino.menu.eesz.4M2M.build.spiffs_end=0x3FA000 wifiduino.menu.eesz.4M2M.build.spiffs_blocksize=8192 -wifiduino.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +wifiduino.menu.eesz.4M2M.build.spiffs_pagesize=256 +wifiduino.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) wifiduino.menu.eesz.4M3M.build.flash_size=4M wifiduino.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -wifiduino.menu.eesz.4M3M.build.spiffs_pagesize=256 wifiduino.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +wifiduino.menu.eesz.4M3M.upload.maximum_size=1044464 wifiduino.menu.eesz.4M3M.build.spiffs_start=0x100000 wifiduino.menu.eesz.4M3M.build.spiffs_end=0x3FA000 wifiduino.menu.eesz.4M3M.build.spiffs_blocksize=8192 -wifiduino.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +wifiduino.menu.eesz.4M3M.build.spiffs_pagesize=256 +wifiduino.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) wifiduino.menu.eesz.4M1M.build.flash_size=4M wifiduino.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -wifiduino.menu.eesz.4M1M.build.spiffs_pagesize=256 wifiduino.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +wifiduino.menu.eesz.4M1M.upload.maximum_size=1044464 wifiduino.menu.eesz.4M1M.build.spiffs_start=0x300000 wifiduino.menu.eesz.4M1M.build.spiffs_end=0x3FA000 wifiduino.menu.eesz.4M1M.build.spiffs_blocksize=8192 -wifiduino.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +wifiduino.menu.eesz.4M1M.build.spiffs_pagesize=256 +wifiduino.menu.eesz.4M=4MB (FS:none OTA:~3052KB) wifiduino.menu.eesz.4M.build.flash_size=4M wifiduino.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -wifiduino.menu.eesz.4M.build.spiffs_pagesize=256 wifiduino.menu.eesz.4M.build.rfcal_addr=0x3FC000 +wifiduino.menu.eesz.4M.upload.maximum_size=1044464 wifiduino.menu.ip.lm2f=v2 Lower Memory wifiduino.menu.ip.lm2f.build.lwip_include=lwip2/include wifiduino.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -8090,6 +8180,8 @@ wifiduino.menu.dbg.Serial1=Serial1 wifiduino.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 wifiduino.menu.lvl.None____=None wifiduino.menu.lvl.None____.build.debug_level= +wifiduino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +wifiduino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifiduino.menu.lvl.SSL=SSL wifiduino.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL wifiduino.menu.lvl.TLS_MEM=TLS_MEM @@ -8134,24 +8226,20 @@ wifiduino.menu.lvl.OOM=OOM wifiduino.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM wifiduino.menu.lvl.MDNS=MDNS wifiduino.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -wifiduino.menu.lvl.HWDT=HWDT -wifiduino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -wifiduino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -wifiduino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +wifiduino.menu.lvl.HWDT=HWDT +wifiduino.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +wifiduino.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +wifiduino.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +wifiduino.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K wifiduino.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifiduino.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -wifiduino.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifiduino.menu.wipe.none=Only Sketch wifiduino.menu.wipe.none.upload.erase_cmd= wifiduino.menu.wipe.sdk=Sketch + WiFi Settings @@ -8265,67 +8353,74 @@ wifinfo.menu.FlashFreq.20=20MHz wifinfo.menu.FlashFreq.20.build.flash_freq=20 wifinfo.menu.FlashFreq.26=26MHz wifinfo.menu.FlashFreq.26.build.flash_freq=26 -wifinfo.menu.eesz.1M64=1MB (FS:64KB OTA:~470KB) +wifinfo.menu.eesz.1M64=1MB (FS:64KB OTA:~467KB) wifinfo.menu.eesz.1M64.build.flash_size=1M wifinfo.menu.eesz.1M64.build.flash_ld=eagle.flash.1m64.ld -wifinfo.menu.eesz.1M64.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M64.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M64.upload.maximum_size=1044464 wifinfo.menu.eesz.1M64.build.spiffs_start=0xEB000 wifinfo.menu.eesz.1M64.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M64.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M128=1MB (FS:128KB OTA:~438KB) +wifinfo.menu.eesz.1M64.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M128=1MB (FS:128KB OTA:~435KB) wifinfo.menu.eesz.1M128.build.flash_size=1M wifinfo.menu.eesz.1M128.build.flash_ld=eagle.flash.1m128.ld -wifinfo.menu.eesz.1M128.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M128.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M128.upload.maximum_size=1044464 wifinfo.menu.eesz.1M128.build.spiffs_start=0xDB000 wifinfo.menu.eesz.1M128.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M128.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M144=1MB (FS:144KB OTA:~430KB) +wifinfo.menu.eesz.1M128.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M144=1MB (FS:144KB OTA:~427KB) wifinfo.menu.eesz.1M144.build.flash_size=1M wifinfo.menu.eesz.1M144.build.flash_ld=eagle.flash.1m144.ld -wifinfo.menu.eesz.1M144.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M144.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M144.upload.maximum_size=1044464 wifinfo.menu.eesz.1M144.build.spiffs_start=0xD7000 wifinfo.menu.eesz.1M144.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M144.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M160=1MB (FS:160KB OTA:~422KB) +wifinfo.menu.eesz.1M144.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M160=1MB (FS:160KB OTA:~419KB) wifinfo.menu.eesz.1M160.build.flash_size=1M wifinfo.menu.eesz.1M160.build.flash_ld=eagle.flash.1m160.ld -wifinfo.menu.eesz.1M160.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M160.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M160.upload.maximum_size=1044464 wifinfo.menu.eesz.1M160.build.spiffs_start=0xD3000 wifinfo.menu.eesz.1M160.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M160.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M192=1MB (FS:192KB OTA:~406KB) +wifinfo.menu.eesz.1M160.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M192=1MB (FS:192KB OTA:~403KB) wifinfo.menu.eesz.1M192.build.flash_size=1M wifinfo.menu.eesz.1M192.build.flash_ld=eagle.flash.1m192.ld -wifinfo.menu.eesz.1M192.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M192.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M192.upload.maximum_size=1044464 wifinfo.menu.eesz.1M192.build.spiffs_start=0xCB000 wifinfo.menu.eesz.1M192.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M192.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M256=1MB (FS:256KB OTA:~374KB) +wifinfo.menu.eesz.1M192.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M256=1MB (FS:256KB OTA:~371KB) wifinfo.menu.eesz.1M256.build.flash_size=1M wifinfo.menu.eesz.1M256.build.flash_ld=eagle.flash.1m256.ld -wifinfo.menu.eesz.1M256.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M256.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M256.upload.maximum_size=1044464 wifinfo.menu.eesz.1M256.build.spiffs_start=0xBB000 wifinfo.menu.eesz.1M256.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M256.build.spiffs_blocksize=4096 -wifinfo.menu.eesz.1M512=1MB (FS:512KB OTA:~246KB) +wifinfo.menu.eesz.1M256.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M512=1MB (FS:512KB OTA:~243KB) wifinfo.menu.eesz.1M512.build.flash_size=1M wifinfo.menu.eesz.1M512.build.flash_ld=eagle.flash.1m512.ld -wifinfo.menu.eesz.1M512.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M512.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M512.upload.maximum_size=1044464 wifinfo.menu.eesz.1M512.build.spiffs_start=0x7B000 wifinfo.menu.eesz.1M512.build.spiffs_end=0xFB000 wifinfo.menu.eesz.1M512.build.spiffs_blocksize=8192 -wifinfo.menu.eesz.1M=1MB (FS:none OTA:~502KB) +wifinfo.menu.eesz.1M512.build.spiffs_pagesize=256 +wifinfo.menu.eesz.1M=1MB (FS:none OTA:~499KB) wifinfo.menu.eesz.1M.build.flash_size=1M wifinfo.menu.eesz.1M.build.flash_ld=eagle.flash.1m.ld -wifinfo.menu.eesz.1M.build.spiffs_pagesize=256 wifinfo.menu.eesz.1M.build.rfcal_addr=0xFC000 +wifinfo.menu.eesz.1M.upload.maximum_size=1044464 wifinfo.menu.ip.lm2f=v2 Lower Memory wifinfo.menu.ip.lm2f.build.lwip_include=lwip2/include wifinfo.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -8358,6 +8453,8 @@ wifinfo.menu.dbg.Serial1=Serial1 wifinfo.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 wifinfo.menu.lvl.None____=None wifinfo.menu.lvl.None____.build.debug_level= +wifinfo.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +wifinfo.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifinfo.menu.lvl.SSL=SSL wifinfo.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL wifinfo.menu.lvl.TLS_MEM=TLS_MEM @@ -8402,24 +8499,20 @@ wifinfo.menu.lvl.OOM=OOM wifinfo.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM wifinfo.menu.lvl.MDNS=MDNS wifinfo.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -wifinfo.menu.lvl.HWDT=HWDT -wifinfo.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -wifinfo.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -wifinfo.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +wifinfo.menu.lvl.HWDT=HWDT +wifinfo.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +wifinfo.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +wifinfo.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +wifinfo.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K wifinfo.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -wifinfo.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -wifinfo.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifinfo.menu.wipe.none=Only Sketch wifinfo.menu.wipe.none.upload.erase_cmd= wifinfo.menu.wipe.sdk=Sketch + WiFi Settings @@ -8512,35 +8605,38 @@ cw01.menu.CrystalFreq.40.build.extra_flags=-DF_CRYSTAL=40000000 cw01.build.flash_mode=dio cw01.build.flash_flags=-DFLASHMODE_DIO cw01.build.flash_freq=40 -cw01.menu.eesz.4M2M=4MB (FS:2MB OTA:~1019KB) +cw01.menu.eesz.4M2M=4MB (FS:2024KB OTA:~1MB) cw01.menu.eesz.4M2M.build.flash_size=4M cw01.menu.eesz.4M2M.build.flash_ld=eagle.flash.4m2m.ld -cw01.menu.eesz.4M2M.build.spiffs_pagesize=256 cw01.menu.eesz.4M2M.build.rfcal_addr=0x3FC000 +cw01.menu.eesz.4M2M.upload.maximum_size=1044464 cw01.menu.eesz.4M2M.build.spiffs_start=0x200000 cw01.menu.eesz.4M2M.build.spiffs_end=0x3FA000 cw01.menu.eesz.4M2M.build.spiffs_blocksize=8192 -cw01.menu.eesz.4M3M=4MB (FS:3MB OTA:~512KB) +cw01.menu.eesz.4M2M.build.spiffs_pagesize=256 +cw01.menu.eesz.4M3M=4MB (FS:3048KB OTA:~509KB) cw01.menu.eesz.4M3M.build.flash_size=4M cw01.menu.eesz.4M3M.build.flash_ld=eagle.flash.4m3m.ld -cw01.menu.eesz.4M3M.build.spiffs_pagesize=256 cw01.menu.eesz.4M3M.build.rfcal_addr=0x3FC000 +cw01.menu.eesz.4M3M.upload.maximum_size=1044464 cw01.menu.eesz.4M3M.build.spiffs_start=0x100000 cw01.menu.eesz.4M3M.build.spiffs_end=0x3FA000 cw01.menu.eesz.4M3M.build.spiffs_blocksize=8192 -cw01.menu.eesz.4M1M=4MB (FS:1MB OTA:~1019KB) +cw01.menu.eesz.4M3M.build.spiffs_pagesize=256 +cw01.menu.eesz.4M1M=4MB (FS:1000KB OTA:~2MB) cw01.menu.eesz.4M1M.build.flash_size=4M cw01.menu.eesz.4M1M.build.flash_ld=eagle.flash.4m1m.ld -cw01.menu.eesz.4M1M.build.spiffs_pagesize=256 cw01.menu.eesz.4M1M.build.rfcal_addr=0x3FC000 +cw01.menu.eesz.4M1M.upload.maximum_size=1044464 cw01.menu.eesz.4M1M.build.spiffs_start=0x300000 cw01.menu.eesz.4M1M.build.spiffs_end=0x3FA000 cw01.menu.eesz.4M1M.build.spiffs_blocksize=8192 -cw01.menu.eesz.4M=4MB (FS:none OTA:~1019KB) +cw01.menu.eesz.4M1M.build.spiffs_pagesize=256 +cw01.menu.eesz.4M=4MB (FS:none OTA:~3052KB) cw01.menu.eesz.4M.build.flash_size=4M cw01.menu.eesz.4M.build.flash_ld=eagle.flash.4m.ld -cw01.menu.eesz.4M.build.spiffs_pagesize=256 cw01.menu.eesz.4M.build.rfcal_addr=0x3FC000 +cw01.menu.eesz.4M.upload.maximum_size=1044464 cw01.menu.ip.lm2f=v2 Lower Memory cw01.menu.ip.lm2f.build.lwip_include=lwip2/include cw01.menu.ip.lm2f.build.lwip_lib=-llwip2-536-feat @@ -8573,6 +8669,8 @@ cw01.menu.dbg.Serial1=Serial1 cw01.menu.dbg.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 cw01.menu.lvl.None____=None cw01.menu.lvl.None____.build.debug_level= +cw01.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG +cw01.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG cw01.menu.lvl.SSL=SSL cw01.menu.lvl.SSL.build.debug_level= -DDEBUG_ESP_SSL cw01.menu.lvl.TLS_MEM=TLS_MEM @@ -8617,24 +8715,20 @@ cw01.menu.lvl.OOM=OOM cw01.menu.lvl.OOM.build.debug_level= -DDEBUG_ESP_OOM cw01.menu.lvl.MDNS=MDNS cw01.menu.lvl.MDNS.build.debug_level= -DDEBUG_ESP_MDNS -cw01.menu.lvl.HWDT=HWDT -cw01.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT -cw01.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K -cw01.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS +cw01.menu.lvl.HWDT=HWDT +cw01.menu.lvl.HWDT.build.debug_level= -DDEBUG_ESP_HWDT cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT -cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K -cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS -cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT +cw01.menu.lvl.HWDT_NOEXTRA4K=HWDT_NOEXTRA4K +cw01.menu.lvl.HWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_HWDT_NOEXTRA4K +cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K +cw01.menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K cw01.menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level= -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K -cw01.menu.lvl.NoAssert-NDEBUG=NoAssert-NDEBUG -cw01.menu.lvl.NoAssert-NDEBUG.build.debug_level= -DNDEBUG cw01.menu.wipe.none=Only Sketch cw01.menu.wipe.none.upload.erase_cmd= cw01.menu.wipe.sdk=Sketch + WiFi Settings diff --git a/cores/esp8266/FlashMap.h b/cores/esp8266/FlashMap.h index 996228fdc2..b168462804 100644 --- a/cores/esp8266/FlashMap.h +++ b/cores/esp8266/FlashMap.h @@ -1,8 +1,6 @@ +// - DO NOT EDIT - autogenerated by boards.txt.py -// - do not edit - autogenerated by boards.txt.py - -#ifndef __FLASH_MAP_H -#define __FLASH_MAP_H +#pragma once #include #include @@ -55,5 +53,3 @@ typedef struct { .eeprom_start = 0x4027b000, .fs_start = 0x4027b000, .fs_end = 0x4027b000, .fs_block_size = 0x0, .fs_page_size = 0x0, .flash_size_kb = 512 }, \ } -#endif // __FLASH_MAP_H - diff --git a/doc/boards.rst b/doc/boards.rst index 5721fab624..0d55d711df 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -207,22 +207,18 @@ ESP8285 (`datasheet `__) using a ESP8285 Chip. With the DOIT ESP-Mx module, GPIO pins 9 and 10 are not available. The DOIT ESP-Mx DevKit board has a red power LED and a blue LED connected to GPIO16 and is active low to turn on. It uses a CH340C, USB to Serial converter chip. -Product page: http://www.espert.co +ESP8285 (`datasheet `__) is a multi-chip package which contains ESP8266 and 1MB flash. -NodeMCU 0.9 (ESP-12 Module) ---------------------------- +Digistump Oak +------------- -Pin mapping -~~~~~~~~~~~ +The Oak requires an `Serial Adapter`_ for a serial connection or flashing; its micro USB port is only for power. -Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier: +To make a serial connection, wire the adapter's **TX to P3**, **RX to P4**, and **GND** to **GND**. Supply 3.3v from the serial adapter if not already powered via USB. -.. code:: c++ +To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode. - static const uint8_t D0 = 16; - static const uint8_t D1 = 5; - static const uint8_t D2 = 4; - static const uint8_t D3 = 0; - static const uint8_t D4 = 2; - static const uint8_t D5 = 14; - static const uint8_t D6 = 12; - static const uint8_t D7 = 13; - static const uint8_t D8 = 15; - static const uint8_t D9 = 3; - static const uint8_t D10 = 1; +ESPDuino (ESP-13 Module) +------------------------ -If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14. +*TODO* -NodeMCU 1.0 (ESP-12E Module) ----------------------------- +ESPectro Core +------------- -This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions. +ESPectro Core is ESP8266 development board as the culmination of our 3+ year experience in exploring and developing products with ESP8266 MCU. -It's an open hardware design with an ESP-12E core and 4 MB of SPI flash. +Initially designed for kids in mind, everybody should be able to use it. Yet it's still hacker-friendly as we break out all ESP8266 ESP-12F pins. -According to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + -RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux. +More details at https://shop.makestro.com/product/espectrocore/ -The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin. -The ESP-12E usually has a led connected on GPIO2. +ESPino (ESP-12 Module) +---------------------- -Full pinout and PDF schematics can be found `here `__ +ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping. -Olimex MOD-WIFI-ESP8266(-DEV) ------------------------------ +For more information about the hardware, pinout diagram and programming procedures, please see the `datasheet `__. -This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries). +Product page: http://www.espino.io/en -The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH. +ESPresso Lite 1.0 +----------------- -The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1. +ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System's own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards. -Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it. +ESPresso Lite 2.0 +----------------- -UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4). +ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained. -You can find the board schematics `here `__ +ITEAD Sonoff +------------ -SparkFun ESP8266 Thing ----------------------- +ESP8266 based devices from ITEAD: Sonoff SV, Sonoff TH, Sonoff Basic, and Sonoff S20 -Product page: https://www.sparkfun.com/products/13231 +These are not development boards. The development process is inconvenient with these devices. When flashing firmware you will need a Serial Adapter to connect it to your computer. -SparkFun ESP8266 Thing Dev --------------------------- + | Most of these devices, during normal operation, are connected to *wall power (AKA Mains Electricity)*. **NEVER** try to flash these devices when connected to *wall power*. **ALWAYS** have them disconnected from *wall power* when connecting them to your computer. Your life may depend on it! -Product page: https://www.sparkfun.com/products/13711 +When flashing you will need to hold down the push button connected to the GPIO0 pin, while powering up with a safe 3.3 Volt source. Some USB Serial Adapters may supply enough power to handle flashing; however, it many may not supply enough power to handle the activities when the device reboots. -SparkFun Blynk Board --------------------- +More product details at the bottom of https://www.itead.cc/wiki/Product/ -Product page: https://www.sparkfun.com/products/13794 +Invent One +---------- -SweetPea ESP-210 ----------------- +The Invent One is an Arduino-compatible Wi-Fi development board powered by Ai-Thinker's ESP-12F, clocked at 80 MHz at 3.3V logic. It has an onboard ADC (PCF8591) so that you can have multiple analog inputs to work with. More information can be found here: https://blog.inventone.ng -*TODO* +Product page: https://inventone.ng LOLIN(WEMOS) D1 R2 & mini ------------------------- @@ -359,11 +319,6 @@ with enabled flash-mode menu, DOUT selected by default. Product page of the preferred official board: https://www.wemos.cc/ -LOLIN(WEMOS) D1 mini Pro ------------------------- - -Product page: https://www.wemos.cc/ - LOLIN(WEMOS) D1 mini Lite ------------------------- @@ -389,77 +344,98 @@ links: - ESP8285 datasheet: https://www.espressif.com/sites/default/files/0a-esp8285_datasheet_en_v1.0_20160422.pdf - Voltage regulator datasheet: http://pdf-datasheet.datasheet.netdna-cdn.com/pdf-down/M/E/6/ME6211-Microne.pdf +LOLIN(WEMOS) D1 mini Pro +------------------------ + +Product page: https://www.wemos.cc/ + LOLIN(WeMos) D1 R1 ------------------ Product page: https://www.wemos.cc/ -ESPino (ESP-12 Module) ----------------------- +Lifely Agrumino Lemon v4 +------------------------ -ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping. +Procuct page https://www.lifely.cc -For more information about the hardware, pinout diagram and programming procedures, please see the `datasheet `__. +This Board "Lifely Agrumino Lemon" is based with WT8266-S1 core with WiFi 2,4Ghz and 2MB of Flash. +Power +Micro usb power cable, Lir2450 rechargeable battery (or not rechargeable)or with JST connector in the back board Max 6 Vin +Libraries and examples +Download libraries from: Official Arduino Ide, our website https://www.lifely.cc or https://github.com/lifely-cc/ +Full pinout and PDF for setup here https://www.lifely.cc our libraries is OpenSource -Product page: http://www.espino.io/en +NodeMCU 0.9 (ESP-12 Module) +--------------------------- -ThaiEasyElec's ESPino ---------------------- +Pin mapping +~~~~~~~~~~~ -ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash. +Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier: -We will update an English description soon. - Product page: -http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html -- Schematics: -www.thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Schematic.pdf - -Dimensions: -http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Dimension.pdf -- Pinouts: -http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_User\_Manual\_TH\_v1\_0\_20160204.pdf (Please see pg. 8) +.. code:: c++ -WifInfo -------- + static const uint8_t D0 = 16; + static const uint8_t D1 = 5; + static const uint8_t D2 = 4; + static const uint8_t D3 = 0; + static const uint8_t D4 = 2; + static const uint8_t D5 = 14; + static const uint8_t D6 = 12; + static const uint8_t D7 = 13; + static const uint8_t D8 = 15; + static const uint8_t D9 = 3; + static const uint8_t D10 = 1; -WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature. +If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14. -For more information, please see WifInfo related `blog `__ entries, `github `__ and `community `__ forum. +NodeMCU 1.0 (ESP-12E Module) +---------------------------- -Arduino -------- +This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions. -*TODO* +It's an open hardware design with an ESP-12E core and 4 MB of SPI flash. -4D Systems gen4 IoD Range -------------------------- +According to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + +RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux. -gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems. +The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin. +The ESP-12E usually has a led connected on GPIO2. -2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive Touch. Chip Antenna + uFL Connector. +Full pinout and PDF schematics can be found `here `__ -Datasheet and associated downloads can be found on the 4D Systems product page. +Olimex MOD-WIFI-ESP8266(-DEV) +----------------------------- -The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications. +This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries). -- Product page: https://4dsystems.com.au/products/iot-display-modules +The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH. -Digistump Oak -------------- +The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1. -The Oak requires an `Serial Adapter`_ for a serial connection or flashing; its micro USB port is only for power. +Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it. -To make a serial connection, wire the adapter's **TX to P3**, **RX to P4**, and **GND** to **GND**. Supply 3.3v from the serial adapter if not already powered via USB. +UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4). -To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode. +You can find the board schematics `here `__ -WiFiduino ---------- +Phoenix 1.0 +----------- -Product page: https://wifiduino.com/esp8266 +Product page: http://www.espert.co -Amperka WiFi Slot ------------------ +Phoenix 2.0 +----------- -Product page: http://wiki.amperka.ru/wifi-slot +Product page: http://www.espert.co + +Schirmilabs Eduino WiFi +----------------------- + +Eduino WiFi is an Arduino-compatible DIY WiFi development board using an ESP-12 module + +Product page: https://schirmilabs.de/?page_id=165 Seeed Wio Link -------------- @@ -470,39 +446,63 @@ Please DO NOTICE that you MUST pull up pin 15 to enable the power for Grove port Product page: https://www.seeedstudio.com/Wio-Link-p-2604.html -ESPectro Core -------------- +SparkFun Blynk Board +-------------------- -ESPectro Core is ESP8266 development board as the culmination of our 3+ year experience in exploring and developing products with ESP8266 MCU. +Product page: https://www.sparkfun.com/products/13794 -Initially designed for kids in mind, everybody should be able to use it. Yet it's still hacker-friendly as we break out all ESP8266 ESP-12F pins. +SparkFun ESP8266 Thing +---------------------- -More details at https://shop.makestro.com/product/espectrocore/ +Product page: https://www.sparkfun.com/products/13231 -Schirmilabs Eduino WiFi ------------------------ +SparkFun ESP8266 Thing Dev +-------------------------- -Eduino WiFi is an Arduino-compatible DIY WiFi development board using an ESP-12 module +Product page: https://www.sparkfun.com/products/13711 -Product page: https://schirmilabs.de/?page_id=165 +SweetPea ESP-210 +---------------- -ITEAD Sonoff ------------- +*TODO* -ESP8266 based devices from ITEAD: Sonoff SV, Sonoff TH, Sonoff Basic, and Sonoff S20 +ThaiEasyElec's ESPino +--------------------- -These are not development boards. The development process is inconvenient with these devices. When flashing firmware you will need a Serial Adapter to connect it to your computer. +ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash. - | Most of these devices, during normal operation, are connected to *wall power (AKA Mains Electricity)*. **NEVER** try to flash these devices when connected to *wall power*. **ALWAYS** have them disconnected from *wall power* when connecting them to your computer. Your life may depend on it! +We will update an English description soon. - Product page: +http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html +- Schematics: +www.thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Schematic.pdf - +Dimensions: +http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Dimension.pdf +- Pinouts: +http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_User\_Manual\_TH\_v1\_0\_20160204.pdf (Please see pg. 8) -When flashing you will need to hold down the push button connected to the GPIO0 pin, while powering up with a safe 3.3 Volt source. Some USB Serial Adapters may supply enough power to handle flashing; however, it many may not supply enough power to handle the activities when the device reboots. +WiFi Kit 8 +---------- -More product details at the bottom of https://www.itead.cc/wiki/Product/ +The Heltec WiFi Kit 8 is an Arduino-compatible Wi-Fi development board powered by Ai-Thinker's ESP-12S, clocked at 80 MHz at 3.3V logic. A high-quality SiLabs CP2104 USB-Serial chip is included so that you can upload code at a blistering 921600 baud for fast development time. It also has auto-reset so no noodling with pins and reset button pressings. A 3.7V Lithium polymer battery connector is included, making it ideal for portable projects. The Heltec WiFi Kit 8 will automatically recharge a connected battery when USB power is available. -DOIT ESP-Mx DevKit (ESP8285) ----------------------------- +Product page: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series -DOIT ESP-Mx DevKit - This is a development board by DOIT, with a DOIT ESP-Mx module (`datasheet `__) using a ESP8285 Chip. With the DOIT ESP-Mx module, GPIO pins 9 and 10 are not available. The DOIT ESP-Mx DevKit board has a red power LED and a blue LED connected to GPIO16 and is active low to turn on. It uses a CH340C, USB to Serial converter chip. +WiFiduino +--------- -ESP8285 (`datasheet `__) is a multi-chip package which contains ESP8266 and 1MB flash. +Product page: https://wifiduino.com/esp8266 + +WifInfo +------- + +WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature. + +For more information, please see WifInfo related `blog `__ entries, `github `__ and `community `__ forum. + +XinaBox CW01 +------------ + +The XinaBox CW01(ESP8266) is an Arduino-compatible Wi-Fi development board powered by an ESP-12F, clocked at 80 MHz at 3.3V logic. The CW01 has an onboard RGB LED and 3 xBUS connection ports. + +Product page: https://xinabox.cc/products/CW01 diff --git a/doc/faq/a05-board-generator.rst b/doc/faq/a05-board-generator.rst index 279491355e..bd7c916b2d 100644 --- a/doc/faq/a05-board-generator.rst +++ b/doc/faq/a05-board-generator.rst @@ -19,24 +19,22 @@ available in the IDE menu. How can I run the script ? ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Python needs to be installed on your system. - -The script is located in the ``tools`` subdirectory of the core's root installation. -It needs to be run from the root directory, +Python needs to be installed on your system. Either call the script directly, or use specific `python` binary. +Running without any parameters will show a command line help. :: - $ tools/boards.txt.py + $ python tools/boards.txt.py + $ py -3 tools/boards.txt.py -:: - C:\...> tools\boards.txt.py - C:\...> python tools\boards.txt.py +The Core location depends on your environment. For example, using Windows: -Running without parameters will show the command line help. They are -generally self-explanatory. Running with the parameters will show no output but will generate a new boards.txt file (and a backup boards.txt.orig). +* for Arduino IDE git installation, it is %USERPROFILE%\Documents\Arduino\hardware\esp8266com\esp8266\ -The core root directory varies depending on your development environment. In Windows, core root is found under your home directory; for Arduino it is in AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\ for PlatformIO it is in .platformio\packages\framework-arduinoespressif8266. +* for Arduino IDE boards manager installation, it is usually %LOCALAPPDATA%\Arduino15\packages\esp8266\hardware\esp8266\VERSION\ + +* for PlatformIO, it is either %USERPROFILE%\.platformio\packages\framework-arduinoespressif8266 or C:\.platformio What can I do with it ? @@ -50,9 +48,9 @@ As of today you can: * increase available flash space by disabling floats in ``*printf`` functions -* change led pin ``LED_BUILTIN`` for the two generic boards +* change led pin ``LED_BUILTIN`` for the generic boards -* create an abridged boards.txt file +* re-create boards.txt file with a different set of boards, or create a boards.local.txt When do I need to mess with it ? @@ -65,7 +63,7 @@ when possible. It needs to be edited for: board (definition, description) can be updated or added to the existing list. -* Memory mapping for ldscripts (flash and spiffs size combinations) +* Memory mapping for ldscripts (flash and filesystem size combinations) Why is my pull-request failing continuous-integration ? @@ -75,64 +73,58 @@ The generator is able to update a number of files (see list in help), and global coherency can be checked by the continuous integration facilities. After a modification in the generator, it is **mandatory** to regenerate all -files (option ``--allgen``) and add them in the pull-request. +files and include them in the pull-request. + +:: + + ./tools/boards.txt.py generate --all + git add -u -p + git commit How to create an abridged boards.txt file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The list of boards presented by the IDE has gotten quite long. You can reduce -the ESP8266 boards shown by the IDE to a favorites list. This can -be done by generating a new boards.txt file using the ``--filter `` -option. +the number of ESP8266 boards used in the IDE with a favorites list. This can +be done by generating a new boards.txt file using the ``--include `` +or ``--exclude `` options. Start by getting a current list of boards supported by boards.txt.py. This command will write a list of supported board names to favorites.txt. :: - ./tools/boards.txt.py --boardnames >favorites.txt + ./tools/boards.txt.py names > favorites.txt -Edit favorites.txt, keeping the name of the boards you want generated in -boards.txt. +Edit favorites.txt, keeping only the names you want to keep. to generate a new abridged boards.txt run: :: - ./tools/boards.txt.py --boardsgen --filter favorites.txt - - -You can turn the process around by creating a list of boards, you do not want -to be generated. To do this we use the ``--xfilter `` option. - -to generate this abridged boards.txt run: - -:: - - ./tools/boards.txt.py --boardsgen --xfilter favorites.txt - + ./tools/boards.txt.py --include favorites.txt generate --boards -Yet another option, you can split the boards between boards.txt and -boards.local.txt. -The commands below will generate a boards.txt file that omits the boards named -in favorites.txt, and generates a boards.local.txt ( via option ``--boardslocalgen`` ) that only contains boards +The commands below will overwrite the boards.txt file and omit every board named +in favorites.txt, and the next one will generate a boards.local.txt that only contains boards named in favorites.txt. :: - ./tools/boards.txt.py --boardsgen --xfilter favorites.txt - ./tools/boards.txt.py --boardslocalgen --filter favorites.txt + ./tools/boards.txt.py --exclude favorites.txt generate --boards + ./tools/boards.txt.py --include favorites.txt generate --boards --boards-file boards.local.txt Additional Notes: -1. The boards.txt file will always contain the generic and esp8285 boards. +1. Arduino IDE requires at least one board to be specified in boards.txt. + +2. Using filtering you could omit our default boards - ``generic`` and ``esp8285``. -2. If boards.txt file exist and no backup copy named boards.txt.orig exist, the current boards.txt will be renamed to boards.txt.orig. Otherwise, the existing boards.txt is over-written when you generate a new boards.txt file. Similar behavior for when generating a new boards.local.txt. +3. By default, generators will overwrite existing files. Use ``--output=stdout`` to redirect output to console. -3. The boards in the boards.txt file will be in the order they were listed in your favorites file, specified by option ``--filter ``. +4. Use ``--output=file-with-orig`` to preserve existing files as ``.orig``. -4. It is outside the scope of this document, but you could manually edit any boards.txt file to have fewer boards. One last observation, the Arduino IDE appears to need at least one board in a board.txt file. +5. The boards in the boards.txt file will be in the order they were listed in your favorites file, specified by option ``--include ``. By default, boards are sorted alphabetically. `FAQ list :back: `__ diff --git a/doc/faq/readme.rst b/doc/faq/readme.rst index 04ccd74880..8292e4aeeb 100644 --- a/doc/faq/readme.rst +++ b/doc/faq/readme.rst @@ -46,7 +46,7 @@ How can I get some extra KBs in flash ? * Using ``*printf()`` with floats is enabled by default. Some KBs of flash can be saved by using the option ``--nofloat`` with the boards generator: - ``./tools/boards.txt.py --nofloat --boardsgen`` + ``./tools/boards.txt.py --no-float generate --boards`` * Use the debug level option ``NoAssert-NDEBUG`` (in the Tools menu) @@ -55,21 +55,7 @@ How can I get some extra KBs in flash ? About WPS ~~~~~~~~~ -From release 2.4.2 and ahead, not using WPS will give an extra ~4.5KB in -heap. - -In release 2.4.2 only, WPS is disabled by default and the board generator is -required to enable it: - -``./tools/boards.txt.py --allowWPS --boardsgen`` - -`Read more `__. - -For platformIO (and maybe other build environments), you will also need to add the build flag: -D NO_EXTRA_4K_HEAP - -This manual selection is not needed starting from 2.5.0 (and in git -version). WPS is always available, and not using it will give an extra -~4.5KB compared to releases until 2.4.1 included. +Starting from release 2.5.0, WPS support is enabled automatically. This Arduino library doesn't work on ESP. How do I make it work? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/package/build_boards_manager_package.sh b/package/build_boards_manager_package.sh index e5d4e58aa0..bb2b87c9d7 100755 --- a/package/build_boards_manager_package.sh +++ b/package/build_boards_manager_package.sh @@ -146,8 +146,8 @@ if [ ! -z "${DOC_URL}" ]; then .packages[0].platforms[0].help.online = \"${DOC_URL}\"" fi -cat ${srcdir}/package/package_esp8266com_index.template.json | \ - jq "${jq_arg}" > package_esp8266com_index.json +jq "${jq_arg}" ${srcdir}/package/package_esp8266com_index.template.json \ + > package_esp8266com_index.json # Use Github API token, if available curl_gh_token_arg=() diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index 03cfddbd68..2cacd3f2b5 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -24,109 +24,109 @@ "name": "Generic ESP8285 Module" }, { - "name": "Lifely Agrumino Lemon v4" + "name": "4D Systems gen4 IoD Range" }, { - "name": "ESPDuino (ESP-13 Module)" + "name": "Adafruit Feather HUZZAH ESP8266" }, { - "name": "Adafruit Feather HUZZAH ESP8266" + "name": "Amperka WiFi Slot" }, { - "name": "WiFi Kit 8" + "name": "Arduino" }, { - "name": "Invent One" + "name": "DOIT ESP-Mx DevKit (ESP8285)" }, { - "name": "XinaBox CW01" + "name": "Digistump Oak" }, { - "name": "ESPresso Lite 1.0" + "name": "ESPDuino (ESP-13 Module)" }, { - "name": "ESPresso Lite 2.0" + "name": "ESPectro Core" }, { - "name": "Phoenix 1.0" + "name": "ESPino (ESP-12 Module)" }, { - "name": "Phoenix 2.0" + "name": "ESPresso Lite 1.0" }, { - "name": "NodeMCU 0.9 (ESP-12 Module)" + "name": "ESPresso Lite 2.0" }, { - "name": "NodeMCU 1.0 (ESP-12E Module)" + "name": "ITEAD Sonoff" }, { - "name": "Olimex MOD-WIFI-ESP8266(-DEV)" + "name": "Invent One" }, { - "name": "SparkFun ESP8266 Thing" + "name": "LOLIN(WEMOS) D1 R2 & mini" }, { - "name": "SparkFun ESP8266 Thing Dev" + "name": "LOLIN(WEMOS) D1 mini (clone)" }, { - "name": "SparkFun Blynk Board" + "name": "LOLIN(WEMOS) D1 mini Lite" }, { - "name": "SweetPea ESP-210" + "name": "LOLIN(WEMOS) D1 mini Pro" }, { - "name": "LOLIN(WEMOS) D1 R2 & mini" + "name": "LOLIN(WeMos) D1 R1" }, { - "name": "LOLIN(WEMOS) D1 mini (clone)" + "name": "Lifely Agrumino Lemon v4" }, { - "name": "LOLIN(WEMOS) D1 mini Pro" + "name": "NodeMCU 0.9 (ESP-12 Module)" }, { - "name": "LOLIN(WEMOS) D1 mini Lite" + "name": "NodeMCU 1.0 (ESP-12E Module)" }, { - "name": "LOLIN(WeMos) D1 R1" + "name": "Olimex MOD-WIFI-ESP8266(-DEV)" }, { - "name": "ESPino (ESP-12 Module)" + "name": "Phoenix 1.0" }, { - "name": "ThaiEasyElec's ESPino" + "name": "Phoenix 2.0" }, { - "name": "WifInfo" + "name": "Schirmilabs Eduino WiFi" }, { - "name": "Arduino" + "name": "Seeed Wio Link" }, { - "name": "4D Systems gen4 IoD Range" + "name": "SparkFun Blynk Board" }, { - "name": "Digistump Oak" + "name": "SparkFun ESP8266 Thing" }, { - "name": "WiFiduino" + "name": "SparkFun ESP8266 Thing Dev" }, { - "name": "Amperka WiFi Slot" + "name": "SweetPea ESP-210" }, { - "name": "Seeed Wio Link" + "name": "ThaiEasyElec's ESPino" }, { - "name": "ESPectro Core" + "name": "WiFi Kit 8" }, { - "name": "Schirmilabs Eduino WiFi" + "name": "WiFiduino" }, { - "name": "ITEAD Sonoff" + "name": "WifInfo" }, { - "name": "DOIT ESP-Mx DevKit (ESP8285)" + "name": "XinaBox CW01" } ], "toolsDependencies": [ diff --git a/tests/ci/build_boards.sh b/tests/ci/build_boards.sh index a263bdad28..856cd54d31 100755 --- a/tests/ci/build_boards.sh +++ b/tests/ci/build_boards.sh @@ -1,14 +1,15 @@ #!/bin/bash # -# CI job which checks that boards.txt and package_esp8266com_index.template.json are up to date +# CI job which checks that files generated with boards.txt.py are up to date set -ev cd $TRAVIS_BUILD_DIR -tools/boards.txt.py --boardsgen --ldgen --packagegen --docgen +tools/boards.txt.py test +tools/boards.txt.py generate --all git diff --exit-code -- boards.txt \ doc/boards.rst \ tools/sdk/ld/ -git diff --exit-code -w -- package/package_esp8266com_index.template.json +git diff --exit-code -w -- package/package_esp8266com_index.boards.json diff --git a/tools/boards.txt.py b/tools/boards.txt.py index 89efe7f6ca..b95b4a1217 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -32,2103 +32,3037 @@ # 512K/1M/2M/4M/8M/16M: menus for flash & FS size # lwip menus for available lwip versions -from __future__ import print_function +import argparse +import doctest import os import sys import collections -import getopt -import re +import operator +import itertools import json - -requiredboards = [ 'generic', 'esp8285' ] +import contextlib ################################################################ -# serial upload speed order in menu -# default is 115 for every board unless specified with 'serial' in board -# or by user command line - -speeds = collections.OrderedDict([ - ( '57', [ 's57', 's115', 's230', 's256', 's460', 's512', 's921', 's3000' ]), - ( '115', [ 's115', 's57', 's230', 's256', 's460', 's512', 's921', 's3000' ]), - ( '230', [ 's230', 's57', 's115', 's256', 's460', 's512', 's921', 's3000' ]), - ( '256', [ 's256', 's57', 's115', 's230', 's460', 's512', 's921', 's3000' ]), - ( '460', [ 's460', 's57', 's115', 's230', 's256', 's512', 's921', 's3000' ]), - ( '512', [ 's512', 's57', 's115', 's230', 's256', 's460', 's921', 's3000' ]), - ( '921', [ 's921', 's57', 's115', 's230', 's256', 's460', 's512', 's3000' ]), - ( '3000', [ 's3000','s57', 's115', 's230', 's256', 's460', 's512', 's921' ]), - ]) +# serial upload speed order in menu, in kibibauds +# default is 115 for every board +# (unless, "serial" field from BOARDS below overrides it) + +SERIAL_SPEEDS = collections.OrderedDict( + [ + ("57", ("s57", "s115", "s230", "s256", "s460", "s512", "s921", "s3000")), + ("115", ("s115", "s57", "s230", "s256", "s460", "s512", "s921", "s3000")), + ("230", ("s230", "s57", "s115", "s256", "s460", "s512", "s921", "s3000")), + ("256", ("s256", "s57", "s115", "s230", "s460", "s512", "s921", "s3000")), + ("460", ("s460", "s57", "s115", "s230", "s256", "s512", "s921", "s3000")), + ("512", ("s512", "s57", "s115", "s230", "s256", "s460", "s921", "s3000")), + ("921", ("s921", "s57", "s115", "s230", "s256", "s460", "s512", "s3000")), + ("3000", ("s3000", "s57", "s115", "s230", "s256", "s460", "s512", "s921")), + ] +) + +DEFAULT_SERIAL_SPEED = "115" ################################################################ # boards list -boards = collections.OrderedDict([ - ( 'generic', { - 'name': 'Generic ESP8266 Module', - 'opts': { - '.build.board': 'ESP8266_GENERIC', +BOARDS = collections.OrderedDict( + [ + ( + "generic", + { + "name": "Generic ESP8266 Module", + "opts": { + ".build.board": "ESP8266_GENERIC", + }, + "macro": [ + "resetmethod_menu", + "resetmethod_menu_extra", + "crystalfreq_menu", + "flashfreq_menu", + "flashmode_menu", + "1M", + "2M", + "4M", + "8M", + "16M", + "512K", + "led", + "sdk", + ], + "desc": [ + "These modules come in different form factors and pinouts. " + "See the page at ESP8266 community wiki for more info: " + "`ESP8266 Module Family" + " `__.", + "", + "Usually these modules have no bootstrapping resistors on board," + " insufficient decoupling capacitors, no voltage regulator, no" + " reset circuit, and no USB-serial adapter. This makes using them" + " somewhat tricky, compared to development boards which add these" + " features.", + "", + "In order to use these modules, make sure to observe the" + " following:", + "", + "- **Provide sufficient power to the module.** For stable use of" + " the ESP8266 a power supply with 3.3V and >= 250mA is required." + " Using the power available from USB to Serial adapter is not" + " recommended, these adapters typically do not supply enough" + " current to run ESP8266 reliably in every situation. An external" + " supply or regulator alongwith filtering capacitors is preferred.", + "", + "- **Connect bootstrapping resistors** to GPIO0, GPIO2, GPIO15" + " according to the schematics below.", + "", + "- **Put ESP8266 into bootloader mode** before uploading code.", + "", + "Serial Adapter", + "--------------", + "", + "There are many different USB to Serial adapters / boards. To be" + " able to put ESP8266 into bootloader mode using serial handshaking" + " lines, you need the adapter which breaks out RTS and DTR outputs." + " CTS and DSR are not useful for upload (they are inputs). Make" + " sure the adapter can work with 3.3V IO voltage: it should have a" + " jumper or a switch to select between 5V and 3.3V, or be marked as" + " 3.3V only.", + "", + "Adapters based around the following ICs should work:", + "", + "- FT232RL", + "- CP2102", + "- CH340G", + "", + "PL2303-based adapters are known not to work on Mac OS X. See" + " https://github.com/igrr/esptool-ck/issues/9 for more info.", + "", + "Minimal Hardware Setup for Bootloading and Usage", + "------------------------------------------------", + "", + "+-----------------+------------+------------------+", + "| PIN | Resistor | Serial Adapter |", + "+=================+============+==================+", + "| VCC | | VCC (3.3V) |", + "+-----------------+------------+------------------+", + "| GND | | GND |", + "+-----------------+------------+------------------+", + "| TX or GPIO2\\* | | RX |", + "+-----------------+------------+------------------+", + "| RX | | TX |", + "+-----------------+------------+------------------+", + "| GPIO0 | PullUp | DTR |", + "+-----------------+------------+------------------+", + "| Reset\\* | PullUp | RTS |", + "+-----------------+------------+------------------+", + "| GPIO15\\* | PullDown | |", + "+-----------------+------------+------------------+", + "| CH\\_PD | PullUp | |", + "+-----------------+------------+------------------+", + "", + "- Note", + "- GPIO15 is also named MTDO", + "- Reset is also named RSBT or REST (adding PullUp improves the", + " stability of the module)", + "- GPIO2 is alternative TX for the boot loader mode", + "- **Directly connecting a pin to VCC or GND is not a substitute" + " for a", + " PullUp or PullDown resistor, doing this can break upload" + " management", + " and the serial console, instability has also been noted in" + " some", + " cases.**", + "", + "ESP to Serial", + "-------------", + "", + ".. figure:: ESP_to_serial.png", + " :alt: ESP to Serial", + "", + " ESP to Serial", + "", + "Minimal Hardware Setup for Bootloading only", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "", + "ESPxx Hardware", + "", + "+---------------+------------+------------------+", + "| PIN | Resistor | Serial Adapter |", + "+===============+============+==================+", + "| VCC | | VCC (3.3V) |", + "+---------------+------------+------------------+", + "| GND | | GND |", + "+---------------+------------+------------------+", + "| TX or GPIO2 | | RX |", + "+---------------+------------+------------------+", + "| RX | | TX |", + "+---------------+------------+------------------+", + "| GPIO0 | | GND |", + "+---------------+------------+------------------+", + "| Reset | | RTS\\* |", + "+---------------+------------+------------------+", + "| GPIO15 | PullDown | |", + "+---------------+------------+------------------+", + "| CH\\_PD | PullUp | |", + "+---------------+------------+------------------+", + "", + "- Note", + "- if no RTS is used a manual power toggle is needed", + "", + "Minimal Hardware Setup for Running only", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "", + "ESPxx Hardware", + "", + "+----------+------------+----------------+", + "| PIN | Resistor | Power supply |", + "+==========+============+================+", + "| VCC | | VCC (3.3V) |", + "+----------+------------+----------------+", + "| GND | | GND |", + "+----------+------------+----------------+", + "| GPIO0 | PullUp | |", + "+----------+------------+----------------+", + "| GPIO15 | PullDown | |", + "+----------+------------+----------------+", + "| CH\\_PD | PullUp | |", + "+----------+------------+----------------+", + "", + "Minimal", + "-------", + "", + ".. figure:: ESP_min.png", + " :alt: ESP min", + "", + " ESP min", + "", + "Improved Stability", + "------------------", + "", + ".. figure:: ESP_improved_stability.png", + " :alt: ESP improved stability", + "", + " ESP improved stability", + "", + "Boot Messages and Modes", + "-----------------------", + "", + "The ESP module checks at every boot the Pins 0, 2 and 15. based on" + " them its boots in different modes:", + "", + "+----------+---------+---------+------------------------------------+", + "| GPIO15 | GPIO0 | GPIO2 | Mode |", + "+==========+=========+=========+====================================+", + "| 0V | 0V | 3.3V | Uart Bootloader |", + "+----------+---------+---------+------------------------------------+", + "| 0V | 3.3V | 3.3V | Boot sketch (SPI flash) |", + "+----------+---------+---------+------------------------------------+", + "| 3.3V | x | x | SDIO mode (not used for Arduino) |", + "+----------+---------+---------+------------------------------------+", + "", + "at startup the ESP prints out the current boot mode example:", + "", + "::", + "", + " rst cause:2, boot mode:(3,6)", + "", + "note: - GPIO2 is used as TX output and the internal Pullup is" + " enabled on boot.", + "", + "rst cause", + "~~~~~~~~~", + "", + "+----------+------------------+", + "| Number | Description |", + "+==========+==================+", + "| 0 | unknown |", + "+----------+------------------+", + "| 1 | normal boot |", + "+----------+------------------+", + "| 2 | reset pin |", + "+----------+------------------+", + "| 3 | software reset |", + "+----------+------------------+", + "| 4 | watchdog reset |", + "+----------+------------------+", + "", + "boot mode", + "~~~~~~~~~", + "", + "the first value respects the pin setup of the Pins 0, 2 and 15.", + "", + "+----------+----------+---------+---------+-------------+", + "| Number | GPIO15 | GPIO0 | GPIO2 | Mode |", + "+==========+==========+=========+=========+=============+", + "| 0 | 0V | 0V | 0V | Not valid |", + "+----------+----------+---------+---------+-------------+", + "| 1 | 0V | 0V | 3.3V | Uart |", + "+----------+----------+---------+---------+-------------+", + "| 2 | 0V | 3.3V | 0V | Not valid |", + "+----------+----------+---------+---------+-------------+", + "| 3 | 0V | 3.3V | 3.3V | Flash |", + "+----------+----------+---------+---------+-------------+", + "| 4 | 3.3V | 0V | 0V | SDIO |", + "+----------+----------+---------+---------+-------------+", + "| 5 | 3.3V | 0V | 3.3V | SDIO |", + "+----------+----------+---------+---------+-------------+", + "| 6 | 3.3V | 3.3V | 0V | SDIO |", + "+----------+----------+---------+---------+-------------+", + "| 7 | 3.3V | 3.3V | 3.3V | SDIO |", + "+----------+----------+---------+---------+-------------+", + "", + "note: - number = ((GPIO15 << 2) \\| (GPIO0 << 1) \\| GPIO2);", + ], }, - 'macro': [ - 'resetmethod_menu', - 'resetmethod_menu_extra', - 'crystalfreq_menu', - 'flashfreq_menu', - 'flashmode_menu', - '1M', '2M', '4M', '8M', '16M', '512K', - 'led', - 'sdk', - ], - 'desc': [ 'These modules come in different form factors and pinouts. See the page at ESP8266 community wiki for more info: `ESP8266 Module Family `__.', - '', - 'Usually these modules have no bootstrapping resistors on board, insufficient decoupling capacitors, no voltage regulator, no reset circuit, and no USB-serial adapter. This makes using them somewhat tricky, compared to development boards which add these features.', - '', - 'In order to use these modules, make sure to observe the following:', - '', - '- **Provide sufficient power to the module.** For stable use of the ESP8266 a power supply with 3.3V and >= 250mA is required. Using the power available from USB to Serial adapter is not recommended, these adapters typically do not supply enough current to run ESP8266 reliably in every situation. An external supply or regulator alongwith filtering capacitors is preferred.', - '', - '- **Connect bootstrapping resistors** to GPIO0, GPIO2, GPIO15 according to the schematics below.', - '', - '- **Put ESP8266 into bootloader mode** before uploading code.', - '', - 'Serial Adapter', - '--------------', - '', - 'There are many different USB to Serial adapters / boards. To be able to put ESP8266 into bootloader mode using serial handshaking lines, you need the adapter which breaks out RTS and DTR outputs. CTS and DSR are not useful for upload (they are inputs). Make sure the adapter can work with 3.3V IO voltage: it should have a jumper or a switch to select between 5V and 3.3V, or be marked as 3.3V only.', - '', - 'Adapters based around the following ICs should work:', - '', - '- FT232RL', - '- CP2102', - '- CH340G', - '', - 'PL2303-based adapters are known not to work on Mac OS X. See https://github.com/igrr/esptool-ck/issues/9 for more info.', - '', - 'Minimal Hardware Setup for Bootloading and Usage', - '------------------------------------------------', - '', - '+-----------------+------------+------------------+', - '| PIN | Resistor | Serial Adapter |', - '+=================+============+==================+', - '| VCC | | VCC (3.3V) |', - '+-----------------+------------+------------------+', - '| GND | | GND |', - '+-----------------+------------+------------------+', - '| TX or GPIO2\* | | RX |', - '+-----------------+------------+------------------+', - '| RX | | TX |', - '+-----------------+------------+------------------+', - '| GPIO0 | PullUp | DTR |', - '+-----------------+------------+------------------+', - '| Reset\* | PullUp | RTS |', - '+-----------------+------------+------------------+', - '| GPIO15\* | PullDown | |', - '+-----------------+------------+------------------+', - '| CH\_PD | PullUp | |', - '+-----------------+------------+------------------+', - '', - '- Note', - '- GPIO15 is also named MTDO', - '- Reset is also named RSBT or REST (adding PullUp improves the', - ' stability of the module)', - '- GPIO2 is alternative TX for the boot loader mode', - '- **Directly connecting a pin to VCC or GND is not a substitute for a', - ' PullUp or PullDown resistor, doing this can break upload management', - ' and the serial console, instability has also been noted in some', - ' cases.**', - '', - 'ESP to Serial', - '-------------', - '', - '.. figure:: ESP_to_serial.png', - ' :alt: ESP to Serial', - '', - ' ESP to Serial', - '', - 'Minimal Hardware Setup for Bootloading only', - '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', - '', - 'ESPxx Hardware', - '', - '+---------------+------------+------------------+', - '| PIN | Resistor | Serial Adapter |', - '+===============+============+==================+', - '| VCC | | VCC (3.3V) |', - '+---------------+------------+------------------+', - '| GND | | GND |', - '+---------------+------------+------------------+', - '| TX or GPIO2 | | RX |', - '+---------------+------------+------------------+', - '| RX | | TX |', - '+---------------+------------+------------------+', - '| GPIO0 | | GND |', - '+---------------+------------+------------------+', - '| Reset | | RTS\* |', - '+---------------+------------+------------------+', - '| GPIO15 | PullDown | |', - '+---------------+------------+------------------+', - '| CH\_PD | PullUp | |', - '+---------------+------------+------------------+', - '', - '- Note', - '- if no RTS is used a manual power toggle is needed', - '', - 'Minimal Hardware Setup for Running only', - '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', - '', - 'ESPxx Hardware', - '', - '+----------+------------+----------------+', - '| PIN | Resistor | Power supply |', - '+==========+============+================+', - '| VCC | | VCC (3.3V) |', - '+----------+------------+----------------+', - '| GND | | GND |', - '+----------+------------+----------------+', - '| GPIO0 | PullUp | |', - '+----------+------------+----------------+', - '| GPIO15 | PullDown | |', - '+----------+------------+----------------+', - '| CH\_PD | PullUp | |', - '+----------+------------+----------------+', - '', - 'Minimal', - '-------', - '', - '.. figure:: ESP_min.png', - ' :alt: ESP min', - '', - ' ESP min', - '', - 'Improved Stability', - '------------------', - '', - '.. figure:: ESP_improved_stability.png', - ' :alt: ESP improved stability', - '', - ' ESP improved stability', - '', - 'Boot Messages and Modes', - '-----------------------', - '', - 'The ESP module checks at every boot the Pins 0, 2 and 15. based on them its boots in different modes:', - '', - '+----------+---------+---------+------------------------------------+', - '| GPIO15 | GPIO0 | GPIO2 | Mode |', - '+==========+=========+=========+====================================+', - '| 0V | 0V | 3.3V | Uart Bootloader |', - '+----------+---------+---------+------------------------------------+', - '| 0V | 3.3V | 3.3V | Boot sketch (SPI flash) |', - '+----------+---------+---------+------------------------------------+', - '| 3.3V | x | x | SDIO mode (not used for Arduino) |', - '+----------+---------+---------+------------------------------------+', - '', - 'at startup the ESP prints out the current boot mode example:', - '', - '::', - '', - ' rst cause:2, boot mode:(3,6)', - '', - 'note: - GPIO2 is used as TX output and the internal Pullup is enabled on boot.', - '', - 'rst cause', - '~~~~~~~~~', - '', - '+----------+------------------+', - '| Number | Description |', - '+==========+==================+', - '| 0 | unknown |', - '+----------+------------------+', - '| 1 | normal boot |', - '+----------+------------------+', - '| 2 | reset pin |', - '+----------+------------------+', - '| 3 | software reset |', - '+----------+------------------+', - '| 4 | watchdog reset |', - '+----------+------------------+', - '', - 'boot mode', - '~~~~~~~~~', - '', - 'the first value respects the pin setup of the Pins 0, 2 and 15.', - '', - '+----------+----------+---------+---------+-------------+', - '| Number | GPIO15 | GPIO0 | GPIO2 | Mode |', - '+==========+==========+=========+=========+=============+', - '| 0 | 0V | 0V | 0V | Not valid |', - '+----------+----------+---------+---------+-------------+', - '| 1 | 0V | 0V | 3.3V | Uart |', - '+----------+----------+---------+---------+-------------+', - '| 2 | 0V | 3.3V | 0V | Not valid |', - '+----------+----------+---------+---------+-------------+', - '| 3 | 0V | 3.3V | 3.3V | Flash |', - '+----------+----------+---------+---------+-------------+', - '| 4 | 3.3V | 0V | 0V | SDIO |', - '+----------+----------+---------+---------+-------------+', - '| 5 | 3.3V | 0V | 3.3V | SDIO |', - '+----------+----------+---------+---------+-------------+', - '| 6 | 3.3V | 3.3V | 0V | SDIO |', - '+----------+----------+---------+---------+-------------+', - '| 7 | 3.3V | 3.3V | 3.3V | SDIO |', - '+----------+----------+---------+---------+-------------+', - '', - 'note: - number = ((GPIO15 << 2) \| (GPIO0 << 1) \| GPIO2);', - ], - }), - ( 'esp8285', { - 'name': 'Generic ESP8285 Module', - 'opts': { - '.build.board': 'ESP8266_ESP01', - '.build.variant': 'esp8285' + ), + ( + "esp8285", + { + "name": "Generic ESP8285 Module", + "opts": {".build.board": "ESP8266_ESP01", ".build.variant": "esp8285"}, + "macro": [ + "resetmethod_menu", + "resetmethod_menu_extra", + "crystalfreq_menu", + "flashmode_dout", + "flashfreq_40", + "1M", + "2M", + "led", + "sdk", + ], + "desc": [ + "ESP8285 (`datasheet" + " `__)" + " is a multi-chip package which contains ESP8266 and 1MB flash. All" + " points related to bootstrapping resistors and recommended" + " circuits listed above apply to ESP8285 as well.", + "", + "Note that since ESP8285 has SPI flash memory internally connected" + " in DOUT mode, pins 9 and 10 may be used as GPIO / I2C / PWM" + " pins.", + ], }, - 'macro': [ - 'resetmethod_menu', - 'resetmethod_menu_extra', - 'crystalfreq_menu', - 'flashmode_dout', - 'flashfreq_40', - '1M', '2M', - 'led', - 'sdk', - ], - 'desc': [ 'ESP8285 (`datasheet `__) is a multi-chip package which contains ESP8266 and 1MB flash. All points related to bootstrapping resistors and recommended circuits listed above apply to ESP8285 as well.', - '', - 'Note that since ESP8285 has SPI flash memory internally connected in DOUT mode, pins 9 and 10 may be used as GPIO / I2C / PWM pins.', - ], - }), - ( 'agruminolemon', { - 'name': 'Lifely Agrumino Lemon v4', - 'opts': collections.OrderedDict([ - ( '.build.board', 'ESP8266_AGRUMINO_LEMON_V4' ), - ( '.build.variant', 'agruminolemonv4' ), - ]), - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '2M', - ], - 'desc': [ 'Procuct page https://www.lifely.cc', - '', - 'This Board "Lifely Agrumino Lemon" is based with WT8266-S1 core with WiFi 2,4Ghz and 2MB of Flash.', - 'Power', - 'Micro usb power cable, Lir2450 rechargeable battery (or not rechargeable)or with JST connector in the back board Max 6 Vin', - 'Libraries and examples', - 'Download libraries from: Official Arduino Ide, our website https://www.lifely.cc or https://github.com/lifely-cc/', - 'Full pinout and PDF for setup here https://www.lifely.cc our libraries is OpenSource', - ], - }), - ( 'espduino', { - 'name': 'ESPDuino (ESP-13 Module)', - 'opts': collections.OrderedDict([ - ( '.build.board', 'ESP8266_ESP13' ), - ( '.build.variant', 'ESPDuino' ), - ( '.menu.ResetMethod.v2', 'ESPduino-V2' ), - ( '.menu.ResetMethod.v2.upload.resetmethod', '--before default_reset --after hard_reset' ), - ( '.menu.ResetMethod.v1', 'ESPduino-V1' ), - ( '.menu.ResetMethod.v1.upload.resetmethod', '--before no_reset --after soft_reset' ), - ( '.menu.UploadTool.esptool', 'Serial' ), - ( '.menu.UploadTool.esptool.upload.tool', 'esptool' ), - ( '.menu.UploadTool.esptool.upload.verbose', '--trace' ), - ( '.menu.UploadTool.espota', 'OTA' ), - ( '.menu.UploadTool.espota.upload.tool', 'espota' ), - ]), - 'macro': [ - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'desc': [ '*TODO*' ], - }), - ( 'huzzah', { - 'name': 'Adafruit Feather HUZZAH ESP8266', - 'opts': { - '.build.board': 'ESP8266_ADAFRUIT_HUZZAH', - '.build.variant': 'adafruit', + ), + ( + "agruminolemon", + { + "name": "Lifely Agrumino Lemon v4", + "opts": collections.OrderedDict( + [ + (".build.board", "ESP8266_AGRUMINO_LEMON_V4"), + (".build.variant", "agruminolemonv4"), + ] + ), + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "2M", + ], + "desc": [ + "Procuct page https://www.lifely.cc", + "", + 'This Board "Lifely Agrumino Lemon" is based with WT8266-S1 core' + " with WiFi 2,4Ghz and 2MB of Flash.", + "Power", + "Micro usb power cable, Lir2450 rechargeable battery (or not" + " rechargeable)or with JST connector in the back board Max 6 Vin", + "Libraries and examples", + "Download libraries from: Official Arduino Ide, our website" + " https://www.lifely.cc or https://github.com/lifely-cc/", + "Full pinout and PDF for setup here https://www.lifely.cc our" + " libraries is OpenSource", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'The Adafruit Feather HUZZAH ESP8266 is an Arduino-compatible Wi-Fi development board powered by Ai-Thinker\'s ESP-12S, clocked at 80 MHz at 3.3V logic. A high-quality SiLabs CP2104 USB-Serial chip is included so that you can upload code at a blistering 921600 baud for fast development time. It also has auto-reset so no noodling with pins and reset button pressings. A 3.7V Lithium polymer battery connector is included, making it ideal for portable projects. The Adafruit Feather HUZZAH ESP8266 will automatically recharge a connected battery when USB power is available.', - '', - 'Product page: https://www.adafruit.com/product/2821' - ], - }), - ( 'wifi_kit_8', { - 'name': 'WiFi Kit 8', - 'opts': { - '.build.board': 'wifi_kit_8', - '.build.variant': 'wifi_kit_8', + ), + ( + "espduino", + { + "name": "ESPDuino (ESP-13 Module)", + "opts": collections.OrderedDict( + [ + (".build.board", "ESP8266_ESP13"), + (".build.variant", "ESPDuino"), + (".menu.ResetMethod.v2", "ESPduino-V2"), + ( + ".menu.ResetMethod.v2.upload.resetmethod", + "--before default_reset --after hard_reset", + ), + (".menu.ResetMethod.v1", "ESPduino-V1"), + ( + ".menu.ResetMethod.v1.upload.resetmethod", + "--before no_reset --after soft_reset", + ), + (".menu.UploadTool.esptool", "Serial"), + (".menu.UploadTool.esptool.upload.tool", "esptool"), + (".menu.UploadTool.esptool.upload.verbose", "--trace"), + (".menu.UploadTool.espota", "OTA"), + (".menu.UploadTool.espota.upload.tool", "espota"), + ] + ), + "macro": [ + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "desc": ["*TODO*"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'The Heltec WiFi Kit 8 is an Arduino-compatible Wi-Fi development board powered by Ai-Thinker\'s ESP-12S, clocked at 80 MHz at 3.3V logic. A high-quality SiLabs CP2104 USB-Serial chip is included so that you can upload code at a blistering 921600 baud for fast development time. It also has auto-reset so no noodling with pins and reset button pressings. A 3.7V Lithium polymer battery connector is included, making it ideal for portable projects. The Heltec WiFi Kit 8 will automatically recharge a connected battery when USB power is available.', - '', - 'Product page: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series' - ], - }), - ( 'inventone', { - 'name': 'Invent One', - 'opts': { - '.build.board': 'ESP8266_INVENT_ONE', - '.build.variant': 'inventone', + ), + ( + "huzzah", + { + "name": "Adafruit Feather HUZZAH ESP8266", + "opts": { + ".build.board": "ESP8266_ADAFRUIT_HUZZAH", + ".build.variant": "adafruit", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": [ + "The Adafruit Feather HUZZAH ESP8266 is an Arduino-compatible Wi-Fi" + " development board powered by Ai-Thinker's ESP-12S, clocked at 80" + " MHz at 3.3V logic. A high-quality SiLabs CP2104 USB-Serial chip" + " is included so that you can upload code at a blistering 921600" + " baud for fast development time. It also has auto-reset so no" + " noodling with pins and reset button pressings. A 3.7V Lithium" + " polymer battery connector is included, making it ideal for" + " portable projects. The Adafruit Feather HUZZAH ESP8266 will" + " automatically recharge a connected battery when USB power is" + " available.", + "", + "Product page: https://www.adafruit.com/product/2821", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'The Invent One is an Arduino-compatible Wi-Fi development board powered by Ai-Thinker\'s ESP-12F, clocked at 80 MHz at 3.3V logic. It has an onboard ADC (PCF8591) so that you can have multiple analog inputs to work with. More information can be found here: https://blog.inventone.ng', - '', - 'Product page: https://inventone.ng' - ], - }), - ( 'cw01', { - 'name': 'XinaBox CW01', - 'opts': { - '.build.board': 'ESP8266_XINABOX_CW01', - '.build.variant': 'xinabox', + ), + ( + "wifi_kit_8", + { + "name": "WiFi Kit 8", + "opts": { + ".build.board": "wifi_kit_8", + ".build.variant": "wifi_kit_8", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "desc": [ + "The Heltec WiFi Kit 8 is an Arduino-compatible Wi-Fi development" + " board powered by Ai-Thinker's ESP-12S, clocked at 80 MHz at 3.3V" + " logic. A high-quality SiLabs CP2104 USB-Serial chip is included" + " so that you can upload code at a blistering 921600 baud for fast" + " development time. It also has auto-reset so no noodling with pins" + " and reset button pressings. A 3.7V Lithium polymer battery" + " connector is included, making it ideal for portable projects. The" + " Heltec WiFi Kit 8 will automatically recharge a connected battery" + " when USB power is available.", + "", + "Product page: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'crystalfreq_menu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'The XinaBox CW01(ESP8266) is an Arduino-compatible Wi-Fi development board powered by an ESP-12F, clocked at 80 MHz at 3.3V logic. The CW01 has an onboard RGB LED and 3 xBUS connection ports.', - '', - 'Product page: https://xinabox.cc/products/CW01' - ], - }), - ( 'espresso_lite_v1', { - 'name': 'ESPresso Lite 1.0', - 'opts': { - '.build.board': 'ESP8266_ESPRESSO_LITE_V1', - '.build.variant': 'espresso_lite_v1', + ), + ( + "inventone", + { + "name": "Invent One", + "opts": { + ".build.board": "ESP8266_INVENT_ONE", + ".build.variant": "inventone", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "desc": [ + "The Invent One is an Arduino-compatible Wi-Fi development board" + " powered by Ai-Thinker's ESP-12F, clocked at 80 MHz at 3.3V logic." + " It has an onboard ADC (PCF8591) so that you can have multiple" + " analog inputs to work with. More information can be found here:" + " https://blog.inventone.ng", + "", + "Product page: https://inventone.ng", + ], }, - 'macro': [ - 'flashmode_dio', - 'flashfreq_40', - '4M', - 'resetmethod_menu', - ], - 'desc': [ 'ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System\'s own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards.', ] - }), - ( 'espresso_lite_v2', { - 'name': 'ESPresso Lite 2.0', - 'opts': { - '.build.board': 'ESP8266_ESPRESSO_LITE_V2', - '.build.variant': 'espresso_lite_v2', + ), + ( + "cw01", + { + "name": "XinaBox CW01", + "opts": { + ".build.board": "ESP8266_XINABOX_CW01", + ".build.variant": "xinabox", + }, + "macro": [ + "resetmethod_nodemcu", + "crystalfreq_menu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "desc": [ + "The XinaBox CW01(ESP8266) is an Arduino-compatible Wi-Fi" + " development board powered by an ESP-12F, clocked at 80 MHz at" + " 3.3V logic. The CW01 has an onboard RGB LED and 3 xBUS connection" + " ports.", + "", + "Product page: https://xinabox.cc/products/CW01", + ], }, - 'macro': [ - 'flashmode_dio', - 'flashfreq_40', - '4M', - 'resetmethod_menu', - ], - 'desc': [ 'ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained.', ] - }), - ( 'phoenix_v1', { - 'name': 'Phoenix 1.0', - 'opts': { - '.build.board': 'ESP8266_PHOENIX_V1', - '.build.variant': 'phoenix_v1', + ), + ( + "espresso_lite_v1", + { + "name": "ESPresso Lite 1.0", + "opts": { + ".build.board": "ESP8266_ESPRESSO_LITE_V1", + ".build.variant": "espresso_lite_v1", + }, + "macro": [ + "flashmode_dio", + "flashfreq_40", + "4M", + "resetmethod_menu", + ], + "desc": [ + "ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi" + " development board powered by Espressif System's own ESP8266" + " WROOM-02 module. It has breadboard-friendly breakout pins with" + " in-built LED, two reset/flash buttons and a user programmable" + " button . The operating voltage is 3.3VDC, regulated with 800mA" + " maximum current. Special distinctive features include on-board" + " I2C pads that allow direct connection to OLED LCD and sensor" + " boards.", + ], }, - 'macro': [ - 'flashmode_dio', - 'flashfreq_40', - '4M', - 'resetmethod_menu', - ], - 'desc': [ 'Product page: http://www.espert.co', ], - }), - ( 'phoenix_v2', { - 'name': 'Phoenix 2.0', - 'opts': { - '.build.board': 'ESP8266_PHOENIX_V2', - '.build.variant': 'phoenix_v2', + ), + ( + "espresso_lite_v2", + { + "name": "ESPresso Lite 2.0", + "opts": { + ".build.board": "ESP8266_ESPRESSO_LITE_V2", + ".build.variant": "espresso_lite_v2", + }, + "macro": [ + "flashmode_dio", + "flashfreq_40", + "4M", + "resetmethod_menu", + ], + "desc": [ + "ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board" + " based on an earlier V1 (beta version). Re-designed together with" + " Cytron Technologies, the newly-revised ESPresso Lite V2.0" + " features the auto-load/auto-program function, eliminating the" + " previous need to reset the board manually before flashing a new" + " program. It also feature two user programmable side buttons and a" + " reset button. The special distinctive features of on-board pads" + " for I2C sensor and actuator is retained.", + ], }, - 'macro': [ - 'flashmode_dio', - 'flashfreq_40', - '4M', - 'resetmethod_menu', - ], - 'desc': [ 'Product page: http://www.espert.co', ], - }), - ( 'nodemcu', { - 'name': 'NodeMCU 0.9 (ESP-12 Module)', - 'opts': { - '.build.board': 'ESP8266_NODEMCU_ESP12', - '.build.variant': 'nodemcu', + ), + ( + "phoenix_v1", + { + "name": "Phoenix 1.0", + "opts": { + ".build.board": "ESP8266_PHOENIX_V1", + ".build.variant": "phoenix_v1", + }, + "macro": [ + "flashmode_dio", + "flashfreq_40", + "4M", + "resetmethod_menu", + ], + "desc": [ + "Product page: http://www.espert.co", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'Pin mapping', - '~~~~~~~~~~~', - '', - 'Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier:', - '', - '.. code:: c++', - '', - ' static const uint8_t D0 = 16;', - ' static const uint8_t D1 = 5;', - ' static const uint8_t D2 = 4;', - ' static const uint8_t D3 = 0;', - ' static const uint8_t D4 = 2;', - ' static const uint8_t D5 = 14;', - ' static const uint8_t D6 = 12;', - ' static const uint8_t D7 = 13;', - ' static const uint8_t D8 = 15;', - ' static const uint8_t D9 = 3;', - ' static const uint8_t D10 = 1;', - '', - 'If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to \'real\' GPIO pin 14.', - ], - }), - ( 'nodemcuv2', { - 'name': 'NodeMCU 1.0 (ESP-12E Module)', - 'opts': { - '.build.board': 'ESP8266_NODEMCU_ESP12E', - '.build.variant': 'nodemcu', + ), + ( + "phoenix_v2", + { + "name": "Phoenix 2.0", + "opts": { + ".build.board": "ESP8266_PHOENIX_V2", + ".build.variant": "phoenix_v2", + }, + "macro": [ + "flashmode_dio", + "flashfreq_40", + "4M", + "resetmethod_menu", + ], + "desc": [ + "Product page: http://www.espert.co", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - 'led216', - ], - 'desc': [ 'This module is sold under many names for around $6.50 on AliExpress and it\'s one of the cheapest, fully integrated ESP8266 solutions.', - '', - 'It\'s an open hardware design with an ESP-12E core and 4 MB of SPI flash.', - '', - 'According to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH +', - 'RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux.', - '', - 'The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin.', - 'The ESP-12E usually has a led connected on GPIO2.', - '', - 'Full pinout and PDF schematics can be found `here `__', - ], - }), - ( 'modwifi', { - 'name': 'Olimex MOD-WIFI-ESP8266(-DEV)', - 'opts': { - '.build.board': 'MOD_WIFI_ESP8266', - '.build.variant': 'modwifi', + ), + ( + "nodemcu", + { + "name": "NodeMCU 0.9 (ESP-12 Module)", + "opts": { + ".build.board": "ESP8266_NODEMCU_ESP12", + ".build.variant": "nodemcu", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": [ + "Pin mapping", + "~~~~~~~~~~~", + "", + "Pin numbers written on the board itself do not correspond to" + " ESP8266 GPIO pin numbers. Constants are defined to make using" + " this board easier:", + "", + ".. code:: c++", + "", + " static const uint8_t D0 = 16;", + " static const uint8_t D1 = 5;", + " static const uint8_t D2 = 4;", + " static const uint8_t D3 = 0;", + " static const uint8_t D4 = 2;", + " static const uint8_t D5 = 14;", + " static const uint8_t D6 = 12;", + " static const uint8_t D7 = 13;", + " static const uint8_t D8 = 15;", + " static const uint8_t D9 = 3;", + " static const uint8_t D10 = 1;", + "", + "If you want to use NodeMCU pin 5, use D5 for pin number, and it" + " will be translated to 'real' GPIO pin 14.", + ], }, - 'macro': [ - 'resetmethod_menu', - 'resetmethod_menu_extra', - 'flashmode_menu', - 'flashfreq_40', - '2M', - ], - 'desc': [ 'This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries).', - '', - 'The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH.', - '', - 'The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1.', - '', - 'Since jumper IO0JP is tied to GPIO0, which is PIN 21, you\'ll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it.', - '', - 'UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4).', - '', - 'You can find the board schematics `here `__', - ], - }), - ( 'thing', { - 'name': 'SparkFun ESP8266 Thing', - 'opts': { - '.build.board': 'ESP8266_THING', - '.build.variant': 'thing', + ), + ( + "nodemcuv2", + { + "name": "NodeMCU 1.0 (ESP-12E Module)", + "opts": { + ".build.board": "ESP8266_NODEMCU_ESP12E", + ".build.variant": "nodemcu", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + "led216", + ], + "desc": [ + "This module is sold under many names for around $6.50 on" + " AliExpress and it's one of the cheapest, fully integrated ESP8266" + " solutions.", + "", + "It's an open hardware design with an ESP-12E core and 4 MB of SPI" + " flash.", + "", + 'According to the manufacturer, "with a micro USB cable, you can' + " connect NodeMCU devkit to your laptop and flash it without any" + ' trouble". This is more or less true: the board comes with a' + " CP2102 onboard USB to serial adapter which just works, well, the" + " majority of the time. Sometimes flashing fails and you have to" + " reset the board by holding down FLASH +", + "RST, then releasing FLASH, then releasing RST. This forces the" + " CP2102 device to power cycle and to be re-numbered by Linux.", + "", + "The board also features a NCP1117 voltage regulator, a blue LED on" + " GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin.", + "The ESP-12E usually has a led connected on GPIO2.", + "", + "Full pinout and PDF schematics can be found `here" + " `__", + ], }, - 'macro': [ - 'resetmethod_ck', - 'flashmode_qio', - 'flashfreq_40', - '512K', - ], - 'desc': [ 'Product page: https://www.sparkfun.com/products/13231' ], - }), - ( 'thingdev', { - 'name': 'SparkFun ESP8266 Thing Dev', - 'opts': { - '.build.board': 'ESP8266_THING_DEV', - '.build.variant': 'thing', + ), + ( + "modwifi", + { + "name": "Olimex MOD-WIFI-ESP8266(-DEV)", + "opts": { + ".build.board": "MOD_WIFI_ESP8266", + ".build.variant": "modwifi", + }, + "macro": [ + "resetmethod_menu", + "resetmethod_menu_extra", + "flashmode_menu", + "flashfreq_40", + "2M", + ], + "desc": [ + "This board comes with 2 MB of SPI flash and optional accessories" + " (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries).", + "", + "The basic module has three solder jumpers that allow you to switch" + " the operating mode between SDIO, UART and FLASH.", + "", + "The board is shipped for FLASH operation mode, with jumpers" + " TD0JP=0, IO0JP=1, IO2JP=1.", + "", + "Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have" + " to ground it before programming with a USB to serial adapter and" + " reset the board by power cycling it.", + "", + "UART pins for programming and serial I/O are GPIO1 (TXD, pin 3)" + " and GPIO3 (RXD, pin 4).", + "", + "You can find the board schematics `here" + " `__", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '512K', - ], - 'desc': [ 'Product page: https://www.sparkfun.com/products/13711' ], - }), - ( 'blynk', { - 'name': 'SparkFun Blynk Board', - 'opts': { - '.build.board': 'ESP8266_THING', - '.build.variant': 'thing', + ), + ( + "thing", + { + "name": "SparkFun ESP8266 Thing", + "opts": { + ".build.board": "ESP8266_THING", + ".build.variant": "thing", + }, + "macro": [ + "resetmethod_ck", + "flashmode_qio", + "flashfreq_40", + "512K", + ], + "desc": ["Product page: https://www.sparkfun.com/products/13231"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'Product page: https://www.sparkfun.com/products/13794' ], - }), - ( 'esp210', { - 'name': 'SweetPea ESP-210', - 'opts': { - '.build.board': 'ESP8266_ESP210', + ), + ( + "thingdev", + { + "name": "SparkFun ESP8266 Thing Dev", + "opts": { + ".build.board": "ESP8266_THING_DEV", + ".build.variant": "thing", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "512K", + ], + "desc": ["Product page: https://www.sparkfun.com/products/13711"], }, - 'macro': [ - 'resetmethod_ck', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'serial': '57', - 'desc': [ '*TODO*' ], - }), - ( 'd1_mini', { - 'name': 'LOLIN(WEMOS) D1 R2 & mini', - 'opts': { - '.build.board': 'ESP8266_WEMOS_D1MINI', - '.build.variant': 'd1_mini', + ), + ( + "blynk", + { + "name": "SparkFun Blynk Board", + "opts": { + ".build.board": "ESP8266_THING", + ".build.variant": "thing", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": ["Product page: https://www.sparkfun.com/products/13794"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'serial': '921', - 'desc': [ 'Product page: https://www.wemos.cc/' ], - }), - ( 'd1_mini_clone', { - 'name': 'LOLIN(WEMOS) D1 mini (clone)', - 'opts': { - '.build.board': 'ESP8266_WEMOS_D1MINI', - '.build.variant': 'd1_mini', + ), + ( + "esp210", + { + "name": "SweetPea ESP-210", + "opts": { + ".build.board": "ESP8266_ESP210", + }, + "macro": [ + "resetmethod_ck", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "serial": "57", + "desc": ["*TODO*"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_menu', - 'flashfreq_menu', - '4M', - ], - 'serial': '921', - 'desc': [ 'Clone variant of the LOLIN(WEMOS) D1 mini board,', - 'with enabled flash-mode menu, DOUT selected by default.', - '', - 'Product page of the preferred official board: https://www.wemos.cc/', - ], - }), - ( 'd1_mini_pro', { - 'name': 'LOLIN(WEMOS) D1 mini Pro', - 'opts': { - '.build.board': 'ESP8266_WEMOS_D1MINIPRO', - '.build.variant': 'd1_mini', + ), + ( + "d1_mini", + { + "name": "LOLIN(WEMOS) D1 R2 & mini", + "opts": { + ".build.board": "ESP8266_WEMOS_D1MINI", + ".build.variant": "d1_mini", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "serial": "921", + "desc": ["Product page: https://www.wemos.cc/"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '16M', - ], - 'serial': '921', - 'desc': [ 'Product page: https://www.wemos.cc/' ], - }), - ( 'd1_mini_lite', { - 'name': 'LOLIN(WEMOS) D1 mini Lite', - 'opts': { - '.build.board': 'ESP8266_WEMOS_D1MINILITE', - '.build.variant': 'd1_mini', + ), + ( + "d1_mini_clone", + { + "name": "LOLIN(WEMOS) D1 mini (clone)", + "opts": { + ".build.board": "ESP8266_WEMOS_D1MINI", + ".build.variant": "d1_mini", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_menu", + "flashfreq_menu", + "4M", + ], + "serial": "921", + "desc": [ + "Clone variant of the LOLIN(WEMOS) D1 mini board,", + "with enabled flash-mode menu, DOUT selected by default.", + "", + "Product page of the preferred official board:" + " https://www.wemos.cc/", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dout', - 'flashfreq_40', - '1M', - ], - 'serial': '921', - 'desc': [ - 'Parameters in Arduino IDE:', - '~~~~~~~~~~~~~~~~~~~~~~~~~~', - '', - '- Card: "WEMOS D1 Mini Lite"', - '- Flash Size: "1M (512K FS)"', - '- CPU Frequency: "80 Mhz"', - # '- Upload Speed: "230400"', - '', - 'Power:', - '~~~~~~', - '', - '- 5V pin : 4.7V 500mA output when the board is powered by USB ; 3.5V-6V input', - '- 3V3 pin : 3.3V 500mA regulated output', - '- Digital pins : 3.3V 30mA.', - '', - 'links:', - '~~~~~~', - '', - '- Product page: https://www.wemos.cc/', - '- Board schematic: https://wiki.wemos.cc/_media/products:d1:sch_d1_mini_lite_v1.0.0.pdf', - '- ESP8285 datasheet: https://www.espressif.com/sites/default/files/0a-esp8285_datasheet_en_v1.0_20160422.pdf', - '- Voltage regulator datasheet: http://pdf-datasheet.datasheet.netdna-cdn.com/pdf-down/M/E/6/ME6211-Microne.pdf', - ], - }), - ( 'd1', { - 'name': 'LOLIN(WeMos) D1 R1', - 'opts': { - '.build.board': 'ESP8266_WEMOS_D1R1', - '.build.variant': 'd1', + ), + ( + "d1_mini_pro", + { + "name": "LOLIN(WEMOS) D1 mini Pro", + "opts": { + ".build.board": "ESP8266_WEMOS_D1MINIPRO", + ".build.variant": "d1_mini", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "16M", + ], + "serial": "921", + "desc": ["Product page: https://www.wemos.cc/"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'serial': '921', - 'desc': [ 'Product page: https://www.wemos.cc/' ], - }), - ( 'espino', { - 'name': 'ESPino (ESP-12 Module)', - 'opts': { - '.build.board': 'ESP8266_ESPINO_ESP12', - '.build.variant': 'espino', + ), + ( + "d1_mini_lite", + { + "name": "LOLIN(WEMOS) D1 mini Lite", + "opts": { + ".build.board": "ESP8266_WEMOS_D1MINILITE", + ".build.variant": "d1_mini", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dout", + "flashfreq_40", + "1M", + ], + "serial": "921", + "desc": [ + "Parameters in Arduino IDE:", + "~~~~~~~~~~~~~~~~~~~~~~~~~~", + "", + '- Card: "WEMOS D1 Mini Lite"', + '- Flash Size: "1M (512K FS)"', + '- CPU Frequency: "80 Mhz"', + # '- Upload Speed: "230400"', + "", + "Power:", + "~~~~~~", + "", + "- 5V pin : 4.7V 500mA output when the board is powered by USB ;" + " 3.5V-6V input", + "- 3V3 pin : 3.3V 500mA regulated output", + "- Digital pins : 3.3V 30mA.", + "", + "links:", + "~~~~~~", + "", + "- Product page: https://www.wemos.cc/", + "- Board schematic:" + " https://wiki.wemos.cc/_media/products:d1:sch_d1_mini_lite_v1.0.0.pdf", + "- ESP8285 datasheet:" + " https://www.espressif.com/sites/default/files/0a-esp8285_datasheet_en_v1.0_20160422.pdf", + "- Voltage regulator datasheet:" + " http://pdf-datasheet.datasheet.netdna-cdn.com/pdf-down/M/E/6/ME6211-Microne.pdf", + ], }, - 'macro': [ - 'resetmethod_menu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping.', - '', - 'For more information about the hardware, pinout diagram and programming procedures, please see the `datasheet `__.', - '', - 'Product page: http://www.espino.io/en', - ], - }), - ( 'espinotee', { - 'name': 'ThaiEasyElec\'s ESPino', - 'opts': { - '.build.board': 'ESP8266_ESPINO_ESP13', - '.build.variant': 'espinotee', + ), + ( + "d1", + { + "name": "LOLIN(WeMos) D1 R1", + "opts": { + ".build.board": "ESP8266_WEMOS_D1R1", + ".build.variant": "d1", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "serial": "921", + "desc": ["Product page: https://www.wemos.cc/"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash.', - '', - 'We will update an English description soon. - Product page:', - 'http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html', - '- Schematics:', - 'www.thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Schematic.pdf -', - 'Dimensions:', - 'http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_Dimension.pdf', - '- Pinouts:', - 'http://thaieasyelec.com/downloads/ETEE052/ETEE052\_ESPino\_User\_Manual\_TH\_v1\_0\_20160204.pdf (Please see pg. 8)', - ], - }), - ( 'wifinfo', { - 'name': 'WifInfo', - 'opts': collections.OrderedDict([ - ( '.build.board', 'WIFINFO' ), - ( '.build.variant', 'wifinfo' ), - ( '.menu.ESPModule.ESP07192', 'ESP07 (1M/192K FS)' ), - ( '.menu.ESPModule.ESP07192.build.board', 'ESP8266_ESP07' ), - ( '.menu.ESPModule.ESP07192.build.flash_size', '1M' ), - ( '.menu.ESPModule.ESP07192.build.flash_ld', 'eagle.flash.1m192.ld' ), - ( '.menu.ESPModule.ESP07192.build.spiffs_start', '0xCB000' ), - ( '.menu.ESPModule.ESP07192.build.spiffs_end', '0xFB000' ), - ( '.menu.ESPModule.ESP07192.build.spiffs_blocksize', '4096' ), - ( '.menu.ESPModule.ESP07192.upload.maximum_size', '827376' ), - ( '.menu.ESPModule.ESP12', 'ESP12 (4M/1M FS)' ), - ( '.menu.ESPModule.ESP12.build.board', 'ESP8266_ESP12' ), - ( '.menu.ESPModule.ESP12.build.flash_size', '4M' ), - ( '.menu.ESPModule.ESP12.build.flash_ld', 'eagle.flash.4m1m.ld' ), - ( '.menu.ESPModule.ESP12.build.spiffs_start', '0x300000' ), - ( '.menu.ESPModule.ESP12.build.spiffs_end', '0x3FB000' ), - ( '.menu.ESPModule.ESP12.build.spiffs_blocksize', '8192' ), - ( '.menu.ESPModule.ESP12.build.spiffs_pagesize', '256' ), - ( '.menu.ESPModule.ESP12.upload.maximum_size', '1044464' ), - ]), - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_menu', - '1M', - ], - 'desc': [ 'WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature.', - '', - 'For more information, please see WifInfo related `blog `__ entries, `github `__ and `community `__ forum.', - ], - }), - ( 'arduino-esp8266', { - 'name': 'Arduino', - 'opts': collections.OrderedDict([ - ( '.build.board', 'ESP8266_ARDUINO' ), - ( '.menu.BoardModel.primo', 'Primo' ), - ( '.menu.BoardModel.primo.build.board', 'ESP8266_ARDUINO_PRIMO' ), - ( '.menu.BoardModel.primo.build.variant', 'arduino_spi' ), - ( '.menu.BoardModel.primo.build.extra_flags', '-DF_CRYSTAL=40000000' ), - ( '.menu.BoardModel.unowifideved', 'Uno WiFi' ), - ( '.menu.BoardModel.unowifideved.build.board', 'ESP8266_ARDUINO_UNOWIFI' ), - ( '.menu.BoardModel.unowifideved.build.variant', 'arduino_uart' ), - ( '.menu.BoardModel.unowifideved.build.extra_flags=-DF_CRYSTAL', '40000000' ), - ( '.menu.BoardModel.starottodeved', 'Star OTTO' ), - ( '.menu.BoardModel.starottodeved.build.variant', 'arduino_uart' ), - ( '.menu.BoardModel.starottodeved.build.board', 'ESP8266_ARDUINO_STAR_OTTO' ), - ( '.menu.BoardModel.starottodeved.build.extra_flags', '-DF_CRYSTAL=40000000' ), - ]), - 'macro': [ - 'resetmethod_ck', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ '*TODO*' ], - }), - ( 'gen4iod', { - 'name': '4D Systems gen4 IoD Range', - 'opts': { - '.build.board': 'GEN4_IOD', - '.build.f_cpu': '160000000L', - '.build.variant': 'generic', + ), + ( + "espino", + { + "name": "ESPino (ESP-12 Module)", + "opts": { + ".build.board": "ESP8266_ESPINO_ESP12", + ".build.variant": "espino", + }, + "macro": [ + "resetmethod_menu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": [ + "ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104" + " USB-Serial bridge and a micro USB connector for easy programming." + " It is designed for fitting in a breadboard and has an RGB Led and" + " two buttons for easy prototyping.", + "", + "For more information about the hardware, pinout diagram and" + " programming procedures, please see the `datasheet" + " `__.", + "", + "Product page: http://www.espino.io/en", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_menu', - 'flashfreq_80', - '2M', - '512K', - ], - 'desc': [ 'gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems.', - '', - '2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive Touch. Chip Antenna + uFL Connector.', - '', - 'Datasheet and associated downloads can be found on the 4D Systems product page.', - '', - 'The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications.', - '', - '- Product page: https://4dsystems.com.au/products/iot-display-modules', - ], - }), - ( 'oak', { - 'name': 'Digistump Oak', - 'opts': { - '.build.board': 'ESP8266_OAK', - '.build.variant': 'oak', - '.upload.maximum_size': '1040368', + ), + ( + "espinotee", + { + "name": "ThaiEasyElec's ESPino", + "opts": { + ".build.board": "ESP8266_ESPINO_ESP13", + ".build.variant": "espinotee", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": [ + "ESPino by ThaiEasyElec using WROOM-02 module from Espressif" + " Systems with 4 MB Flash.", + "", + "We will update an English description soon. - Product page:", + "http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html", + "- Schematics:", + "www.thaieasyelec.com/downloads/ETEE052/ETEE052\\_ESPino\\_Schematic.pdf -", + "Dimensions:", + "http://thaieasyelec.com/downloads/ETEE052/ETEE052\\_ESPino\\_Dimension.pdf", + "- Pinouts:", + "http://thaieasyelec.com/downloads/ETEE052/ETEE052\\_ESPino\\_User\\_Manual\\_TH\\_v1\\_0\\_20160204.pdf" + " (Please see pg. 8)", + ], }, - 'macro': [ - 'resetmethod_none', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'serial': '921', - 'desc': [ 'The Oak requires an `Serial Adapter`_ for a serial connection or flashing; its micro USB port is only for power.', - '', - 'To make a serial connection, wire the adapter\'s **TX to P3**, **RX to P4**, and **GND** to **GND**. Supply 3.3v from the serial adapter if not already powered via USB.', - '', - 'To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode.', - ], - }), - ( 'wifiduino', { - 'name': 'WiFiduino', - 'opts': { - '.build.board': 'WIFIDUINO_ESP8266', - '.build.variant': 'wifiduino', + ), + ( + "wifinfo", + { + "name": "WifInfo", + "opts": collections.OrderedDict( + [ + (".build.board", "WIFINFO"), + (".build.variant", "wifinfo"), + (".menu.ESPModule.ESP07192", "ESP07 (1M/192K FS)"), + (".menu.ESPModule.ESP07192.build.board", "ESP8266_ESP07"), + (".menu.ESPModule.ESP07192.build.flash_size", "1M"), + ( + ".menu.ESPModule.ESP07192.build.flash_ld", + "eagle.flash.1m192.ld", + ), + (".menu.ESPModule.ESP07192.build.spiffs_start", "0xCB000"), + (".menu.ESPModule.ESP07192.build.spiffs_end", "0xFB000"), + (".menu.ESPModule.ESP07192.build.spiffs_blocksize", "4096"), + (".menu.ESPModule.ESP07192.upload.maximum_size", "827376"), + (".menu.ESPModule.ESP12", "ESP12 (4M/1M FS)"), + (".menu.ESPModule.ESP12.build.board", "ESP8266_ESP12"), + (".menu.ESPModule.ESP12.build.flash_size", "4M"), + (".menu.ESPModule.ESP12.build.flash_ld", "eagle.flash.4m1m.ld"), + (".menu.ESPModule.ESP12.build.spiffs_start", "0x300000"), + (".menu.ESPModule.ESP12.build.spiffs_end", "0x3FB000"), + (".menu.ESPModule.ESP12.build.spiffs_blocksize", "8192"), + (".menu.ESPModule.ESP12.build.spiffs_pagesize", "256"), + (".menu.ESPModule.ESP12.upload.maximum_size", "1044464"), + ] + ), + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_menu", + "1M", + ], + "desc": [ + "WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a" + " 3.3v regulator and the hardware to be able to measure French" + " telemetry issue from ERDF powering meter serial output. It has a" + " USB connector for powering, an RGB WS2812 Led, 4 pins I2C" + " connector to fit OLED or sensor, and two buttons + FTDI connector" + " and auto reset feature.", + "", + "For more information, please see WifInfo related `blog" + " `__ entries, `github" + " `__ and `community" + " `__ forum.", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'serial': '921', - 'desc': [ 'Product page: https://wifiduino.com/esp8266' ], - }), - ( 'wifi_slot', { - 'name': 'Amperka WiFi Slot', - 'opts': { - '.build.board': 'AMPERKA_WIFI_SLOT', - '.build.variant': 'wifi_slot', + ), + ( + "arduino-esp8266", + { + "name": "Arduino", + "opts": collections.OrderedDict( + [ + (".build.board", "ESP8266_ARDUINO"), + (".menu.BoardModel.primo", "Primo"), + (".menu.BoardModel.primo.build.board", "ESP8266_ARDUINO_PRIMO"), + (".menu.BoardModel.primo.build.variant", "arduino_spi"), + ( + ".menu.BoardModel.primo.build.extra_flags", + "-DF_CRYSTAL=40000000", + ), + (".menu.BoardModel.unowifideved", "Uno WiFi"), + ( + ".menu.BoardModel.unowifideved.build.board", + "ESP8266_ARDUINO_UNOWIFI", + ), + (".menu.BoardModel.unowifideved.build.variant", "arduino_uart"), + ( + ".menu.BoardModel.unowifideved.build.extra_flags=-DF_CRYSTAL", + "40000000", + ), + (".menu.BoardModel.starottodeved", "Star OTTO"), + ( + ".menu.BoardModel.starottodeved.build.variant", + "arduino_uart", + ), + ( + ".menu.BoardModel.starottodeved.build.board", + "ESP8266_ARDUINO_STAR_OTTO", + ), + ( + ".menu.BoardModel.starottodeved.build.extra_flags", + "-DF_CRYSTAL=40000000", + ), + ] + ), + "macro": [ + "resetmethod_ck", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": ["*TODO*"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashfreq_menu', - 'flashmode_menu', - '1M', '2M', - ], - 'desc': [ 'Product page: http://wiki.amperka.ru/wifi-slot' ], - }), - ( 'wiolink', { - 'name': 'Seeed Wio Link', - 'opts': { - '.build.board': 'ESP8266_WIO_LINK', - '.build.variant': 'wiolink', + ), + ( + "gen4iod", + { + "name": "4D Systems gen4 IoD Range", + "opts": { + ".build.board": "GEN4_IOD", + ".build.f_cpu": "160000000L", + ".build.variant": "generic", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_menu", + "flashfreq_80", + "2M", + "512K", + ], + "desc": [ + "gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems.", + "", + '2.4", 2.8" and 3.2" TFT LCD with uSD card socket and Resistive' + " Touch. Chip Antenna + uFL Connector.", + "", + "Datasheet and associated downloads can be found on the 4D Systems" + " product page.", + "", + "The gen4-IoD range can be programmed using the Arduino IDE and" + " also the 4D Systems Workshop4 IDE, which incorporates many" + " additional graphics benefits. GFX4d library is available, along" + " with a number of demo applications.", + "", + "- Product page:" + " https://4dsystems.com.au/products/iot-display-modules", + ], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_qio', - 'flashfreq_40', - '4M', - ], - 'desc': [ 'Wio Link is designed to simplify your IoT development. It is an ESP8266 based open-source Wi-Fi development board to create IoT applications by virtualizing plug-n-play modules to RESTful APIs with mobile APPs. Wio Link is also compatible with the Arduino IDE.', - '', - 'Please DO NOTICE that you MUST pull up pin 15 to enable the power for Grove ports, the board is designed like this for the purpose of peripherals power management.', - '', - 'Product page: https://www.seeedstudio.com/Wio-Link-p-2604.html' + ), + ( + "oak", + { + "name": "Digistump Oak", + "opts": { + ".build.board": "ESP8266_OAK", + ".build.variant": "oak", + }, + "macro": [ + "resetmethod_none", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "serial": "921", + "desc": [ + "The Oak requires an `Serial Adapter`_ for a serial connection or" + " flashing; its micro USB port is only for power.", + "", + "To make a serial connection, wire the adapter's **TX to P3**, **RX" + " to P4**, and **GND** to **GND**. Supply 3.3v from the serial" + " adapter if not already powered via USB.", + "", + "To put the board into bootloader mode, configure a serial" + " connection as above, connect **P2 to GND**, then re-apply power. " + " Once flashing is complete, remove the connection from P2 to GND," + " then re-apply power to boot into normal mode.", ], - }), - ('espectro', { - 'name': 'ESPectro Core', - 'opts': { - '.build.board': 'ESP8266_ESPECTRO_CORE', - '.build.variant': 'espectro', - }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'desc': [ - 'ESPectro Core is ESP8266 development board as the culmination of our 3+ year experience in exploring and developing products with ESP8266 MCU.', - '', - 'Initially designed for kids in mind, everybody should be able to use it. Yet it\'s still hacker-friendly as we break out all ESP8266 ESP-12F pins.', - '', - 'More details at https://shop.makestro.com/product/espectrocore/', - ], - }), - - ( 'eduinowifi', { - 'name': 'Schirmilabs Eduino WiFi', - 'opts': { - '.build.board': 'ESP8266_SCHIRMILABS_EDUINO_WIFI', - '.build.variant': 'eduinowifi', }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dio', - 'flashfreq_40', - '4M', - ], - 'serial': '512', - 'desc': [ 'Eduino WiFi is an Arduino-compatible DIY WiFi development board using an ESP-12 module', - '', - 'Product page: https://schirmilabs.de/?page_id=165', - ] - - }), - ( 'sonoff', { - 'name': 'ITEAD Sonoff', - 'opts': { - '.build.board': 'ESP8266_SONOFF_SV', - '.build.variant': 'itead', - '.build.flash_size': '1M', - '.menu.BoardModel.sonoffSV': 'ITEAD Sonoff SV', - '.menu.BoardModel.sonoffSV.build.board': 'ESP8266_SONOFF_SV', - '.menu.BoardModel.sonoffTH': 'ITEAD Sonoff TH', - '.menu.BoardModel.sonoffTH.build.board': 'ESP8266_SONOFF_TH', - '.menu.BoardModel.sonoffBasic': 'ITEAD Sonoff Basic', - '.menu.BoardModel.sonoffBasic.build.board': 'ESP8266_SONOFF_BASIC', - '.menu.BoardModel.sonoffS20': 'ITEAD Sonoff S20', - '.menu.BoardModel.sonoffS20.build.board': 'ESP8266_SONOFF_S20', - }, - 'macro': [ - 'resetmethod_none', - 'flashmode_dout', - 'flashfreq_40', - '1M', - ], - 'desc': [ - 'ESP8266 based devices from ITEAD: Sonoff SV, Sonoff TH, Sonoff Basic, ' + - 'and Sonoff S20', - '', - 'These are not development boards. The development process is ' + - 'inconvenient with these devices. When flashing firmware you will ' + - 'need a Serial Adapter to connect it to your computer.', - '', - ' | Most of these devices, during normal operation, are connected to ' + - '*wall power (AKA Mains Electricity)*. **NEVER** try to flash these ' + - 'devices when connected to *wall power*. **ALWAYS** have them ' + - 'disconnected from *wall power* when connecting them to your ' + - 'computer. Your life may depend on it!', - '', - 'When flashing you will need to hold down the push button connected ' + - 'to the GPIO0 pin, while powering up with a safe 3.3 Volt source. Some USB ' + - 'Serial Adapters may supply enough power to handle flashing; ' + - 'however, it many may not supply enough power to handle the ' + - 'activities when the device reboots.', - '', - 'More product details at the bottom of https://www.itead.cc/wiki/Product/' - ], - }), - ( 'espmxdevkit', { - 'name': 'DOIT ESP-Mx DevKit (ESP8285)', - 'opts': { - '.build.board': 'ESP8266_ESP01', - '.build.variant': 'esp8285', - '.build.led': '-DLED_BUILTIN=16', + ), + ( + "wifiduino", + { + "name": "WiFiduino", + "opts": { + ".build.board": "WIFIDUINO_ESP8266", + ".build.variant": "wifiduino", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "serial": "921", + "desc": ["Product page: https://wifiduino.com/esp8266"], }, - 'macro': [ - 'resetmethod_nodemcu', - 'flashmode_dout', - 'flashfreq_40', - '1M', - ], - 'desc': [ - 'DOIT ESP-Mx DevKit - This is a development board by DOIT, with a DOIT ESP-Mx module ' + - '(`datasheet `__) ' + - 'using a ESP8285 Chip. With the DOIT ESP-Mx module, GPIO pins 9 and 10 are not available. ' + - 'The DOIT ESP-Mx DevKit board has a red power LED and a blue LED connected to GPIO16 ' + - 'and is active low to turn on. It uses a CH340C, USB to Serial converter chip. ', - '', - 'ESP8285 (`datasheet `__) ' + - 'is a multi-chip package which contains ESP8266 and 1MB flash. ' - ], + ), + ( + "wifi_slot", + { + "name": "Amperka WiFi Slot", + "opts": { + ".build.board": "AMPERKA_WIFI_SLOT", + ".build.variant": "wifi_slot", + }, + "macro": [ + "resetmethod_nodemcu", + "flashfreq_menu", + "flashmode_menu", + "1M", + "2M", + ], + "desc": ["Product page: http://wiki.amperka.ru/wifi-slot"], + }, + ), + ( + "wiolink", + { + "name": "Seeed Wio Link", + "opts": { + ".build.board": "ESP8266_WIO_LINK", + ".build.variant": "wiolink", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_qio", + "flashfreq_40", + "4M", + ], + "desc": [ + "Wio Link is designed to simplify your IoT development. It is an" + " ESP8266 based open-source Wi-Fi development board to create IoT" + " applications by virtualizing plug-n-play modules to RESTful APIs" + " with mobile APPs. Wio Link is also compatible with the Arduino" + " IDE.", + "", + "Please DO NOTICE that you MUST pull up pin 15 to enable the power" + " for Grove ports, the board is designed like this for the purpose" + " of peripherals power management.", + "", + "Product page: https://www.seeedstudio.com/Wio-Link-p-2604.html", + ], + }, + ), + ( + "espectro", + { + "name": "ESPectro Core", + "opts": { + ".build.board": "ESP8266_ESPECTRO_CORE", + ".build.variant": "espectro", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "desc": [ + "ESPectro Core is ESP8266 development board as the culmination of" + " our 3+ year experience in exploring and developing products with" + " ESP8266 MCU.", + "", + "Initially designed for kids in mind, everybody should be able to" + " use it. Yet it's still hacker-friendly as we break out all" + " ESP8266 ESP-12F pins.", + "", + "More details at https://shop.makestro.com/product/espectrocore/", + ], + }, + ), + ( + "eduinowifi", + { + "name": "Schirmilabs Eduino WiFi", + "opts": { + ".build.board": "ESP8266_SCHIRMILABS_EDUINO_WIFI", + ".build.variant": "eduinowifi", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dio", + "flashfreq_40", + "4M", + ], + "serial": "512", + "desc": [ + "Eduino WiFi is an Arduino-compatible DIY WiFi development board" + " using an ESP-12 module", + "", + "Product page: https://schirmilabs.de/?page_id=165", + ], + }, + ), + ( + "sonoff", + { + "name": "ITEAD Sonoff", + "opts": { + ".build.board": "ESP8266_SONOFF_SV", + ".build.variant": "itead", + ".build.flash_size": "1M", + ".menu.BoardModel.sonoffSV": "ITEAD Sonoff SV", + ".menu.BoardModel.sonoffSV.build.board": "ESP8266_SONOFF_SV", + ".menu.BoardModel.sonoffTH": "ITEAD Sonoff TH", + ".menu.BoardModel.sonoffTH.build.board": "ESP8266_SONOFF_TH", + ".menu.BoardModel.sonoffBasic": "ITEAD Sonoff Basic", + ".menu.BoardModel.sonoffBasic.build.board": "ESP8266_SONOFF_BASIC", + ".menu.BoardModel.sonoffS20": "ITEAD Sonoff S20", + ".menu.BoardModel.sonoffS20.build.board": "ESP8266_SONOFF_S20", + }, + "macro": [ + "resetmethod_none", + "flashmode_dout", + "flashfreq_40", + "1M", + ], + "desc": [ + "ESP8266 based devices from ITEAD: Sonoff SV, Sonoff TH, Sonoff" + " Basic, and Sonoff S20", + "", + "These are not development boards. The development process is " + "inconvenient with these devices. When flashing firmware you" + " will need a Serial Adapter to connect it to your computer.", + "", + " | Most of these devices, during normal operation, are" + " connected to " + + "*wall power (AKA Mains Electricity)*. **NEVER** try to flash" + " these " + + "devices when connected to *wall power*. **ALWAYS** have them " + + "disconnected from *wall power* when connecting them to your " + + "computer. Your life may depend on it!", + "", + "When flashing you will need to hold down the push button" + " connected " + + "to the GPIO0 pin, while powering up with a safe 3.3 Volt source." + " Some USB " + + "Serial Adapters may supply enough power to handle flashing; " + + "however, it many may not supply enough power to handle the " + + "activities when the device reboots.", + "", + "More product details at the bottom of" + " https://www.itead.cc/wiki/Product/", + ], + }, + ), + ( + "espmxdevkit", + { + "name": "DOIT ESP-Mx DevKit (ESP8285)", + "opts": { + ".build.board": "ESP8266_ESP01", + ".build.variant": "esp8285", + ".build.led": "-DLED_BUILTIN=16", + }, + "macro": [ + "resetmethod_nodemcu", + "flashmode_dout", + "flashfreq_40", + "1M", + ], + "desc": [ + "DOIT ESP-Mx DevKit - This is a development board by DOIT, with a" + " DOIT ESP-Mx module " + "(`datasheet" + " `__) " + + "using a ESP8285 Chip. With the DOIT ESP-Mx module, GPIO pins 9" + " and 10 are not available. " + + "The DOIT ESP-Mx DevKit board has a red power LED and a blue LED" + " connected to GPIO16 " + + "and is active low to turn on. It uses a CH340C, USB to Serial" + " converter chip. ", + "", + "ESP8285 (`datasheet" + " `__) " + + "is a multi-chip package which contains ESP8266 and 1MB flash. ", + ], + }, + ), + ] +) - }) - ]) +REQUIRED_BOARDS = ("generic", "esp8285") +################################################################ + +MACROS = { + "defaults": collections.OrderedDict( + [ + (".upload.tool", "esptool"), + (".upload.maximum_data_size", "81920"), + (".upload.wait_for_upload_port", "true"), + (".upload.erase_cmd", ""), + (".serial.disableDTR", "true"), + (".serial.disableRTS", "true"), + (".build.mcu", "esp8266"), + (".build.core", "esp8266"), + (".build.variant", "generic"), + (".build.spiffs_pagesize", "256"), + (".build.debug_port", ""), + (".build.debug_level", ""), + ] + ), + ####################### + "cpufreq_menu": collections.OrderedDict( + [ + (".menu.xtal.80", "80 MHz"), + (".menu.xtal.80.build.f_cpu", "80000000L"), + (".menu.xtal.160", "160 MHz"), + (".menu.xtal.160.build.f_cpu", "160000000L"), + ] + ), + "vtable_menu": collections.OrderedDict( + [ + (".menu.vt.flash", "Flash"), + (".menu.vt.flash.build.vtable_flags", "-DVTABLES_IN_FLASH"), + (".menu.vt.heap", "Heap"), + (".menu.vt.heap.build.vtable_flags", "-DVTABLES_IN_DRAM"), + (".menu.vt.iram", "IRAM"), + (".menu.vt.iram.build.vtable_flags", "-DVTABLES_IN_IRAM"), + ] + ), + "exception_menu": collections.OrderedDict( + [ + (".menu.exception.disabled", "Disabled (new aborts on oom)"), + (".menu.exception.disabled.build.exception_flags", "-fno-exceptions"), + (".menu.exception.disabled.build.stdcpp_lib", "-lstdc++"), + (".menu.exception.enabled", "Enabled"), + (".menu.exception.enabled.build.exception_flags", "-fexceptions"), + (".menu.exception.enabled.build.stdcpp_lib", "-lstdc++-exc"), + ] + ), + "stacksmash_menu": collections.OrderedDict( + [ + (".menu.stacksmash.disabled", "Disabled"), + (".menu.stacksmash.disabled.build.stacksmash_flags", ""), + (".menu.stacksmash.enabled", "Enabled"), + (".menu.stacksmash.enabled.build.stacksmash_flags", "-fstack-protector"), + ] + ), + "crystalfreq_menu": collections.OrderedDict( + [ + (".menu.CrystalFreq.26", "26 MHz"), + (".menu.CrystalFreq.40", "40 MHz"), + (".menu.CrystalFreq.40.build.extra_flags", "-DF_CRYSTAL=40000000"), + ] + ), + "flashfreq_menu": collections.OrderedDict( + [ + (".menu.FlashFreq.40", "40MHz"), + (".menu.FlashFreq.40.build.flash_freq", "40"), + (".menu.FlashFreq.80", "80MHz"), + (".menu.FlashFreq.80.build.flash_freq", "80"), + (".menu.FlashFreq.20", "20MHz"), + (".menu.FlashFreq.20.build.flash_freq", "20"), + (".menu.FlashFreq.26", "26MHz"), + (".menu.FlashFreq.26.build.flash_freq", "26"), + ] + ), + "flashfreq_40": collections.OrderedDict( + [ + (".build.flash_freq", "40"), + ] + ), + "flashfreq_80": collections.OrderedDict( + [ + (".build.flash_freq", "80"), + ] + ), + # menu.resetmethod + "resetmethod_menu": collections.OrderedDict( + [ + (".menu.ResetMethod.nodemcu", "dtr (aka nodemcu)"), + ( + ".menu.ResetMethod.nodemcu.upload.resetmethod", + "--before default_reset --after hard_reset", + ), + (".menu.ResetMethod.ck", "no dtr (aka ck)"), + ( + ".menu.ResetMethod.ck.upload.resetmethod", + "--before no_reset --after soft_reset", + ), + ] + ), + "resetmethod_menu_extra": collections.OrderedDict( + [ + (".menu.ResetMethod.nodtr_nosync", "no dtr, no_sync"), + ( + ".menu.ResetMethod.nodtr_nosync.upload.resetmethod", + "--before no_reset_no_sync --after soft_reset", + ), + ] + ), + # upload.resetmethod (new esptool.py options) + "resetmethod_ck": collections.OrderedDict( + [ + (".upload.resetmethod", "--before no_reset --after soft_reset"), + ] + ), + "resetmethod_nodemcu": collections.OrderedDict( + [ + (".upload.resetmethod", "--before default_reset --after hard_reset"), + ] + ), + "resetmethod_none": collections.OrderedDict( + [ + (".upload.resetmethod", "--before no_reset --after soft_reset"), + ] + ), + "resetmethod_dtrset": collections.OrderedDict( + [ + (".upload.resetmethod", "--before default_reset --after hard_reset"), + ] + ), + "resetmethod_nodtr_nosync": collections.OrderedDict( + [ + (".upload.resetmethod", "--before no_reset_no_sync --after soft_reset"), + ] + ), + # menu.FlashMode + "flashmode_menu": collections.OrderedDict( + [ + (".menu.FlashMode.dout", "DOUT (compatible)"), + (".menu.FlashMode.dout.build.flash_mode", "dout"), + (".menu.FlashMode.dout.build.flash_flags", "-DFLASHMODE_DOUT"), + (".menu.FlashMode.dio", "DIO"), + (".menu.FlashMode.dio.build.flash_mode", "dio"), + (".menu.FlashMode.dio.build.flash_flags", "-DFLASHMODE_DIO"), + (".menu.FlashMode.qout", "QOUT"), + (".menu.FlashMode.qout.build.flash_mode", "qout"), + (".menu.FlashMode.qout.build.flash_flags", "-DFLASHMODE_QOUT"), + (".menu.FlashMode.qio", "QIO (fast)"), + (".menu.FlashMode.qio.build.flash_mode", "qio"), + (".menu.FlashMode.qio.build.flash_flags", "-DFLASHMODE_QIO"), + ] + ), + # default flash_mode + "flashmode_dio": collections.OrderedDict( + [ + (".build.flash_mode", "dio"), + (".build.flash_flags", "-DFLASHMODE_DIO"), + ] + ), + "flashmode_qio": collections.OrderedDict( + [ + (".build.flash_mode", "qio"), + (".build.flash_flags", "-DFLASHMODE_QIO"), + ] + ), + "flashmode_dout": collections.OrderedDict( + [ + (".build.flash_mode", "dout"), + (".build.flash_flags", "-DFLASHMODE_DOUT"), + ] + ), + "flashmode_qout": collections.OrderedDict( + [ + (".build.flash_mode", "qout"), + (".build.flash_flags", "-DFLASHMODE_QOUT"), + ] + ), + # lwip variant + "lwip": collections.OrderedDict( + [ + (".menu.ip.lm2f", "v2 Lower Memory"), + (".menu.ip.lm2f.build.lwip_include", "lwip2/include"), + (".menu.ip.lm2f.build.lwip_lib", "-llwip2-536-feat"), + ( + ".menu.ip.lm2f.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0", + ), + (".menu.ip.hb2f", "v2 Higher Bandwidth"), + (".menu.ip.hb2f.build.lwip_include", "lwip2/include"), + (".menu.ip.hb2f.build.lwip_lib", "-llwip2-1460-feat"), + ( + ".menu.ip.hb2f.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=0", + ), + (".menu.ip.lm2n", "v2 Lower Memory (no features)"), + (".menu.ip.lm2n.build.lwip_include", "lwip2/include"), + (".menu.ip.lm2n.build.lwip_lib", "-llwip2-536"), + ( + ".menu.ip.lm2n.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=0 -DLWIP_IPV6=0", + ), + (".menu.ip.hb2n", "v2 Higher Bandwidth (no features)"), + (".menu.ip.hb2n.build.lwip_include", "lwip2/include"), + (".menu.ip.hb2n.build.lwip_lib", "-llwip2-1460"), + ( + ".menu.ip.hb2n.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=0 -DLWIP_IPV6=0", + ), + (".menu.ip.lm6f", "v2 IPv6 Lower Memory"), + (".menu.ip.lm6f.build.lwip_include", "lwip2/include"), + (".menu.ip.lm6f.build.lwip_lib", "-llwip6-536-feat"), + ( + ".menu.ip.lm6f.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=1", + ), + (".menu.ip.hb6f", "v2 IPv6 Higher Bandwidth"), + (".menu.ip.hb6f.build.lwip_include", "lwip2/include"), + (".menu.ip.hb6f.build.lwip_lib", "-llwip6-1460-feat"), + ( + ".menu.ip.hb6f.build.lwip_flags", + "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=1", + ), + ] + ), + # serial baud rate + "s9": collections.OrderedDict( + [ + (".menu.baud.9600", "9600"), + (".menu.baud.9600.upload.speed", "9600"), + ] + ), + "s57": collections.OrderedDict( + [ + (".menu.baud.57600", "57600"), + (".menu.baud.57600.upload.speed", "57600"), + ] + ), + "s115": collections.OrderedDict( + [ + (".menu.baud.115200", "115200"), + (".menu.baud.115200.upload.speed", "115200"), + ] + ), + "s256": collections.OrderedDict( + [ + (".menu.baud.256000.windows", "256000"), + (".menu.baud.256000.upload.speed", "256000"), + ] + ), + "s230": collections.OrderedDict( + [ + (".menu.baud.230400.linux", "230400"), + (".menu.baud.230400.macosx", "230400"), + (".menu.baud.230400.upload.speed", "230400"), + ] + ), + "s460": collections.OrderedDict( + [ + (".menu.baud.460800.linux", "460800"), + (".menu.baud.460800.macosx", "460800"), + (".menu.baud.460800.upload.speed", "460800"), + ] + ), + "s512": collections.OrderedDict( + [ + (".menu.baud.512000.windows", "512000"), + (".menu.baud.512000.upload.speed", "512000"), + ] + ), + "s921": collections.OrderedDict( + [ + (".menu.baud.921600", "921600"), + (".menu.baud.921600.upload.speed", "921600"), + ] + ), + "s3000": collections.OrderedDict( + [ + (".menu.baud.3000000", "3000000"), + (".menu.baud.3000000.upload.speed", "3000000"), + ] + ), + # partial or full flash erase + "flash_erase_menu": collections.OrderedDict( + [ + (".menu.wipe.none", "Only Sketch"), + (".menu.wipe.none.upload.erase_cmd", ""), + (".menu.wipe.sdk", "Sketch + WiFi Settings"), + ( + ".menu.wipe.sdk.upload.erase_cmd", + 'erase_region "{build.rfcal_addr}" 0x4000', + ), + (".menu.wipe.all", "All Flash Contents"), + (".menu.wipe.all.upload.erase_cmd", "erase_flash"), + ] + ), + # optional 'basic' cipher list + "ssl_cipher_menu": collections.OrderedDict( + [ + (".menu.ssl.all", "All SSL ciphers (most compatible)"), + (".menu.ssl.all.build.sslflags", ""), + (".menu.ssl.basic", "Basic SSL ciphers (lower ROM use)"), + (".menu.ssl.basic.build.sslflags", "-DBEARSSL_SSL_BASIC"), + ] + ), + # configure icache split, mmu + "mmu_menu": collections.OrderedDict( + [ + (".menu.mmu.3232", "32KB cache + 32KB IRAM (balanced)"), + ( + ".menu.mmu.3232.build.mmuflags", + "-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000", + ), + (".menu.mmu.4816", "16KB cache + 48KB IRAM (IRAM)"), + ( + ".menu.mmu.4816.build.mmuflags", + "-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000", + ), + (".menu.mmu.4816H", "16KB cache + 48KB IRAM and 2nd Heap (shared)"), + ( + ".menu.mmu.4816H.build.mmuflags", + "-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_IRAM_HEAP", + ), + (".menu.mmu.3216", "16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared)"), + ( + ".menu.mmu.3216.build.mmuflags", + "-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x4000" + " -DMMU_SEC_HEAP=0x40108000 -DMMU_SEC_HEAP_SIZE=0x4000", + ), + (".menu.mmu.ext128k", "128K Heap External 23LC1024"), + ( + ".menu.mmu.ext128k.build.mmuflags", + "-DMMU_EXTERNAL_HEAP=128 -DMMU_IRAM_SIZE=0x8000" + " -DMMU_ICACHE_SIZE=0x8000", + ), + (".menu.mmu.ext8192k", "8M w/256K Heap External 64 MBit PSRAM"), + ( + ".menu.mmu.ext8192k.build.mmuflags", + "-DMMU_EXTERNAL_HEAP=256 -DMMU_IRAM_SIZE=0x8000" + " -DMMU_ICACHE_SIZE=0x8000", + ), + ] + ), + # install our exception handler for non-aligned memory access + "non32xfer_menu": collections.OrderedDict( + [ + (".menu.non32xfer.fast", "Use pgm_read macros for IRAM/PROGMEM"), + (".menu.non32xfer.fast.build.non32xferflags", ""), + (".menu.non32xfer.safe", "Byte/Word access to IRAM/PROGMEM (very slow)"), + (".menu.non32xfer.safe.build.non32xferflags", "-DNON32XFER_HANDLER"), + ] + ), +} ################################################################ +# file writer helpers, we need these for generator functions -macros = { - 'defaults': collections.OrderedDict([ - ( '.upload.tool', 'esptool' ), - ( '.upload.maximum_data_size', '81920' ), - ( '.upload.wait_for_upload_port', 'true' ), - ( '.upload.erase_cmd', ''), - ( '.serial.disableDTR', 'true' ), - ( '.serial.disableRTS', 'true' ), - ( '.build.mcu', 'esp8266' ), - ( '.build.core', 'esp8266' ), - ( '.build.variant', 'generic' ), - ( '.build.spiffs_pagesize', '256' ), - ( '.build.debug_port', '' ), - ( '.build.debug_level', '' ), - ]), - ####################### +class BaseOpenWithBackup: + """Generic context object. Replace stdout with the specified path. + If backup is set, save on entry and restore it on error.""" - 'cpufreq_menu': collections.OrderedDict([ - ( '.menu.xtal.80', '80 MHz' ), - ( '.menu.xtal.80.build.f_cpu', '80000000L' ), - ( '.menu.xtal.160', '160 MHz' ), - ( '.menu.xtal.160.build.f_cpu', '160000000L' ), - ]), - - 'vtable_menu': collections.OrderedDict([ - ( '.menu.vt.flash', 'Flash'), - ( '.menu.vt.flash.build.vtable_flags', '-DVTABLES_IN_FLASH'), - ( '.menu.vt.heap', 'Heap'), - ( '.menu.vt.heap.build.vtable_flags', '-DVTABLES_IN_DRAM'), - ( '.menu.vt.iram', 'IRAM'), - ( '.menu.vt.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'), - ]), - - 'exception_menu': collections.OrderedDict([ - ( '.menu.exception.disabled', 'Disabled (new aborts on oom)' ), - ( '.menu.exception.disabled.build.exception_flags', '-fno-exceptions' ), - ( '.menu.exception.disabled.build.stdcpp_lib', '-lstdc++' ), - ( '.menu.exception.enabled', 'Enabled' ), - ( '.menu.exception.enabled.build.exception_flags', '-fexceptions' ), - ( '.menu.exception.enabled.build.stdcpp_lib', '-lstdc++-exc' ), - ]), - - 'stacksmash_menu': collections.OrderedDict([ - ( '.menu.stacksmash.disabled', 'Disabled' ), - ( '.menu.stacksmash.disabled.build.stacksmash_flags', '' ), - ( '.menu.stacksmash.enabled', 'Enabled' ), - ( '.menu.stacksmash.enabled.build.stacksmash_flags', '-fstack-protector' ), - ]), - - 'crystalfreq_menu': collections.OrderedDict([ - ( '.menu.CrystalFreq.26', '26 MHz' ), - ( '.menu.CrystalFreq.40', '40 MHz' ), - ( '.menu.CrystalFreq.40.build.extra_flags', '-DF_CRYSTAL=40000000' ), - ]), - - 'flashfreq_menu': collections.OrderedDict([ - ( '.menu.FlashFreq.40', '40MHz' ), - ( '.menu.FlashFreq.40.build.flash_freq', '40' ), - ( '.menu.FlashFreq.80', '80MHz' ), - ( '.menu.FlashFreq.80.build.flash_freq', '80' ), - ( '.menu.FlashFreq.20', '20MHz' ), - ( '.menu.FlashFreq.20.build.flash_freq', '20' ), - ( '.menu.FlashFreq.26', '26MHz' ), - ( '.menu.FlashFreq.26.build.flash_freq', '26' ), - ]), - - 'flashfreq_40': collections.OrderedDict([ - ( '.build.flash_freq', '40' ), - ]), - - 'flashfreq_80': collections.OrderedDict([ - ( '.build.flash_freq', '80' ), - ]), - - ####################### menu.resetmethod - - 'resetmethod_menu': collections.OrderedDict([ - ( '.menu.ResetMethod.nodemcu', 'dtr (aka nodemcu)' ), - ( '.menu.ResetMethod.nodemcu.upload.resetmethod', '--before default_reset --after hard_reset' ), - ( '.menu.ResetMethod.ck', 'no dtr (aka ck)' ), - ( '.menu.ResetMethod.ck.upload.resetmethod', '--before no_reset --after soft_reset' ), - ]), - - 'resetmethod_menu_extra': collections.OrderedDict([ - ( '.menu.ResetMethod.nodtr_nosync', 'no dtr, no_sync' ), - ( '.menu.ResetMethod.nodtr_nosync.upload.resetmethod', '--before no_reset_no_sync --after soft_reset' ), - ]), - - ####################### upload.resetmethod (new esptool.py options) - - 'resetmethod_ck': collections.OrderedDict([ - ( '.upload.resetmethod', '--before no_reset --after soft_reset' ), - ]), - - 'resetmethod_nodemcu': collections.OrderedDict([ - ( '.upload.resetmethod', '--before default_reset --after hard_reset' ), - ]), - - 'resetmethod_none': collections.OrderedDict([ - ( '.upload.resetmethod', '--before no_reset --after soft_reset' ), - ]), - - 'resetmethod_dtrset': collections.OrderedDict([ - ( '.upload.resetmethod', '--before default_reset --after hard_reset' ), - ]), - - 'resetmethod_nodtr_nosync': collections.OrderedDict([ - ( '.upload.resetmethod', '--before no_reset_no_sync --after soft_reset' ), - ]), - - ####################### menu.FlashMode - - 'flashmode_menu': collections.OrderedDict([ - ( '.menu.FlashMode.dout', 'DOUT (compatible)' ), - ( '.menu.FlashMode.dout.build.flash_mode', 'dout' ), - ( '.menu.FlashMode.dout.build.flash_flags', '-DFLASHMODE_DOUT' ), - ( '.menu.FlashMode.dio', 'DIO' ), - ( '.menu.FlashMode.dio.build.flash_mode', 'dio' ), - ( '.menu.FlashMode.dio.build.flash_flags', '-DFLASHMODE_DIO' ), - ( '.menu.FlashMode.qout', 'QOUT' ), - ( '.menu.FlashMode.qout.build.flash_mode', 'qout' ), - ( '.menu.FlashMode.qout.build.flash_flags', '-DFLASHMODE_QOUT' ), - ( '.menu.FlashMode.qio', 'QIO (fast)' ), - ( '.menu.FlashMode.qio.build.flash_mode', 'qio' ), - ( '.menu.FlashMode.qio.build.flash_flags', '-DFLASHMODE_QIO' ), - ]), - - ####################### default flash_mode - - 'flashmode_dio': collections.OrderedDict([ - ( '.build.flash_mode', 'dio' ), - ( '.build.flash_flags', '-DFLASHMODE_DIO' ), - ]), - - 'flashmode_qio': collections.OrderedDict([ - ( '.build.flash_mode', 'qio' ), - ( '.build.flash_flags', '-DFLASHMODE_QIO' ), - ]), - - 'flashmode_dout': collections.OrderedDict([ - ( '.build.flash_mode', 'dout' ), - ( '.build.flash_flags', '-DFLASHMODE_DOUT' ), - ]), - - 'flashmode_qout': collections.OrderedDict([ - ( '.build.flash_mode', 'qout' ), - ( '.build.flash_flags', '-DFLASHMODE_QOUT' ), - ]), - - ####################### lwip - - 'lwip': collections.OrderedDict([ - ( '.menu.ip.lm2f', 'v2 Lower Memory' ), - ( '.menu.ip.lm2f.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.lm2f.build.lwip_lib', '-llwip2-536-feat' ), - ( '.menu.ip.lm2f.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0' ), - ( '.menu.ip.hb2f', 'v2 Higher Bandwidth' ), - ( '.menu.ip.hb2f.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.hb2f.build.lwip_lib', '-llwip2-1460-feat' ), - ( '.menu.ip.hb2f.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=0' ), - ( '.menu.ip.lm2n', 'v2 Lower Memory (no features)' ), - ( '.menu.ip.lm2n.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.lm2n.build.lwip_lib', '-llwip2-536' ), - ( '.menu.ip.lm2n.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=0 -DLWIP_IPV6=0' ), - ( '.menu.ip.hb2n', 'v2 Higher Bandwidth (no features)' ), - ( '.menu.ip.hb2n.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.hb2n.build.lwip_lib', '-llwip2-1460' ), - ( '.menu.ip.hb2n.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=0 -DLWIP_IPV6=0' ), - ( '.menu.ip.lm6f', 'v2 IPv6 Lower Memory' ), - ( '.menu.ip.lm6f.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.lm6f.build.lwip_lib', '-llwip6-536-feat' ), - ( '.menu.ip.lm6f.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=1' ), - ( '.menu.ip.hb6f', 'v2 IPv6 Higher Bandwidth' ), - ( '.menu.ip.hb6f.build.lwip_include', 'lwip2/include' ), - ( '.menu.ip.hb6f.build.lwip_lib', '-llwip6-1460-feat' ), - ( '.menu.ip.hb6f.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=1' ), - ]), - - ####################### serial - - 's9': collections.OrderedDict([ - ( '.menu.baud.9600', '9600' ), - ( '.menu.baud.9600.upload.speed', '9600' ), - ]), - 's57': collections.OrderedDict([ - ( '.menu.baud.57600', '57600' ), - ( '.menu.baud.57600.upload.speed', '57600' ), - ]), - 's115': collections.OrderedDict([ - ( '.menu.baud.115200', '115200' ), - ( '.menu.baud.115200.upload.speed', '115200' ), - ]), - 's256': collections.OrderedDict([ - ( '.menu.baud.256000.windows', '256000' ), - ( '.menu.baud.256000.upload.speed', '256000' ), - ]), - 's230': collections.OrderedDict([ - ( '.menu.baud.230400.linux', '230400' ), - ( '.menu.baud.230400.macosx', '230400' ), - ( '.menu.baud.230400.upload.speed', '230400' ), - ]), - 's460': collections.OrderedDict([ - ( '.menu.baud.460800.linux', '460800' ), - ( '.menu.baud.460800.macosx', '460800' ), - ( '.menu.baud.460800.upload.speed', '460800' ), - ]), - 's512': collections.OrderedDict([ - ( '.menu.baud.512000.windows', '512000' ), - ( '.menu.baud.512000.upload.speed', '512000' ), - ]), - 's921': collections.OrderedDict([ - ( '.menu.baud.921600', '921600' ), - ( '.menu.baud.921600.upload.speed', '921600' ), - ]), - 's3000': collections.OrderedDict([ - ( '.menu.baud.3000000', '3000000' ), - ( '.menu.baud.3000000.upload.speed', '3000000' ), - ]), - - ####################### flash erase - - 'flash_erase_menu': collections.OrderedDict([ - ( '.menu.wipe.none', 'Only Sketch' ), - ( '.menu.wipe.none.upload.erase_cmd', '' ), - ( '.menu.wipe.sdk', 'Sketch + WiFi Settings' ), - ( '.menu.wipe.sdk.upload.erase_cmd', 'erase_region "{build.rfcal_addr}" 0x4000' ), - ( '.menu.wipe.all', 'All Flash Contents' ), - ( '.menu.wipe.all.upload.erase_cmd', 'erase_flash' ), - ]), - - ######################## SSL supported protocols - - 'ssl_cipher_menu': collections.OrderedDict([ - ( '.menu.ssl.all', 'All SSL ciphers (most compatible)' ), - ( '.menu.ssl.all.build.sslflags', ''), - ( '.menu.ssl.basic', 'Basic SSL ciphers (lower ROM use)' ), - ( '.menu.ssl.basic.build.sslflags', '-DBEARSSL_SSL_BASIC'), - ]), - - ####################### mmu - - 'mmu_menu': collections.OrderedDict([ - ( '.menu.mmu.3232', '32KB cache + 32KB IRAM (balanced)' ), - ( '.menu.mmu.3232.build.mmuflags', '-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000'), - ( '.menu.mmu.4816', '16KB cache + 48KB IRAM (IRAM)' ), - ( '.menu.mmu.4816.build.mmuflags', '-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000' ), - ( '.menu.mmu.4816H', '16KB cache + 48KB IRAM and 2nd Heap (shared)' ), - ( '.menu.mmu.4816H.build.mmuflags', '-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_IRAM_HEAP' ), - ( '.menu.mmu.3216', '16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared)' ), - ( '.menu.mmu.3216.build.mmuflags', '-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_SEC_HEAP=0x40108000 -DMMU_SEC_HEAP_SIZE=0x4000' ), - ( '.menu.mmu.ext128k', '128K Heap External 23LC1024' ), - ( '.menu.mmu.ext128k.build.mmuflags', '-DMMU_EXTERNAL_HEAP=128 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000' ), - ( '.menu.mmu.ext8192k', '8M w/256K Heap External 64 MBit PSRAM' ), - ( '.menu.mmu.ext8192k.build.mmuflags', '-DMMU_EXTERNAL_HEAP=256 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000' ), - ]), - - ######################## Non 32-bit load/store exception handler - - 'non32xfer_menu': collections.OrderedDict([ - ('.menu.non32xfer.fast', 'Use pgm_read macros for IRAM/PROGMEM' ), - ('.menu.non32xfer.fast.build.non32xferflags', ''), - ('.menu.non32xfer.safe', 'Byte/Word access to IRAM/PROGMEM (very slow)' ), - ('.menu.non32xfer.safe.build.non32xferflags', '-DNON32XFER_HANDLER'), - ]) - } + def __init__(self, path): + self.path = os.path.normpath(path) + self.backup = None -################################################################ -# defs + def __enter__(self): + self._stdout = sys.stdout + sys.stdout = open(self.path, "w", encoding="utf-8", newline="\n") + return self + + def __exit__(self, *exc): + sys.stdout.close() + sys.stdout = self._stdout + if any(exc): + if self.backup and os.path.isfile(self.backup): + os.rename(self.backup, self.path) + print(f"error: {exc}\nrestored {self.path} from {self.backup}") + return + print(f"wrote: {self.path}") + if self.backup: + print(f"backup: {self.backup}") + + +class Open(BaseOpenWithBackup): + """Open and replace stdout with the specified path.""" + + pass + + +class OpenWithBackupFile(BaseOpenWithBackup): + """Replace stdout with the specified path. + Creates .orig file in the same location before entry.""" + + def __init__(self, path): + super().__init__(path) + self.backup = f"{self.path}.orig" + + def __enter__(self): + if os.path.isfile(self.backup): + os.remove(self.backup) + + if os.path.isfile(self.path): + os.rename(self.path, self.backup) + + return super().__enter__() -def checkdir (): - if not os.path.isfile("boards.txt"): - print("please run me from boards.txt directory (like: ./tools/boards.txt.py -...)") - sys.exit(1) ################################################################ # debug options -# https://rosettacode.org/wiki/Combinations#Python -def comb (m, lst): - if m == 0: return [[]] - return [[x] + suffix for i, x in enumerate(lst) for suffix in comb(m - 1, lst[i + 1:])] - -def combn (lst): - all = [] - for i in range(0, len(lst)): - all += comb(i + 1, lst) - return all - -def comb1 (lst, lstplusone): - all = [] - for i in range(0, len(lst)): - all += [ [ lst[i] ] ] - if len(lstplusone): - for i in range(0, len(lstplusone)): - all += [ [ lstplusone[i] ] ] - all += [ lst ] - for i in range(0, len(lstplusone)): - all += [ lst + [ lstplusone[i] ] ] - else: - all += [ lst ] - return all - -def all_debug (): - listcomb = [ 'SSL', 'TLS_MEM', 'HTTP_CLIENT', 'HTTP_SERVER' ] - listnocomb = [ 'CORE', 'WIFI', 'HTTP_UPDATE', 'UPDATER', 'OTA', 'OOM', 'MDNS' ] - listplusone = [ 'HWDT', 'HWDT_NOEXTRA4K' ] - listsingle = [ 'NoAssert-NDEBUG' ] - options = combn(listcomb) - options += comb1(listnocomb, listplusone) - options += [ listcomb + listnocomb ] - for i in range(0, len(listplusone)): - options += [ listcomb + listnocomb + [ listplusone[i] ] ] - options += [ listsingle ] - debugmenu = collections.OrderedDict([ - ( '.menu.dbg.Disabled', 'Disabled' ), - ( '.menu.dbg.Disabled.build.debug_port', '' ), - ( '.menu.dbg.Serial', 'Serial' ), - ( '.menu.dbg.Serial.build.debug_port', '-DDEBUG_ESP_PORT=Serial' ), - ( '.menu.dbg.Serial1', 'Serial1' ), - ( '.menu.dbg.Serial1.build.debug_port', '-DDEBUG_ESP_PORT=Serial1' ), - ( '.menu.lvl.None____', 'None' ), - ( '.menu.lvl.None____.build.debug_level', '' ), - ]) +def subslices(values): + """Generate a combinations list for each possible length of the provided list. + Useful for build defines combinations, where we would like to generate + multiple menu entries for both specific flags and a combinations of them. + + >>> list(subslices(["A", "B"])) + [('A',), ('B',), ('A', 'B')] + >>> list(subslices(["A", "B", "C"])) + [('A',), ('B',), ('C',), ('A', 'B'), ('A', 'C'), ('B', 'C'), ('A', 'B', 'C')] + """ + for n, _ in enumerate(values, start=1): + for combination in itertools.combinations(values, n): + yield combination + + +def menu_debug_macros(): + debugmenu = collections.OrderedDict( + [ + (".menu.dbg.Disabled", "Disabled"), + (".menu.dbg.Disabled.build.debug_port", ""), + (".menu.dbg.Serial", "Serial"), + (".menu.dbg.Serial.build.debug_port", "-DDEBUG_ESP_PORT=Serial"), + (".menu.dbg.Serial1", "Serial1"), + (".menu.dbg.Serial1.build.debug_port", "-DDEBUG_ESP_PORT=Serial1"), + (".menu.lvl.None____", "None"), + (".menu.lvl.None____.build.debug_level", ""), + ] + ) + + options = [] + + # since IDE does not allow to flag multiple options, these are split + # into two sort-of related groups. first ones end up as 'subslice' combinations + a = ("SSL", "TLS_MEM", "HTTP_CLIENT", "HTTP_SERVER") + + options.extend(subslices(a)) + + # these end up as standalone options and a combined one + b = ("CORE", "WIFI", "HTTP_UPDATE", "UPDATER", "OTA", "OOM", "MDNS") + for flag in b: + options.append((flag,)) + options.append(b) + + # and these could only happen on their own or with grouped options + for flag in ("HWDT", "HWDT_NOEXTRA4K"): + options.append((flag,)) + options.append(b + (flag,)) + options.append(a + b + (flag,)) + + def add_menu_entry(name, menuname, flags): + debugmenu.update( + ( + ( + (f".menu.lvl.{name}", menuname), + ( + f".menu.lvl.{name}.build.debug_level", + " {}".format(" ".join(flags)), + ), + ) + ) + ) + + add_menu_entry("NoAssert-NDEBUG", "NoAssert-NDEBUG", ["-DNDEBUG"]) + + # TODO make sure to prepend with space for optlist in options: - debugname = '' - debugmenuname = '' - debugdefs = '' - for opt in optlist: - space = opt.find(" ") - if space > 0: - # remove subsequent associated gcc cmdline option - simpleopt = opt[0:space] - else: - simpleopt = opt - debugname += simpleopt - if debugmenuname != '': - debugmenuname += '+' - debugmenuname += simpleopt - if opt == 'NoAssert-NDEBUG': - debugdefs += ' -DNDEBUG' - else: - debugdefs += ' -DDEBUG_ESP_' + opt - debugmenu.update(collections.OrderedDict([ - ( '.menu.lvl.' + debugname, debugmenuname ), - ( '.menu.lvl.' + debugname + '.build.debug_level', debugdefs ) - ])) - return { 'debug_menu': debugmenu } + add_menu_entry( + "".join(optlist), + "+".join(optlist), + [f"-DDEBUG_ESP_{opt}" for opt in optlist], + ) + + return {"debug_menu": debugmenu} + ################################################################ # flash size -def flash_map (flashsize_kb, fs_kb = 0, conf_name = ''): - - # mapping: - # flash | reserved | empty | spiffs | eeprom | rf-cal | sdk-wifi-settings +# TODO well, actually... it's kibi and mibi. update menu and .ld comment to use KiB and MiB? +# menu selectors remain as 1 char suffixes, still + +BYTES = 1 +KILOBYTES = 1024 +MEGABYTES = 1024 * 1024 + + +def Bytes(size): + """Just bytes + >>> Bytes(1) + 1 + >>> Bytes(1024) + 1024 + """ + return size + + +def Kilobytes(size): + """Represent N kilobytes as bytes + >>> Kilobytes(1) + 1024 + >>> Kilobytes(1024) + 1048576 + """ + return size * KILOBYTES + + +def Megabytes(size): + """Represent N megabytes as bytes + >>> Megabytes(1) + 1048576 + >>> Megabytes(1024) + 1073741824 + """ + return size * MEGABYTES + + +def humanize(size, *, decimal=False, convert=None): + """Print something intelligible instead of just the value as-is. + To use with .ld and menu, also support custom suffixes for ratios + as [RATIO, SUFFIX] pairs. + + >>> humanize(Bytes(8)) + '8B' + >>> humanize(Megabytes(1)) + '1MB' + >>> humanize(Megabytes(1) - Bytes(10)) + '1023KB' + >>> humanize(Megabytes(1) + Bytes(10)) + '1MB' + >>> humanize(Megabytes(1) + Kilobytes(512)) + '1536KB' + >>> humanize(Bytes(7315456)) + '7144KB' + >>> humanize(Bytes(6266880)) + '6120KB' + + """ + + if not convert: + convert = [ + [Bytes(1), "B"], + [Kilobytes(1), "KB"], + [Megabytes(1), "MB"], + ] + + for ratio, suffix in reversed(convert): + if size >= ratio: + if size % ratio > (size / 8): + continue + + size = f"{size / ratio:.02f}" + if not decimal: + size = size[:-3] + + size = size.replace(".00", "") + + return f"{size}{suffix}" + + return "" + + +class Region: + """Represent certain start and end addresses (in bytes). + + >>> a = Region("", 0, 0) + >>> a.size + 0 + >>> b = Region("", 0, 1024) + >>> b.start + 0 + >>> b.end + 1024 + >>> b.size + 1024 + >>> Region("", 1024, 0) + Traceback (most recent call last): + ... + ValueError: start=1024 cannot be larger than end=0 + """ + + def __init__(self, name, start, end): + if start > end: + raise ValueError(f"{start=} cannot be larger than {end=}") + self.name = name + self.start = start + self.end = end + self.size = Bytes(end - start) + + def distance(self, other): + if self.end <= other.start: + return other.start - self.end + elif self.start >= other.end: + return other.end - self.start + + return None + + def __repr__(self): + return ( + f"" + ) + + def copy(self): + return Region(self.name, self.start, self.end) + + @staticmethod + def after(region, size): + """ + >>> a = Region("", 0, 1024) + >>> b = Region.after(a, 1024) + >>> b.start + 1024 + >>> b.end + 2048 + >>> b.size + 1024 + """ + return Region("", region.end, region.end + size) + + @staticmethod + def fromEnd(region, size): + """ + >>> a = Region("", 0, 1024) + >>> b = Region.fromEnd(a, 256) + >>> b.start + 768 + >>> b.end + 1024 + >>> b.size + 256 + """ + return Region("", region.end - size, region.end) + + @staticmethod + def fromStart(region, size): + """ + >>> a = Region("", 0, 1024) + >>> b = Region.fromStart(a, 512) + >>> b.start + 0 + >>> b.end + 512 + >>> b.size + 512 + """ + return Region("", region.start, region.start + size) + + +class Layout: + def __init__(self, region): + self.region = region + self.free = self.region.size + self.subregions = [] + + def __repr__(self): + return f"" + + def __getitem__(self, name): + for region in self.subregions: + if name == region.name: + return region + + return None + + @property + def name(self): + return self.region.name + + @property + def size(self): + return self.region.size + + @property + def used(self): + size = Bytes(0) + for region in self.subregions: + size += region.size + + return size + + @property + def start(self): + return self.region.start + + @property + def end(self): + return self.region.end + + @property + def edge(self): + return ( + self.subregions[-1] if self.subregions else Region("", self.end, self.end) + ) + + def push(self, region): + """ + >>> x = Layout(Region("", 0, 1024)) + >>> x.push(Region("", 1024, 2048)) + Traceback (most recent call last): + ... + ValueError: Out of bounds of + >>> x.push(Region("", -512, 0)) + Traceback (most recent call last): + ... + ValueError: Out of bounds of + >>> x.add("", 512) + + >>> x.push(Region("", 512, 768)) + Traceback (most recent call last): + ... + ValueError: Region is located before self.edge= + >>> x.add("", 1024) + Traceback (most recent call last): + ... + ValueError: No space left + """ + if self.free < region.size: + raise ValueError("No space left") + elif self.start > region.start or self.end < region.end: + raise ValueError(f"Out of bounds of {self.region}") + elif self.subregions and region.end > self.edge.start: + raise ValueError(f"Region is located before {self.edge=}") + + self.free = self.free - region.size + self.subregions.append(region) + + return region + + def add(self, name, size): + """ + >>> x = Layout(Region("", 0, 1024)) + >>> x.add("zero", 0) + + >>> x.add("one", 512) + + >>> x.add("two", 512) + + >>> x.add("three", 512) + Traceback (most recent call last): + ... + ValueError: No space left + """ + if self.subregions: + region = Region(name, self.edge.start - size, self.edge.start) + else: + region = Region(name, self.end - size, self.end) + + return self.push(region) + + def add_aligned(self, name, size, alignment): + """ + >>> x = Layout(Region("", 0, Megabytes(1))) + >>> x.add("", Kilobytes(20)) + + >>> r = x.add_aligned("", Kilobytes(512), Kilobytes(8)) + >>> r + + >>> r.size % Kilobytes(8) + 0 + >>> x.add("", Kilobytes(1)) + + >>> x.add_aligned("", Kilobytes(20), Kilobytes(8)) + + """ + remainder = size % alignment + if remainder: + self.add("", remainder) + size -= remainder + + return self.add(name, size) + + +class Filesystem: + """Simple wrapper around Region to supply block and page sizes.""" + + def __init__(self, region, block_size, page_size): + self.region = region + self.block_size = block_size + self.page_size = page_size + + def __bool__(self): + return self.region.size > 0 + + @property + def size(self): + return self.region.size + + @property + def start(self): + return self.region.start + + @property + def end(self): + return self.region.end + + def __repr__(self): + return ( + f"" + ) + + +# - menu properties *will* be used in scripts, so these suffixes *must* remain the same +# flash size uses short uppercase suffix (without the B) +# fs size only adds suffix when >= 1M, no string when no fs +# plus, if must be >0, otherwise things won't work :) +# - .ld script *names* could be used in scripts, so suffixes *must* remain the same +# flash size uses short lowercase suffix (without the b) +# fs size only adds suffix when >= 1M, no string when no fs + + +def humanize_fs(size): + """Filesystem size in .txt properties and file names. + + Only suffixed when in greater than 1 megabyte. + Bytes() mostly stay unused. + + >>> humanize_fs(Bytes(1)) + '1' + >>> humanize_fs(Kilobytes(64)) + '64' + >>> humanize_fs(Megabytes(2)) + '2M' + """ + convert = [ + [Bytes(1), ""], + [Kilobytes(1), ""], + [Megabytes(1), "M"], + ] + + return humanize(size, convert=convert) + + +def humanize_flash(size): + """Flash size in .txt properties and file names. + + >>> humanize_flash(Bytes(64)) + '64' + >>> humanize_flash(Kilobytes(512)) + '512K' + >>> humanize_flash(Megabytes(4)) + '4M' + """ + convert = [ + [Bytes(1), ""], + [Kilobytes(1), "K"], + [Megabytes(1), "M"], + ] + + return humanize(size, convert=convert) + + +def humanize_flash_menu(size): + """Special case for the board menu entry shown in the UI. + + >>> humanize_flash_menu(Bytes(128)) + '128' + >>> humanize_flash_menu(Kilobytes(512)) + '512KB' + >>> humanize_flash_menu(Megabytes(16)) + '16MB' + """ + convert = [ + [Bytes(1), ""], + [Kilobytes(1), "KB"], + [Megabytes(1), "MB"], + ] + + return humanize(size, convert=convert) + + +# used as property value and for .ld output generator +def ldscript_name(*, flash_size, expected_fs_size, **kwargs): + """Full name of the board .ld script, for the specified flash and fs (expected) size. + + >>> ldscript_name(flash_size=Megabytes(1), expected_fs_size=Kilobytes(64)) + 'eagle.flash.1m64.ld' + >>> ldscript_name(flash_size=Megabytes(4), expected_fs_size=Megabytes(3)) + 'eagle.flash.4m3m.ld' + >>> ldscript_name(flash_size=Megabytes(8), expected_fs_size=Bytes(0)) + 'eagle.flash.8m.ld' + >>> ldscript_name(flash_size=Kilobytes(512), expected_fs_size=Bytes(0)) + 'eagle.flash.512k.ld' + """ + return f"eagle.flash.{humanize_flash(flash_size)}{humanize_fs(expected_fs_size)}.ld".lower() + + +SPI_START = 0x40200000 +SPI_SECTOR = Kilobytes(4) + + +# ref. https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map +# bootloader | crc | sketch | empty | fs | eeprom | rf-cal | sdk-wifi-settings +def common_layout(name, flash_size): + # notice that we start from 0 instead of SPI start, menu needs relative addresses + # (which we then simply add where it is populated) + layout = Layout(Region(name, 0, flash_size)) + + # these are *always* at the end of the flash, so layout is populated backwards + layout.add("SDK + WiFi", (SPI_SECTOR * 3)) + layout.add("RFCAL", SPI_SECTOR) + + # eeprom sector is always there, since we don't know whether it is used or not + layout.add("EEPROM", SPI_SECTOR) + + return layout + + +def flash_map(flash_size, fs_size=Bytes(0), name=""): + """Generate template variables for the specified flash and filesystem sizes. + Name is optional and is simply passed through. + + >>> x = flash_map(Megabytes(2), Kilobytes(64), 'Test') + >>> x['flash_map_name'] + 'Test' + >>> x['layout']['Filesystem'].size + 45056 + >>> import pprint + >>> pprint.pprint(x['layout'].subregions) + [, + , + , + , + , + , + , + , + , + ] + """ + + layout = common_layout(name, flash_size) + + if fs_size: + if fs_size < Kilobytes(512): + fs_block_size = Kilobytes(4) + else: + fs_block_size = Kilobytes(8) + fs_page_size = Bytes(256) + else: + fs_page_size = Bytes(0) + fs_block_size = Bytes(0) + + # maintaining backwards compatibility, address is based + # on the *end of flash*, not using available space at the edge + # (e.g. with 2M64, we end up with only 44K of space) + expected_fs_size = fs_size + if fs_size and flash_size > Megabytes(1): + fs_size = fs_size - layout.used + + if fs_size: + fs = Filesystem( + layout.add_aligned("Filesystem", fs_size, fs_block_size), + fs_block_size, + fs_page_size, + ) + else: + fs = None + + # at this point, we either left with empty + app or just the app space + # we could create an app up-most to 1mb, so the rest of the space is empty + nearest = layout.edge + if layout.free > Megabytes(1): + empty = layout.push(Region("Empty", layout.start + Megabytes(1), nearest.start)) + nearest = empty + else: + empty = None + + # ref. elf2bin.py, 1st flash sector is + # - 8 bytes of header + # - bootloader until the end of the sector + # 2nd flash sector starts with + # - 8 bytes of header + # - 4 bytes of crc len + # - 4 bytes of crc value + reserved = SPI_SECTOR + Bytes(8) + Bytes(4) + Bytes(4) + sketch = layout.add("Sketch", nearest.start - (layout.start + reserved)) + + layout.add("", Bytes(8)) + layout.add("CRC", Bytes(4) + Bytes(4)) + layout.add("Bootloader", SPI_SECTOR - Bytes(8)) + layout.add("", Bytes(8)) + + assert layout.free == 0 + + max_upload_size = min(Megabytes(1), flash_size) - reserved + if empty: + max_ota_size = empty.size + else: + max_ota_size = min(max_upload_size, int(sketch.size / 2)) - spi = 0x40200000 # https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map + return { + "layout": layout, + "flash_size": layout.region.size, + "flash_map_name": layout.region.name, + "sdkwifi": layout["SDK + WiFi"], + "rfcal": layout["RFCAL"], + "eeprom": layout["EEPROM"], + "empty": empty, + "fs": fs, + "expected_fs_size": expected_fs_size, + "sketch": sketch, + "max_upload_size": max_upload_size, + "max_ota_size": max_ota_size, + } - reserved = 4112 - eeprom_size_kb = 4 - rfcal_size_kb = 4 - sdkwifi_size_kb = 12 - fs_end = (flashsize_kb - sdkwifi_size_kb - rfcal_size_kb - eeprom_size_kb) * 1024 - # For legacy reasons (#6531), the EEPROM sector needs to be at the old - # FS_end calculated without regards to block size - eeprom_start = fs_end +def menu_size_generate( + *, max_ota_size, max_upload_size, rfcal, flash_size, fs, expected_fs_size, **kwargs +): + menu = f".menu.eesz.{humanize_flash(flash_size)}{humanize_fs(expected_fs_size)}" + + out = [ + ( + menu, + f'{humanize_flash_menu(flash_size)} (FS:{humanize(fs.size) if fs else "none"} OTA:~{humanize(max_ota_size)})', + ), + (f"{menu}.build.flash_size", humanize_flash(flash_size)), + ( + f"{menu}.build.flash_ld", + ldscript_name(flash_size=flash_size, expected_fs_size=expected_fs_size), + ), + (f"{menu}.build.rfcal_addr", f"0x{rfcal.start:05X}"), + ] + + out.append((f"{menu}.upload.maximum_size", f"{max_upload_size}")) + + if fs: + out.extend( + ( + (f"{menu}.build.spiffs_start", f"0x{fs.start:05X}"), + (f"{menu}.build.spiffs_end", f"0x{fs.end:05X}"), + (f"{menu}.build.spiffs_blocksize", fs.block_size), + (f"{menu}.build.spiffs_pagesize", fs.page_size), + ) + ) + + return collections.OrderedDict(out) + + +def menu_size_macros(flash_maps): + output = { + "autoflash": collections.OrderedDict( + [ + (".menu.eesz.autoflash", "Mapping defined by Hardware and Sketch"), + (".menu.eesz.autoflash.build.flash_size", "16M"), + (".menu.eesz.autoflash.build.flash_ld", "eagle.flash.auto.ld"), + (".menu.eesz.autoflash.build.extra_flags", "-DFLASH_MAP_SUPPORT=1"), + (".menu.eesz.autoflash.upload.maximum_size", "1044464"), + ] + ) + } - rfcal_addr = (flashsize_kb - sdkwifi_size_kb - rfcal_size_kb) * 1024 - if flashsize_kb <= 1024: - max_upload_size = (flashsize_kb - (fs_kb + eeprom_size_kb + rfcal_size_kb + sdkwifi_size_kb)) * 1024 - reserved - fs_start = fs_end - fs_kb * 1024 - else: - max_upload_size = 1024 * 1024 - reserved - fs_start = (flashsize_kb - fs_kb) * 1024 + for flash_map in flash_maps: + size = humanize_flash(flash_map["layout"].size) + menu = menu_size_generate(**flash_map) - if fs_kb < 512: - fs_blocksize = 4096 - else: - fs_blocksize = 8192 - - # Adjust FS_end to be a multiple of the block size - fs_end = fs_blocksize * (int)((fs_end - fs_start)/fs_blocksize) + fs_start - - max_ota_size = min(max_upload_size, fs_start / 2) # =(max_upload_size+empty_size)/2 - strsize = str(int(flashsize_kb / 1024)) + 'M' if (flashsize_kb >= 1024) else str(flashsize_kb) + 'K' - strfs = str(int(fs_kb / 1024)) + 'M' if (fs_kb >= 1024) else str(fs_kb) + 'K' - strfs_strip = str(int(fs_kb / 1024)) + 'M' if (fs_kb >= 1024) else str(fs_kb) if (fs_kb > 0) else '' - - ld = 'eagle.flash.' + strsize.lower() + strfs_strip.lower() + '.ld' - menu = '.menu.eesz.' + strsize + strfs_strip - menub = menu + '.build.' - desc = 'none' if (fs_kb == 0) else strfs + 'B' - d = collections.OrderedDict([ - ( menu, strsize + 'B (FS:' + desc + ' OTA:~%iKB)' % (max_ota_size / 1024)), - ( menub + 'flash_size', strsize ), - #( menub + 'flash_size_bytes', "0x%X" % (flashsize_kb * 1024)), - ( menub + 'flash_ld', ld ), - ( menub + 'spiffs_pagesize', '256' ), - #( menu + '.upload.maximum_size', "%i" % max_upload_size ), - ( menub + 'rfcal_addr', "0x%X" % rfcal_addr) - ]) - - if fs_kb > 0: - d.update(collections.OrderedDict([ - ( menub + 'spiffs_start', "0x%05X" % fs_start ), - ( menub + 'spiffs_end', "0x%05X" % fs_end ), - ( menub + 'spiffs_blocksize', "%i" % fs_blocksize ), - ])) - - #d.update(collections.OrderedDict([ - # ( menub + 'eeprom_start', "0x%05X" % eeprom_start ), - # ])) - - if ldshow: - if ldgen: - - checkdir() - - ldbackupdir = lddir + "backup/" - if not os.path.isdir(ldbackupdir): - os.mkdir(ldbackupdir) - if os.path.isfile(lddir + ld) and not os.path.isfile(ldbackupdir + ld): - os.rename(lddir + ld, ldbackupdir + ld) - realstdout = sys.stdout - sys.stdout = open(lddir + ld, 'w') - - if fs_kb == 0: - fs_start = fs_end - page = 0 - fs_blocksize = 0 + if size in output: + output[size].update(menu) else: - page = 0x100 - - if not conf_name == '': - if not conf_name in c_flash_map: - c_flash_map[conf_name] = collections.OrderedDict([]) - c_flash_map[conf_name][flashsize_kb] = \ - '.eeprom_start = ' + hex(spi + eeprom_start) + ', ' \ - + '.fs_start = ' + hex(spi + fs_start) + ', ' \ - + '.fs_end = ' + hex(spi + fs_end) + ', ' \ - + '.fs_block_size = ' + hex(fs_blocksize)+ ', ' \ - + '.fs_page_size = ' + hex(page) + ', ' \ - - print("/* Flash Split for %s chips */" % strsize) - print("/* sketch @0x%X (~%dKB) (%dB) */" % (spi, (max_upload_size / 1024), max_upload_size)) - empty_size = fs_start - max_upload_size - if empty_size > 0: - print("/* empty @0x%X (~%dKB) (%dB) */" % (spi + max_upload_size, empty_size / 1024, empty_size)) - print("/* spiffs @0x%X (~%dKB) (%dB) */" % (spi + fs_start, ((fs_end - fs_start) / 1024), fs_end - fs_start)) - print("/* eeprom @0x%X (%dKB) */" % (spi + rfcal_addr - eeprom_size_kb * 1024, eeprom_size_kb)) - print("/* rfcal @0x%X (%dKB) */" % (spi + rfcal_addr, rfcal_size_kb)) - print("/* wifi @0x%X (%dKB) */" % (spi + rfcal_addr + rfcal_size_kb * 1024, sdkwifi_size_kb)) - print("") + output[size] = collections.OrderedDict(menu) + + return output + + +def ldscript_generate( + output, + *, + layout, + max_upload_size, + sdkwifi, + rfcal, + eeprom, + fs, + empty, + sketch, + **kwargs, +): + def address(value): + return f"0x{SPI_START + value.start:08X}" + + def symbol(value): + return f"0x{SPI_START + value:08X}" + + def size(value): + return f"{humanize(value.size)}" + + if not fs: + fs = Filesystem(Region("", eeprom.start, eeprom.start), 0, 0) + + with output: + print(f"/* Flash Split for {size(layout)} chips */") + print(f"/* sketch @{address(sketch)} (~{size(sketch)}) ({sketch.size}B) */") + if empty: + print(f"/* empty @{address(empty)} (~{size(empty)}) ({empty.size}B) */") + if fs: + print(f"/* fs @{address(fs)} (~{size(fs)}) ({fs.size}B) */") + print(f"/* eeprom @{address(eeprom)} ({eeprom.size}B) */") + print(f"/* rfcal @{address(rfcal)} ({rfcal.size}B) */") + print(f"/* wifi @{address(sdkwifi)} ({sdkwifi.size}B) */") + print() print("MEMORY") print("{") print(" dport0_0_seg : org = 0x3FF00000, len = 0x10") print(" dram0_0_seg : org = 0x3FFE8000, len = 0x14000") - # Moved to ld/eagle.app.v6.common.ld.h as a 2nd MEMORY command. - # print(" iram1_0_seg : org = 0x40100000, len = MMU_IRAM_SIZE") - print(" irom0_0_seg : org = 0x40201010, len = 0x%x" % max_upload_size) + print( + f" irom0_0_seg : org = {address(sketch)}, len = 0x{sketch.size:x}" + ) print("}") - print("") - print("PROVIDE ( _FS_start = 0x%08X );" % (spi + fs_start)) - print("PROVIDE ( _FS_end = 0x%08X );" % (spi + fs_end)) - print("PROVIDE ( _FS_page = 0x%X );" % page) - print("PROVIDE ( _FS_block = 0x%X );" % fs_blocksize) - print("PROVIDE ( _EEPROM_start = 0x%08x );" % (spi + eeprom_start)) + print() + print(f"PROVIDE ( _FS_start = {symbol(fs.start)} );") + print(f"PROVIDE ( _FS_end = {symbol(fs.end)} );") + print(f"PROVIDE ( _FS_page = 0x{fs.page_size:X} );") + print(f"PROVIDE ( _FS_block = 0x{fs.block_size:X} );") + print(f"PROVIDE ( _EEPROM_start = {symbol(eeprom.start)} );") # Re-add deprecated symbols pointing to the same address as the new standard ones - print("/* The following symbols are DEPRECATED and will be REMOVED in a future release */") - print("PROVIDE ( _SPIFFS_start = 0x%08X );" % (spi + fs_start)) - print("PROVIDE ( _SPIFFS_end = 0x%08X );" % (spi + fs_end)) - print("PROVIDE ( _SPIFFS_page = 0x%X );" % page) - print("PROVIDE ( _SPIFFS_block = 0x%X );" % fs_blocksize) - print("") + print( + "/* The following symbols are DEPRECATED and will be REMOVED in a future" + " release */" + ) + print(f"PROVIDE ( _SPIFFS_start = {symbol(fs.start)} );") + print(f"PROVIDE ( _SPIFFS_end = {symbol(fs.end)} );") + print(f"PROVIDE ( _SPIFFS_page = 0x{fs.page_size:X} );") + print(f"PROVIDE ( _SPIFFS_block = 0x{fs.block_size:X} );") + print() print('INCLUDE "local.eagle.app.v6.common.ld"') - if ldgen: - sys.stdout.close() - sys.stdout = realstdout - - return d - -def all_flash_map (): - - f512 = collections.OrderedDict([]) - f1m = collections.OrderedDict([]) - f2m = collections.OrderedDict([]) - f4m = collections.OrderedDict([]) - f8m = collections.OrderedDict([]) - f16m = collections.OrderedDict([]) - - global c_flash_map - c_flash_map = collections.OrderedDict([]) - - # flash(KB) spiffs(KB) confname(C) - - f1m.update( flash_map( 1024, 64, 'OTA_FS' )) - f1m.update( flash_map( 1024, 128 )) - f1m.update( flash_map( 1024, 144 )) - f1m.update( flash_map( 1024, 160 )) - f1m.update( flash_map( 1024, 192 )) - f1m.update( flash_map( 1024, 256 )) - f1m.update( flash_map( 1024, 512, 'MAX_FS' )) - f1m.update( flash_map( 1024, 0, 'NO_FS' )) - - f2m.update( flash_map( 2*1024, 64 )) - f2m.update( flash_map( 2*1024, 128 )) - f2m.update( flash_map( 2*1024, 256, 'OTA_FS' )) - f2m.update( flash_map( 2*1024, 512 )) - f2m.update( flash_map( 2*1024, 1024, 'MAX_FS' )) - f2m.update( flash_map( 2*1024, 0, 'NO_FS' )) - - f4m.update( flash_map( 4*1024, 2*1024, 'OTA_FS' )) - f4m.update( flash_map( 4*1024, 3*1024, 'MAX_FS' )) - f4m.update( flash_map( 4*1024, 1024 )) - f4m.update( flash_map( 4*1024, 0, 'NO_FS' )) - - f8m.update( flash_map( 8*1024, 6*1024, 'OTA_FS' )) - f8m.update( flash_map( 8*1024, 7*1024, 'MAX_FS' )) - f8m.update( flash_map( 8*1024, 0, 'NO_FS' )) - - f16m.update(flash_map( 16*1024, 14*1024, 'OTA_FS' )) - f16m.update(flash_map( 16*1024, 15*1024, 'MAX_FS' )) - f16m.update(flash_map( 16*1024, 0, 'NO_FS' )) - - f512.update(flash_map( 512, 32, 'OTA_FS' )) - f512.update(flash_map( 512, 64 )) - f512.update(flash_map( 512, 128, 'MAX_FS' )) - f512.update(flash_map( 512, 0, 'NO_FS' )) - - if ldgen: - print("generated: ldscripts (in %s)" % lddir) - - if ldshow: - if ldgen: - realstdout = sys.stdout - sys.stdout = open('cores/esp8266/FlashMap.h', 'w') - - define = '\n' - define += '// - do not edit - autogenerated by boards.txt.py\n' - define += '\n' - define += '#ifndef __FLASH_MAP_H\n' - define += '#define __FLASH_MAP_H\n' - define += '\n' - define += '#include \n' - define += '#include \n' - define += '\n' - define += 'typedef struct\n' - define += '{\n' - define += ' uint32_t eeprom_start;\n' - define += ' uint32_t fs_start;\n' - define += ' uint32_t fs_end;\n' - define += ' uint32_t fs_block_size;\n' - define += ' uint32_t fs_page_size;\n' - define += ' uint32_t flash_size_kb;\n' - define += '} flash_map_s;\n' - define += '\n' - define += '/*\n' - define += ' Following definitions map the above structure, one per line.\n' - define += ' FLASH_MAP_* is a user choice in sketch:\n' - define += ' `FLASH_MAP_SETUP_CONFIG(FLASH_MAP_OTA_FS)`\n' - define += ' Configuration is made at boot with detected flash chip size (last argument 512..16384)\n' - define += ' Other values are defined from `tools/boards.txt.py`.\n' - define += '*/\n' - for i in c_flash_map: - define += '\n#define FLASH_MAP_' + i + ' \\\n { \\\n' - for d in c_flash_map[i]: - define += ' { ' + c_flash_map[i][d] + '.flash_size_kb = ' + str(d) + ' }, \\\n' - define += ' }\n' - define += '\n#endif // __FLASH_MAP_H\n' - - print(define) - - if ldgen: - sys.stdout.close() - sys.stdout = realstdout - print("generated: flash map config file (in cores/esp8266/FlashMap.h)") - return { - 'autoflash': { - '.menu.eesz.autoflash': 'Mapping defined by Hardware and Sketch', - '.menu.eesz.autoflash.build.flash_size': '16M', - '.menu.eesz.autoflash.build.flash_ld': 'eagle.flash.auto.ld', - '.menu.eesz.autoflash.build.extra_flags': '-DFLASH_MAP_SUPPORT=1', - '.menu.eesz.autoflash.upload.maximum_size': '1044464', - }, - '512K': f512, - '1M': f1m, - '2M': f2m, - '4M': f4m, - '8M': f8m, - '16M': f16m +def flashmap_generate(output, flash_maps): + """ + >>> flashmap_generate(contextlib.nullcontext(), (flash_map(Megabytes(1), Kilobytes(512), 'TEST'), )) + // - DO NOT EDIT - autogenerated by boards.txt.py + + #pragma once + + #include + #include + + typedef struct + { + uint32_t eeprom_start; + uint32_t fs_start; + uint32_t fs_end; + uint32_t fs_block_size; + uint32_t fs_page_size; + uint32_t flash_size_kb; + } flash_map_s; + + /* + Following definitions map the above structure, one per line. + FLASH_MAP_* is a user choice in sketch: + `FLASH_MAP_SETUP_CONFIG(FLASH_MAP_OTA_FS)` + Configuration is made at boot with detected flash chip size (last argument 512..16384) + Other values are defined from `tools/boards.txt.py`. + */ + + #define FLASH_MAP_TEST \\ + { \\ + { .eeprom_start = 0x402fb000, .fs_start = 0x4027b000, .fs_end = 0x402fb000, .fs_block_size = 0x2000, .fs_page_size = 0x100, .flash_size_kb = 1024 }, \\ + } + + """ + + def as_address(value): + return f"0x{SPI_START + value:08x}" + + def as_hex(value): + return f"0x{value:x}" + + def as_dec(value): + return f"{value:d}" + + # note that the current header version *only* has the values + # previously PROVIDEd by the .ld script + # forward those names to the correct object values + def field_values(*, layout, eeprom, fs, **kwards): + values = { + "name": layout.name, + "eeprom_start": eeprom.start, + "flash_size_kb": int(layout.size / KILOBYTES), } -################################################################ -# builtin led - -def led (name, default, ledList): - led = collections.OrderedDict([ - ('.menu.led.' + str(default), str(default)), - ('.menu.led.' + str(default) + '.build.led', '-DLED_BUILTIN=' + str(default)), - ]) - for i in ledList: # Make range incluside of max (16), since there are really 16 GPIOS not 15 - if not i == default: - led.update( - collections.OrderedDict([ - ('.menu.led.' + str(i), str(i)), - ('.menu.led.' + str(i) + '.build.led', '-DLED_BUILTIN=' + str(i)), - ])) - return { name: led } - -################################################################ -# sdk selection + if fs: + values.update( + { + "fs_start": fs.start, + "fs_end": fs.end, + "fs_block_size": fs.block_size, + "fs_page_size": fs.page_size, + } + ) + else: + values.update( + { + "fs_start": eeprom.start, + "fs_end": eeprom.start, + "fs_block_size": 0, + "fs_page_size": 0, + } + ) + + return values + + fields = [ + ["eeprom_start", as_address], + ["fs_start", as_address], + ["fs_end", as_address], + ["fs_block_size", as_hex], + ["fs_page_size", as_hex], + ["flash_size_kb", as_dec], + ] + + with output: + print("// - DO NOT EDIT - autogenerated by boards.txt.py") + print() + print("#pragma once") + print() + print("#include ") + print("#include ") + print() + print("typedef struct") + print("{") + for field, _ in fields: + print(f" uint32_t {field};") + print("} flash_map_s;") + print() + print("/*") + print(" Following definitions map the above structure, one per line.") + print(" FLASH_MAP_* is a user choice in sketch:") + print(" `FLASH_MAP_SETUP_CONFIG(FLASH_MAP_OTA_FS)`") + print( + " Configuration is made at boot with detected flash chip size (last" + " argument 512..16384)" + ) + print(" Other values are defined from `tools/boards.txt.py`.") + print("*/") + print() + + ordered_maps = collections.OrderedDict([]) + for flash_map in flash_maps: + values = field_values(**flash_map) + if not values["name"]: + continue + + name = values["name"] + if not ordered_maps.get(name): + ordered_maps[name] = [] + + line = ", ".join( + f".{field} = {mod(values[field])}" if mod else values[field] + for field, mod in fields + ) + ordered_maps[name].append(f"{{ {line} }}, \\") + + for name, lines in ordered_maps.items(): + print(f"#define FLASH_MAP_{name.upper()} \\") + print(" { \\") + for line in lines: + print(f" {line}") + print(" }") + print() + + +def all_flash_maps(): + # flash_map(name=...) is optional. when it is set, + # we will generate a named FlashMap.h entry + return ( + flash_map(Megabytes(1), Kilobytes(64), "OTA_FS"), + flash_map(Megabytes(1), Kilobytes(128)), + flash_map(Megabytes(1), Kilobytes(144)), + flash_map(Megabytes(1), Kilobytes(160)), + flash_map(Megabytes(1), Kilobytes(192)), + flash_map(Megabytes(1), Kilobytes(256)), + flash_map(Megabytes(1), Kilobytes(512), "MAX_FS"), + flash_map(Megabytes(1), Kilobytes(0), "NO_FS"), + flash_map(Megabytes(2), Kilobytes(64)), + flash_map(Megabytes(2), Kilobytes(128)), + flash_map(Megabytes(2), Kilobytes(256), "OTA_FS"), + flash_map(Megabytes(2), Kilobytes(512)), + flash_map(Megabytes(2), Megabytes(1), "MAX_FS"), + flash_map(Megabytes(2), Kilobytes(0), "NO_FS"), + flash_map(Megabytes(4), Megabytes(2), "OTA_FS"), + flash_map(Megabytes(4), Megabytes(3), "MAX_FS"), + flash_map(Megabytes(4), Megabytes(1)), + flash_map(Megabytes(4), Kilobytes(0), "NO_FS"), + flash_map(Megabytes(8), Megabytes(6), "OTA_FS"), + flash_map(Megabytes(8), Megabytes(7), "MAX_FS"), + flash_map(Megabytes(8), Kilobytes(0), "NO_FS"), + flash_map(Megabytes(16), Megabytes(14), "OTA_FS"), + flash_map(Megabytes(16), Megabytes(15), "MAX_FS"), + flash_map(Megabytes(16), Kilobytes(0), "NO_FS"), + flash_map(Kilobytes(512), Kilobytes(32), "OTA_FS"), + flash_map(Kilobytes(512), Kilobytes(64)), + flash_map(Kilobytes(512), Kilobytes(128), "MAX_FS"), + flash_map(Kilobytes(512), Kilobytes(0), "NO_FS"), + ) -def sdk (): - return { 'sdk': collections.OrderedDict([ - ('.menu.sdk.nonosdk_190703', 'nonos-sdk 2.2.1+100 (190703)'), - ('.menu.sdk.nonosdk_190703.build.sdk', 'NONOSDK22x_190703'), - ('.menu.sdk.nonosdk_191122', 'nonos-sdk 2.2.1+119 (191122)'), - ('.menu.sdk.nonosdk_191122.build.sdk', 'NONOSDK22x_191122'), - ('.menu.sdk.nonosdk_191105', 'nonos-sdk 2.2.1+113 (191105)'), - ('.menu.sdk.nonosdk_191105.build.sdk', 'NONOSDK22x_191105'), - ('.menu.sdk.nonosdk_191024', 'nonos-sdk 2.2.1+111 (191024)'), - ('.menu.sdk.nonosdk_191024.build.sdk', 'NONOSDK22x_191024'), - ('.menu.sdk.nonosdk_190313', 'nonos-sdk 2.2.1+61 (190313)'), - ('.menu.sdk.nonosdk_190313.build.sdk', 'NONOSDK22x_190313'), - ('.menu.sdk.nonosdk221', 'nonos-sdk 2.2.1 (legacy)'), - ('.menu.sdk.nonosdk221.build.sdk', 'NONOSDK221'), - ('.menu.sdk.nonosdk3v0', 'nonos-sdk pre-3 (180626 known issues)'), - ('.menu.sdk.nonosdk3v0.build.sdk', 'NONOSDK3V0'), - ]) - } ################################################################ +# builtin led -def all_boards (): - if boardsgen or boardslocalgen: +def menu_led(name, pins, default): + menu = collections.OrderedDict( + ( + (f".menu.led.{default}", str(default)), + (f".menu.led.{default}.build.led", f"-DLED_BUILTIN={default}"), + ) + ) - checkdir() + for pin in pins: + if not pin == default: + menu.update( + ( + (f".menu.led.{pin}", str(pin)), + (f".menu.led.{pin}.build.led", f"-DLED_BUILTIN={pin}"), + ) + ) + return {name: menu} - if boardsgen: - # check if backup already exists - if not os.path.isfile("boards.txt.orig"): - os.rename("boards.txt", "boards.txt.orig") - realstdout = sys.stdout - sys.stdout = open("boards.txt", 'w') - else: - # make backup of boards.local.txt - if os.path.isfile("boards.local.txt"): - if not os.path.isfile("boards.local.txt.orig"): - os.rename("boards.local.txt", "boards.local.txt.orig") - - realstdout = sys.stdout - sys.stdout = open("boards.local.txt", 'w') - - macros.update(all_flash_map()) - macros.update(all_debug()) - macros.update(led('led', led_default, range(0,led_max+1))) - macros.update(led('led216', 2, { 16 })) - macros.update(sdk()) - - if boardfilteropt or excludeboards: - print('#') - print('# Do not create pull-requests with this abridged file!') - print('# Do as instructed further down.') - print('#') - - out = "" - for a in sys.argv: - out += " " + a - print('# Abridged boards.txt or boards.local.txt created by:' + out) - out = "" - for a in boardlist: - out += " " + a - print('# The following boards were included: ' + out) - print('#') - - - print('#') - print('# Do not create pull-requests for this file only, CI will not accept them.') - print('# You *must* edit/modify/run ' + os.path.basename(sys.argv[0]) + ' to regenerate boards.txt.') - print('# All modified files after running with option "--allgen" must be included in the pull-request.') - print('#') - print('') - # With Arduino IDE 1.8.7 the order of the menu items will be honored from the tools pull down list. - print('menu.BoardModel=Model') - print('menu.ESPModule=Module') - print('menu.UploadTool=Upload Tool') - print('menu.led=Builtin Led') - print('menu.baud=Upload Speed') - print('menu.xtal=CPU Frequency') - print('menu.CrystalFreq=Crystal Frequency') - print('menu.eesz=Flash Size') - print('menu.FlashMode=Flash Mode') - print('menu.FlashFreq=Flash Frequency') - print('menu.ResetMethod=Reset Method') - print('menu.dbg=Debug port') - print('menu.lvl=Debug Level') - print('menu.ip=lwIP Variant') - print('menu.vt=VTables') - print('menu.exception=C++ Exceptions') - print('menu.stacksmash=Stack Protection') - print('menu.wipe=Erase Flash') - print('menu.sdk=Espressif FW') - print('menu.ssl=SSL Support') - print('menu.mmu=MMU') - print('menu.non32xfer=Non-32-Bit Access') - print('') - - missingboards = [] - boardlistsortedbydisplayedname = [ k for k in sorted(boardlist, key = lambda item: boards[item]['name']) ] - sortedrequiredfirst = requiredboards + [ item for item in boardlistsortedbydisplayedname if item not in requiredboards ] - for id in sortedrequiredfirst: - if id not in boards: - missingboards += [ id ] - continue - - print('##############################################################') - board = boards[id] - print(id + '.name=' + board['name']) - - # standalone options - if 'opts' in board: - for optname in sorted(board['opts']): - print(id + optname + '=' + board['opts'][optname]) - - # macros - macrolist = [ 'defaults', 'cpufreq_menu', 'vtable_menu', 'exception_menu', 'stacksmash_menu', 'ssl_cipher_menu', 'mmu_menu', 'non32xfer_menu' ] - if 'macro' in board: - macrolist += board['macro'] - macrolist += [ 'lwip', 'debug_menu', 'flash_erase_menu' ] - - for cs in customspeeds: - print(id + cs) - - if 'serial' in board: - macrolist += speeds[board['serial']] - else: - macrolist += speeds[default_speed] +################################################################ +# sdk selection - macrolist += [ 'autoflash' ] - for block in macrolist: - for optname in macros[block]: - if not ('opts' in board) or not (optname in board['opts']): - print(id + optname + '=' + macros[block][optname]) +def menu_sdk_macros(): + return { + "sdk": collections.OrderedDict( + [ + (".menu.sdk.nonosdk_190703", "nonos-sdk 2.2.1+100 (190703)"), + (".menu.sdk.nonosdk_190703.build.sdk", "NONOSDK22x_190703"), + (".menu.sdk.nonosdk_191122", "nonos-sdk 2.2.1+119 (191122)"), + (".menu.sdk.nonosdk_191122.build.sdk", "NONOSDK22x_191122"), + (".menu.sdk.nonosdk_191105", "nonos-sdk 2.2.1+113 (191105)"), + (".menu.sdk.nonosdk_191105.build.sdk", "NONOSDK22x_191105"), + (".menu.sdk.nonosdk_191024", "nonos-sdk 2.2.1+111 (191024)"), + (".menu.sdk.nonosdk_191024.build.sdk", "NONOSDK22x_191024"), + (".menu.sdk.nonosdk_190313", "nonos-sdk 2.2.1+61 (190313)"), + (".menu.sdk.nonosdk_190313.build.sdk", "NONOSDK22x_190313"), + (".menu.sdk.nonosdk221", "nonos-sdk 2.2.1 (legacy)"), + (".menu.sdk.nonosdk221.build.sdk", "NONOSDK221"), + (".menu.sdk.nonosdk3v0", "nonos-sdk pre-3 (180626 known issues)"), + (".menu.sdk.nonosdk3v0.build.sdk", "NONOSDK3V0"), + ] + ) + } - if nofloat: - print(id + '.build.float=') - print('') +################################################################ - if boardsgen or boardslocalgen: - sys.stdout.close() - sys.stdout = realstdout - if missingboards: +def abridged_boards_txt(filtered, boards): + def handler(): + if filtered: + print( + "# The following boards were included: {}".format( + " ".join(boards.keys()) + ) + ) + + return handler + + +def custom_speeds_boards_txt(speeds): + def handler(name): + for speed in speeds: + print(f"{name}.menu.baud.{speed}={speed}") + print(f"{name}.menu.baud.{speed}.upload.speed={speed}") + + return handler + + +def no_float_boards_txt(disabled): + def handler(name): + if disabled: + print(f"{name}.build.float=") + + return handler + + +def prepare_macros(defaults, flashmap, builtinled): + macros = defaults + macros.update(menu_size_macros(flashmap)) + macros.update(menu_debug_macros()) + macros.update(menu_led("led", range(0, 17), builtinled)) + macros.update(menu_led("led216", (16,), 2)) + macros.update(menu_sdk_macros()) + + return macros + + +def boards_generate(output, boards, macros, extra_header=[], extra_board=[]): + with output: + prog, cmdline = os.path.basename(sys.argv[0]), sys.argv[1:] + print(f"# DO NOT EDIT - autogenerated by {prog}") + print(f'# Command line `{prog} {" ".join(cmdline)}`') + for func in extra_header: + func() + print() + + # With Arduino IDE 1.8.7 the order of the menu items will be honored from the tools pull down list. + print("menu.BoardModel=Model") + print("menu.ESPModule=Module") + print("menu.UploadTool=Upload Tool") + print("menu.led=Builtin Led") + print("menu.baud=Upload Speed") + print("menu.xtal=CPU Frequency") + print("menu.CrystalFreq=Crystal Frequency") + print("menu.eesz=Flash Size") + print("menu.FlashMode=Flash Mode") + print("menu.FlashFreq=Flash Frequency") + print("menu.ResetMethod=Reset Method") + print("menu.dbg=Debug port") + print("menu.lvl=Debug Level") + print("menu.ip=lwIP Variant") + print("menu.vt=VTables") + print("menu.exception=C++ Exceptions") + print("menu.stacksmash=Stack Protection") + print("menu.wipe=Erase Flash") + print("menu.sdk=Espressif FW") + print("menu.ssl=SSL Support") + print("menu.mmu=MMU") + print("menu.non32xfer=Non-32-Bit Access") + print() + + for name, board in boards.items(): + print("#" * 62) + print(f'{name}.name={board["name"]}') + + # standalone options + if "opts" in board: + for optname in sorted(board["opts"]): + print(f'{name}{optname}={board["opts"][optname]}') + + # macros + macrolist = [ + "defaults", + "cpufreq_menu", + "vtable_menu", + "exception_menu", + "stacksmash_menu", + "ssl_cipher_menu", + "mmu_menu", + "non32xfer_menu", + ] + if "macro" in board: + macrolist += board["macro"] + macrolist += ["lwip", "debug_menu", "flash_erase_menu"] + + macrolist += SERIAL_SPEEDS[board.get("serial", DEFAULT_SERIAL_SPEED)] + macrolist += ["autoflash"] + + for func in extra_board: + func(name) + + for block in macrolist: + for optname in macros[block]: + if not ("opts" in board) or not (optname in board["opts"]): + print(f"{name}{optname}={macros[block][optname]}") + + print() + + +def filtered_boards(boards, path, action=operator.sub): + filters = set() + + with open(path, "r", encoding="utf-8") as f: + for line in f: + if line.startswith("#"): + continue + board, _, desc = line.partition("#") + board = board.strip() + filters.add(board) + + filtered = action(set(boards.keys()), filters) + + print("Filtered boards list:") + print(" ".join(filtered)) + print() + + missing = [name for name in filtered if name not in boards.keys()] + if missing: print("No board definitions were found for the following boards:") - print(missingboards) + print(" ".join(missing)) print("") - if boardsgen: - print("generated: boards.txt") - else: - print("generated: boards.local.txt") + result = collections.OrderedDict() + for name, board in boards.items(): + if name in filtered: + result[name] = board -################################################################ + return result -def package (): - pkgfname = "package/package_esp8266com_index.template.json" - pkgfname_read = pkgfname +def prepare_boards(boards, required_boards): + boardslist = set(required_boards) | set(boards.keys()) + boardslist = boardslist - set(required_boards) + boardslist = required_boards + tuple( + sorted(boardslist, key=lambda x: boards[x]["name"]) + ) - checkdir() + out = collections.OrderedDict() + for name in boardslist: + out[name] = boards[name] - if packagegen: - pkgfname_read = pkgfname + '.orig' - if os.path.isfile(pkgfname_read): - os.remove(pkgfname_read) - os.rename(pkgfname, pkgfname_read) + return out - # read package file - with open (pkgfname_read, "r") as package_file: - filestr = package_file.read() - substitution = '"boards": [\n' - board_items = [' {\n "name": "%s"\n }' % boards[id]['name'] - for id in boards] - substitution += ',\n'.join(board_items) - substitution += '\n ],' +def show_names(boards): + print("# Available board names. Delete or comment out the boards you do not need:") + for name, board in boards.items(): + print(f'{name: <20s} # {board["name"]}') - newfilestr = re.sub(r'"boards":[^\]]*\],', substitution, filestr, re.MULTILINE) - - # To get consistent indent/formatting read the JSON and write it out programmatically - if packagegen: - with open(pkgfname, 'w') as package_file: - filejson = json.loads(newfilestr, object_pairs_hook=collections.OrderedDict) - package_file.write(json.dumps(filejson, indent=3, separators=(',',': '))) - print("updated: %s" % pkgfname) - else: - sys.stdout.write(newfilestr) ################################################################ +# boards .json -def doc (): - if docgen: +def package_generate(output, package_file, boards): + with open(package_file, "r", encoding="utf-8") as f: + contents = json.load(f) - checkdir() + contents["packages"][0]["platforms"][0]["boards"] = [ + {"name": board["name"]} for board in boards.values() + ] - # check if backup already exists - if not os.path.isfile("doc/boards.rst.orig"): - os.rename("doc/boards.rst", "doc/boards.rst.orig") + with output: + json.dump(contents, sys.stdout, indent=3, separators=(",", ": ")) - realstdout = sys.stdout - sys.stdout = open("doc/boards.rst", 'w') - print('Boards') - print('======') - print('') +################################################################ +# boards .rst, here's the only place to use "desc" field - for id in boards: - board = boards[id] - print(board['name']) - dash = "" - for i in range(len(board['name'])): - dash += '-' - print(dash) - print('') - if 'desc' in board: - for line in board['desc']: +def doc_generate(output, boards): + with output: + print("Boards") + print("=" * len("Boards")) + print() + + for board in boards.values(): + print(board["name"]) + print("-" * len(board["name"])) + print() + for line in board.get("desc", []): print(line) - else: - print('No description') - print('') + print() - if docgen: - sys.stdout.close() - sys.stdout = realstdout - print("generated: doc/boards.rst") ################################################################ +# command line parsing + +GENERATORS = ( + ("boards", "boards-file", "boards.txt", "boards.txt"), + ("ld", "ld-dir", "tools/sdk/ld", ".ld scripts"), + ("flashmap", "flashmap-file", "cores/esp8266/FlashMap.h", "FlashMap header"), + ( + "package", + "package-file", + "package/package_esp8266com_index.template.json", + "IDE package index template (.json)", + ), + ("doc", "doc-file", "doc/boards.rst", "Boards documentation (.rst)"), +) + + +def parse_cmdline(): + parser = argparse.ArgumentParser(description="File generator for esp8266/Arduino") + + generic = parser.add_argument_group(title="Generic options") + + generic.add_argument( + "--led", + type=int, + default=2, + help="default PIN for builtin LED, specified for generic boards (default %(default)d)", + ) + generic.add_argument( + "--no-float", + action="store_true", + help="disable float support in printf and scanf (enabled by default)", + ) + generic.add_argument( + "--custom-speed", + action="append", + default=[], + help="additional serial speed option for all boards. can be specified multiple times.", + ) + + filters = parser.add_argument_group( + title="Filtering", + description="either INCLUDE or EXCLUDE boards based on the filter file", + ).add_mutually_exclusive_group() + filters.add_argument("--include", nargs="?") + filters.add_argument("--exclude", nargs="?") + + subparsers = parser.add_subparsers(dest="command", help="sub-commands") + subparsers.required = True + + subparsers.add_parser("names", help="prints a list of all available board names") + subparsers.add_parser("test", help="run a doctest self-check") + + generate = subparsers.add_parser( + "generate", + help="generate file(s). pass --all to enable all or -- to enable specific generator.", + ) + + outputs = generate.add_argument_group( + title="Output destination", + description=( + "Either use STDOUT or write to the output file(s). Optionally, when output" + " file(s) already exist, preserve the original with .orig extension." + ), + ) + outputs.add_argument( + "--output", + choices=["stdout", "file", "file-with-backup"], + default="file", + help='(default "%(default)s")', + ) + + use_all = generate.add_argument_group(title="Use all available generators") + use_all.add_argument( + "--all", + dest="generators", + action="store_const", + const=[name for name, _, _, _ in GENERATORS], + ) + + for name, output, default, title in GENERATORS: + group = generate.add_argument_group(title=title) + group.add_argument( + f"--{name}", dest="generators", action="append_const", const=name + ) + group.add_argument( + f"--{output}", default=default, help='(default "%(default)s")' + ) + + return parser.parse_args() + + +def run_generators(boards, filter_path, args): + generators = set(name for name in args.generators or []) + if not generators: + raise ValueError("no generators selected") + + def maybe_output(file): + if args.output == "file-with-backup": + return OpenWithBackupFile(file) + if args.output == "file": + return Open(file) + + return contextlib.nullcontext() + + if "boards" in generators: + boards_generate( + maybe_output(args.boards_file), + boards, + macros=prepare_macros(MACROS, all_flash_maps(), args.led), + extra_header=[ + abridged_boards_txt(filter_path, boards), + ], + extra_board=[ + no_float_boards_txt(args.no_float), + custom_speeds_boards_txt(args.custom_speed), + ], + ) -def boardnames (): - print('# Available board names. Delete or comment out the boards you do not need:') - - for id in boards: - print('{: <20s} # {}'.format(id, boards[id]['name'])) + if "ld" in generators: + for flash_map in all_flash_maps(): + file = os.path.join(args.ld_dir, ldscript_name(**flash_map)) + ldscript_generate(maybe_output(file), **flash_map) - sys.exit(0) + if "flashmap" in generators: + flashmap_generate(maybe_output(args.flashmap_file), all_flash_maps()) -################################################################ -# help / usage - -def usage (name,ret): - print("") - print("boards.txt generator for esp8266/Arduino") - print("") - print("usage: %s [options]" % name) - print("") - print(" -h, --help") - print(" --led - preferred default builtin led for generic boards (default %d)" % led_default) - print(" --board - board to modify:") - print(" --filter - create a short boards.txt based on the boards listed in ") - print(" --xfilter - create a short boards.txt excluding the boards listed in ") - print(" (For --filter or --xfilter use only one)") - print(" --speed - change default serial speed") - print(" --customspeed - new serial speed for all boards") - print(" --nofloat - disable float support in printf/scanf") - print("") - print(" mandatory option (at least one):") - print("") - print(" --boards - show boards.txt") - print(" --boardsgen - replace boards.txt") - print(" --boardslocalgen - replace boards.local.txt instead of boards.txt") - print(" --boardnames - prints a list of board names, one per line") - print(" --ld - show ldscripts") - print(" --ldgen - replace ldscripts") - print(" --package - show package") - print(" --packagegen - replace board:[] in package") - print(" --doc - shows doc/boards.rst") - print(" --docgen - replace doc/boards.rst") - print(" --allgen - generate and replace everything") - print(" (useful for pushing on github)") - print("") - - out = "" - for s in speeds: - out += s + ' ' - print("available serial speed options (kbps):", out) - - out = "" - for b in boards: - out += b + '(' - if 'serial' in boards[b]: - out += boards[b]['serial'] - else: - out += default_speed - out += 'k) ' - print("available board names:", out) + if "package" in generators: + package_generate(maybe_output(args.package_file), args.package_file, boards) - print("") + if "doc" in generators: + doc_generate(maybe_output(args.doc_file), boards) - sys.exit(ret) ################################################################ -################################################################ -# entry point - -default_speed = '115' -led_default = 2 -led_max = 16 -nofloat = False -ldgen = False -ldshow = False -boardsgen = False -boardsshow = False - -boardlist = [] -boardfilterfile = "" -boardfilteropt = False -excludeboardlist = [] -excludeboards = False -boardslocalgen = False - -packageshow = False -packagegen = False -docshow = False -docgen = False -customspeeds = [] -lddir = "tools/sdk/ld/" - -#### vvvv cmdline parsing starts - -try: - opts, args = getopt.getopt(sys.argv[1:], "h", - [ "help", "led=", "speed=", "board=", "customspeed=", "nofloat", - "noextra4kheap", "allowWPS", - "boardslocalgen", "filter=", "xfilter=", "boardnames", - "ld", "ldgen", "boards", "boardsgen", "package", "packagegen", "doc", "docgen", - "allgen"] ) -except getopt.GetoptError as err: - print(str(err)) # will print something like "option -a not recognized" - usage(sys.argv[0], 1) - -no = '(not set)' -board = no - -for o, a in opts: - - if o in ("-h", "--help"): - usage(sys.argv[0], 0) - - elif o in ("--boardnames"): - boardnames() - - elif o in ("--led"): - led_default = int(a) - - elif o in ("--customspeed"): - customspeeds += [ - '.menu.baud.' + a + '=' + a, - '.menu.baud.' + a + '.upload.speed' + '=' + a ] - - elif o in ("--board"): - if not a in boards: - print("board %s not available" % a) - usage(sys.argv[0], 1) - board = a - - elif o in ("--filter"): - boardfilteropt = True - boardfilterfile = a - - elif o in ("--xfilter"): - excludeboards = True - boardfilterfile = a - - elif o in ("--speed"): - if board == no: - print("board not set") - usage(sys.argv[0], 1) - if not a in speeds: - print("speed %s not available" % a) - usage(sys.argv[0], 1) - boards[board]['serial'] = a - - elif o in ("--nofloat"): - nofloat=True - - elif o in ("--noextra4kheap", "--allowWPS"): - print('option ' + o + ' is now deprecated, without effect, and will be removed') - - elif o in ("--ld"): - ldshow = True - - elif o in ("--ldgen"): - ldshow = True - ldgen = True - - elif o in ("--boardsshow"): - boardsshow = True - - elif o in ("--boardsgen"): - boardsshow = True - boardsgen = True - - elif o in ("--boardslocalgen"): - boardsshow = True - boardslocalgen = True - - elif o in ("--package"): - packageshow = True - - elif o in ("--packagegen"): - packageshow = True - packagegen = True - - elif o in ("--doc"): - docshow = True - - elif o in ("--docgen"): - docshow = True - docgen = True - - elif o in ("--allgen"): - ldshow = True - ldgen = True - boardsshow = True - boardsgen = True - packageshow = True - packagegen = True - docshow = True - docgen = True +# entrypoint - else: - assert False, "unhandled option" -#### ^^^^ cmdline parsing ends +def main(): + args = parse_cmdline() -#### vvvv Filter file processing if we have one + if args.command == "test": + doctest.testmod() + return -if boardfilteropt and excludeboards: - print('Specify either --filter or --xfilter, not both.') - usage(sys.argv[0], 1) + boards = prepare_boards(BOARDS, REQUIRED_BOARDS) -if boardfilteropt or excludeboards: - if not os.path.isfile(boardfilterfile): - print('Filter file missing: ', boardfilterfile) - usage(sys.argv[0], 1) + filter_path = args.include or args.exclude + if filter_path: + action = operator.and_ if args.include else operator.sub + boards = filtered_boards(boards, filter_path, action) - f = open(boardfilterfile, 'r') - for line in f: - a = line.split('#', 1)[0].strip() - if a != '': - boardlist += [ a ] - f.close() + if args.command == "names": + show_names(boards) + return - if not boardslocalgen: - if boardfilteropt: - for name in requiredboards: - if name not in boardlist: - boardlist.append(name) - else: - # excludeboards: - for name in requiredboards: - if name in boardlist: - boardlist.remove(name) + if args.command == "generate": + run_generators(boards, filter_path, args) + return - if boardfilteropt: - print('Applying keep filter list:') - else: - print('Applying exclude filter list:') - - print(boardlist) - print('') - -#### ^^^^ Filter file processing finished - -did = False - -if ldshow: - all_flash_map() - did = True - -if boardsshow: - ldshow = False - ldgen = False - if not boardfilteropt: - if excludeboards: - excludeboardlist = boardlist - boardlist = [] - for b in boards: - if b not in excludeboardlist: - boardlist += [ b ] - all_boards() - did = True - -if packageshow: - package() - did = True - -if docshow: - doc() - did = True - -if not did: - usage(sys.argv[0], 0) + +if __name__ == "__main__": + main() diff --git a/tools/sdk/ld/eagle.flash.16m.ld b/tools/sdk/ld/eagle.flash.16m.ld new file mode 100644 index 0000000000..e5034e931c --- /dev/null +++ b/tools/sdk/ld/eagle.flash.16m.ld @@ -0,0 +1,26 @@ +/* Flash Split for 16MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~14MB) (15708160B) */ +/* eeprom @0x411FB000 (4096B) */ +/* rfcal @0x411FC000 (4096B) */ +/* wifi @0x411FD000 (12288B) */ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + irom0_0_seg : org = 0x40201010, len = 0xfeff0 +} + +PROVIDE ( _FS_start = 0x411FB000 ); +PROVIDE ( _FS_end = 0x411FB000 ); +PROVIDE ( _FS_page = 0x0 ); +PROVIDE ( _FS_block = 0x0 ); +PROVIDE ( _EEPROM_start = 0x411FB000 ); +/* The following symbols are DEPRECATED and will be REMOVED in a future release */ +PROVIDE ( _SPIFFS_start = 0x411FB000 ); +PROVIDE ( _SPIFFS_end = 0x411FB000 ); +PROVIDE ( _SPIFFS_page = 0x0 ); +PROVIDE ( _SPIFFS_block = 0x0 ); + +INCLUDE "local.eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.16m14m.ld b/tools/sdk/ld/eagle.flash.16m14m.ld index 13c1243fef..418e1701c9 100644 --- a/tools/sdk/ld/eagle.flash.16m14m.ld +++ b/tools/sdk/ld/eagle.flash.16m14m.ld @@ -1,10 +1,10 @@ -/* Flash Split for 16M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~1028KB) (1052688B) */ -/* spiffs @0x40400000 (~14312KB) (14655488B) */ -/* eeprom @0x411FB000 (4KB) */ -/* rfcal @0x411FC000 (4KB) */ -/* wifi @0x411FD000 (12KB) */ +/* Flash Split for 16MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~1MB) (1048576B) */ +/* fs @0x40400000 (~13MB) (14655488B) */ +/* eeprom @0x411FB000 (4096B) */ +/* rfcal @0x411FC000 (4096B) */ +/* wifi @0x411FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x40400000 ); PROVIDE ( _FS_end = 0x411FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x411fb000 ); +PROVIDE ( _EEPROM_start = 0x411FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40400000 ); PROVIDE ( _SPIFFS_end = 0x411FA000 ); diff --git a/tools/sdk/ld/eagle.flash.16m15m.ld b/tools/sdk/ld/eagle.flash.16m15m.ld index ad689f0e9f..d323da3946 100644 --- a/tools/sdk/ld/eagle.flash.16m15m.ld +++ b/tools/sdk/ld/eagle.flash.16m15m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 16M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~4KB) (4112B) */ -/* spiffs @0x40300000 (~15336KB) (15704064B) */ -/* eeprom @0x411FB000 (4KB) */ -/* rfcal @0x411FC000 (4KB) */ -/* wifi @0x411FD000 (12KB) */ +/* Flash Split for 16MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* fs @0x40300000 (~14MB) (15704064B) */ +/* eeprom @0x411FB000 (4096B) */ +/* rfcal @0x411FC000 (4096B) */ +/* wifi @0x411FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x40300000 ); PROVIDE ( _FS_end = 0x411FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x411fb000 ); +PROVIDE ( _EEPROM_start = 0x411FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40300000 ); PROVIDE ( _SPIFFS_end = 0x411FA000 ); diff --git a/tools/sdk/ld/eagle.flash.1m.ld b/tools/sdk/ld/eagle.flash.1m.ld index 65c4e06ac5..047cde341f 100644 --- a/tools/sdk/ld/eagle.flash.1m.ld +++ b/tools/sdk/ld/eagle.flash.1m.ld @@ -1,10 +1,8 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~999KB) (1023984B) */ -/* empty @0x402F9FF0 (~4KB) (4112B) */ -/* spiffs @0x402FB000 (~0KB) (0B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~999KB) (1023984B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +15,7 @@ PROVIDE ( _FS_start = 0x402FB000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x0 ); PROVIDE ( _FS_block = 0x0 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402FB000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m128.ld b/tools/sdk/ld/eagle.flash.1m128.ld index 26de470135..807be3413d 100644 --- a/tools/sdk/ld/eagle.flash.1m128.ld +++ b/tools/sdk/ld/eagle.flash.1m128.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~871KB) (892912B) */ -/* empty @0x402D9FF0 (~4KB) (4112B) */ -/* spiffs @0x402DB000 (~128KB) (131072B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~871KB) (892912B) */ +/* fs @0x402DB000 (~128KB) (131072B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402DB000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402DB000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m144.ld b/tools/sdk/ld/eagle.flash.1m144.ld index cb3df4da48..d98411848a 100644 --- a/tools/sdk/ld/eagle.flash.1m144.ld +++ b/tools/sdk/ld/eagle.flash.1m144.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~855KB) (876528B) */ -/* empty @0x402D5FF0 (~4KB) (4112B) */ -/* spiffs @0x402D7000 (~144KB) (147456B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~855KB) (876528B) */ +/* fs @0x402D7000 (~144KB) (147456B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402D7000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402D7000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m160.ld b/tools/sdk/ld/eagle.flash.1m160.ld index b4a26c4a78..ee1a90fd20 100644 --- a/tools/sdk/ld/eagle.flash.1m160.ld +++ b/tools/sdk/ld/eagle.flash.1m160.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~839KB) (860144B) */ -/* empty @0x402D1FF0 (~4KB) (4112B) */ -/* spiffs @0x402D3000 (~160KB) (163840B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~839KB) (860144B) */ +/* fs @0x402D3000 (~160KB) (163840B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402D3000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402D3000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m192.ld b/tools/sdk/ld/eagle.flash.1m192.ld index 0999e501da..168412c7b1 100644 --- a/tools/sdk/ld/eagle.flash.1m192.ld +++ b/tools/sdk/ld/eagle.flash.1m192.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~807KB) (827376B) */ -/* empty @0x402C9FF0 (~4KB) (4112B) */ -/* spiffs @0x402CB000 (~192KB) (196608B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~807KB) (827376B) */ +/* fs @0x402CB000 (~192KB) (196608B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402CB000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402CB000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m256.ld b/tools/sdk/ld/eagle.flash.1m256.ld index 1e07141235..584ec4b0d2 100644 --- a/tools/sdk/ld/eagle.flash.1m256.ld +++ b/tools/sdk/ld/eagle.flash.1m256.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~743KB) (761840B) */ -/* empty @0x402B9FF0 (~4KB) (4112B) */ -/* spiffs @0x402BB000 (~256KB) (262144B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~743KB) (761840B) */ +/* fs @0x402BB000 (~256KB) (262144B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402BB000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402BB000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m512.ld b/tools/sdk/ld/eagle.flash.1m512.ld index 1e3b42f1b3..f080bf83f4 100644 --- a/tools/sdk/ld/eagle.flash.1m512.ld +++ b/tools/sdk/ld/eagle.flash.1m512.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~487KB) (499696B) */ -/* empty @0x40279FF0 (~4KB) (4112B) */ -/* spiffs @0x4027B000 (~512KB) (524288B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~487KB) (499696B) */ +/* fs @0x4027B000 (~512KB) (524288B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x4027B000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x4027B000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.1m64.ld b/tools/sdk/ld/eagle.flash.1m64.ld index 9fa4bae54a..fd9dddbdb6 100644 --- a/tools/sdk/ld/eagle.flash.1m64.ld +++ b/tools/sdk/ld/eagle.flash.1m64.ld @@ -1,10 +1,9 @@ -/* Flash Split for 1M chips */ -/* sketch @0x40200000 (~935KB) (958448B) */ -/* empty @0x402E9FF0 (~4KB) (4112B) */ -/* spiffs @0x402EB000 (~64KB) (65536B) */ -/* eeprom @0x402FB000 (4KB) */ -/* rfcal @0x402FC000 (4KB) */ -/* wifi @0x402FD000 (12KB) */ +/* Flash Split for 1MB chips */ +/* sketch @0x40201010 (~935KB) (958448B) */ +/* fs @0x402EB000 (~64KB) (65536B) */ +/* eeprom @0x402FB000 (4096B) */ +/* rfcal @0x402FC000 (4096B) */ +/* wifi @0x402FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x402EB000 ); PROVIDE ( _FS_end = 0x402FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x402fb000 ); +PROVIDE ( _EEPROM_start = 0x402FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x402EB000 ); PROVIDE ( _SPIFFS_end = 0x402FB000 ); diff --git a/tools/sdk/ld/eagle.flash.2m.ld b/tools/sdk/ld/eagle.flash.2m.ld index 125f20278b..3a334d0c5a 100644 --- a/tools/sdk/ld/eagle.flash.2m.ld +++ b/tools/sdk/ld/eagle.flash.2m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~1008KB) (1032208B) */ -/* spiffs @0x403FB000 (~0KB) (0B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~1004KB) (1028096B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x403FB000 ); PROVIDE ( _FS_end = 0x403FB000 ); PROVIDE ( _FS_page = 0x0 ); PROVIDE ( _FS_block = 0x0 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x403FB000 ); PROVIDE ( _SPIFFS_end = 0x403FB000 ); diff --git a/tools/sdk/ld/eagle.flash.2m128.ld b/tools/sdk/ld/eagle.flash.2m128.ld index e15a7896f1..116ae19a70 100644 --- a/tools/sdk/ld/eagle.flash.2m128.ld +++ b/tools/sdk/ld/eagle.flash.2m128.ld @@ -1,10 +1,10 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~900KB) (921616B) */ -/* spiffs @0x403E0000 (~108KB) (110592B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~896KB) (917504B) */ +/* fs @0x403E0000 (~108KB) (110592B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x403E0000 ); PROVIDE ( _FS_end = 0x403FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x403E0000 ); PROVIDE ( _SPIFFS_end = 0x403FB000 ); diff --git a/tools/sdk/ld/eagle.flash.2m1m.ld b/tools/sdk/ld/eagle.flash.2m1m.ld index 1190e54d74..aec90267a1 100644 --- a/tools/sdk/ld/eagle.flash.2m1m.ld +++ b/tools/sdk/ld/eagle.flash.2m1m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~4KB) (4112B) */ -/* spiffs @0x40300000 (~1000KB) (1024000B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* fs @0x40300000 (~1000KB) (1024000B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x40300000 ); PROVIDE ( _FS_end = 0x403FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40300000 ); PROVIDE ( _SPIFFS_end = 0x403FA000 ); diff --git a/tools/sdk/ld/eagle.flash.2m256.ld b/tools/sdk/ld/eagle.flash.2m256.ld index 51259864e7..08b46c3d2a 100644 --- a/tools/sdk/ld/eagle.flash.2m256.ld +++ b/tools/sdk/ld/eagle.flash.2m256.ld @@ -1,10 +1,10 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~772KB) (790544B) */ -/* spiffs @0x403C0000 (~236KB) (241664B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~768KB) (786432B) */ +/* fs @0x403C0000 (~236KB) (241664B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x403C0000 ); PROVIDE ( _FS_end = 0x403FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x403C0000 ); PROVIDE ( _SPIFFS_end = 0x403FB000 ); diff --git a/tools/sdk/ld/eagle.flash.2m512.ld b/tools/sdk/ld/eagle.flash.2m512.ld index 1c495fca01..31b9efa494 100644 --- a/tools/sdk/ld/eagle.flash.2m512.ld +++ b/tools/sdk/ld/eagle.flash.2m512.ld @@ -1,10 +1,10 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~516KB) (528400B) */ -/* spiffs @0x40380000 (~488KB) (499712B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~512KB) (524288B) */ +/* fs @0x40380000 (~488KB) (499712B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x40380000 ); PROVIDE ( _FS_end = 0x403FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40380000 ); PROVIDE ( _SPIFFS_end = 0x403FA000 ); diff --git a/tools/sdk/ld/eagle.flash.2m64.ld b/tools/sdk/ld/eagle.flash.2m64.ld index 5d4fcddc8a..d9e4b9200f 100644 --- a/tools/sdk/ld/eagle.flash.2m64.ld +++ b/tools/sdk/ld/eagle.flash.2m64.ld @@ -1,10 +1,10 @@ -/* Flash Split for 2M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~964KB) (987152B) */ -/* spiffs @0x403F0000 (~44KB) (45056B) */ -/* eeprom @0x403FB000 (4KB) */ -/* rfcal @0x403FC000 (4KB) */ -/* wifi @0x403FD000 (12KB) */ +/* Flash Split for 2MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~960KB) (983040B) */ +/* fs @0x403F0000 (~44KB) (45056B) */ +/* eeprom @0x403FB000 (4096B) */ +/* rfcal @0x403FC000 (4096B) */ +/* wifi @0x403FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x403F0000 ); PROVIDE ( _FS_end = 0x403FB000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x403fb000 ); +PROVIDE ( _EEPROM_start = 0x403FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x403F0000 ); PROVIDE ( _SPIFFS_end = 0x403FB000 ); diff --git a/tools/sdk/ld/eagle.flash.4m.ld b/tools/sdk/ld/eagle.flash.4m.ld index 36e71f64a2..bcb2b199bb 100644 --- a/tools/sdk/ld/eagle.flash.4m.ld +++ b/tools/sdk/ld/eagle.flash.4m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 4M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~3056KB) (3129360B) */ -/* spiffs @0x405FB000 (~0KB) (0B) */ -/* eeprom @0x405FB000 (4KB) */ -/* rfcal @0x405FC000 (4KB) */ -/* wifi @0x405FD000 (12KB) */ +/* Flash Split for 4MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~3052KB) (3125248B) */ +/* eeprom @0x405FB000 (4096B) */ +/* rfcal @0x405FC000 (4096B) */ +/* wifi @0x405FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x405FB000 ); PROVIDE ( _FS_end = 0x405FB000 ); PROVIDE ( _FS_page = 0x0 ); PROVIDE ( _FS_block = 0x0 ); -PROVIDE ( _EEPROM_start = 0x405fb000 ); +PROVIDE ( _EEPROM_start = 0x405FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x405FB000 ); PROVIDE ( _SPIFFS_end = 0x405FB000 ); diff --git a/tools/sdk/ld/eagle.flash.4m1m.ld b/tools/sdk/ld/eagle.flash.4m1m.ld index 5b0c692e70..9b73528e27 100644 --- a/tools/sdk/ld/eagle.flash.4m1m.ld +++ b/tools/sdk/ld/eagle.flash.4m1m.ld @@ -1,10 +1,10 @@ -/* Flash Split for 4M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~2052KB) (2101264B) */ -/* spiffs @0x40500000 (~1000KB) (1024000B) */ -/* eeprom @0x405FB000 (4KB) */ -/* rfcal @0x405FC000 (4KB) */ -/* wifi @0x405FD000 (12KB) */ +/* Flash Split for 4MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~2MB) (2097152B) */ +/* fs @0x40500000 (~1000KB) (1024000B) */ +/* eeprom @0x405FB000 (4096B) */ +/* rfcal @0x405FC000 (4096B) */ +/* wifi @0x405FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x40500000 ); PROVIDE ( _FS_end = 0x405FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x405fb000 ); +PROVIDE ( _EEPROM_start = 0x405FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40500000 ); PROVIDE ( _SPIFFS_end = 0x405FA000 ); diff --git a/tools/sdk/ld/eagle.flash.4m2m.ld b/tools/sdk/ld/eagle.flash.4m2m.ld index 554237fb97..88c2f7ff6f 100644 --- a/tools/sdk/ld/eagle.flash.4m2m.ld +++ b/tools/sdk/ld/eagle.flash.4m2m.ld @@ -1,10 +1,10 @@ -/* Flash Split for 4M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~1028KB) (1052688B) */ -/* spiffs @0x40400000 (~2024KB) (2072576B) */ -/* eeprom @0x405FB000 (4KB) */ -/* rfcal @0x405FC000 (4KB) */ -/* wifi @0x405FD000 (12KB) */ +/* Flash Split for 4MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~1MB) (1048576B) */ +/* fs @0x40400000 (~2024KB) (2072576B) */ +/* eeprom @0x405FB000 (4096B) */ +/* rfcal @0x405FC000 (4096B) */ +/* wifi @0x405FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x40400000 ); PROVIDE ( _FS_end = 0x405FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x405fb000 ); +PROVIDE ( _EEPROM_start = 0x405FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40400000 ); PROVIDE ( _SPIFFS_end = 0x405FA000 ); diff --git a/tools/sdk/ld/eagle.flash.4m3m.ld b/tools/sdk/ld/eagle.flash.4m3m.ld index 47cf1f93e6..1db1c9171f 100644 --- a/tools/sdk/ld/eagle.flash.4m3m.ld +++ b/tools/sdk/ld/eagle.flash.4m3m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 4M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~4KB) (4112B) */ -/* spiffs @0x40300000 (~3048KB) (3121152B) */ -/* eeprom @0x405FB000 (4KB) */ -/* rfcal @0x405FC000 (4KB) */ -/* wifi @0x405FD000 (12KB) */ +/* Flash Split for 4MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* fs @0x40300000 (~3048KB) (3121152B) */ +/* eeprom @0x405FB000 (4096B) */ +/* rfcal @0x405FC000 (4096B) */ +/* wifi @0x405FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x40300000 ); PROVIDE ( _FS_end = 0x405FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x405fb000 ); +PROVIDE ( _EEPROM_start = 0x405FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40300000 ); PROVIDE ( _SPIFFS_end = 0x405FA000 ); diff --git a/tools/sdk/ld/eagle.flash.512k.ld b/tools/sdk/ld/eagle.flash.512k.ld index df8d6fd3dc..064b4b43bd 100644 --- a/tools/sdk/ld/eagle.flash.512k.ld +++ b/tools/sdk/ld/eagle.flash.512k.ld @@ -1,10 +1,8 @@ -/* Flash Split for 512K chips */ -/* sketch @0x40200000 (~487KB) (499696B) */ -/* empty @0x40279FF0 (~4KB) (4112B) */ -/* spiffs @0x4027B000 (~0KB) (0B) */ -/* eeprom @0x4027B000 (4KB) */ -/* rfcal @0x4027C000 (4KB) */ -/* wifi @0x4027D000 (12KB) */ +/* Flash Split for 512KB chips */ +/* sketch @0x40201010 (~487KB) (499696B) */ +/* eeprom @0x4027B000 (4096B) */ +/* rfcal @0x4027C000 (4096B) */ +/* wifi @0x4027D000 (12288B) */ MEMORY { @@ -17,7 +15,7 @@ PROVIDE ( _FS_start = 0x4027B000 ); PROVIDE ( _FS_end = 0x4027B000 ); PROVIDE ( _FS_page = 0x0 ); PROVIDE ( _FS_block = 0x0 ); -PROVIDE ( _EEPROM_start = 0x4027b000 ); +PROVIDE ( _EEPROM_start = 0x4027B000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x4027B000 ); PROVIDE ( _SPIFFS_end = 0x4027B000 ); diff --git a/tools/sdk/ld/eagle.flash.512k128.ld b/tools/sdk/ld/eagle.flash.512k128.ld index 86132a9cf6..a120e2e2b3 100644 --- a/tools/sdk/ld/eagle.flash.512k128.ld +++ b/tools/sdk/ld/eagle.flash.512k128.ld @@ -1,10 +1,9 @@ -/* Flash Split for 512K chips */ -/* sketch @0x40200000 (~359KB) (368624B) */ -/* empty @0x40259FF0 (~4KB) (4112B) */ -/* spiffs @0x4025B000 (~128KB) (131072B) */ -/* eeprom @0x4027B000 (4KB) */ -/* rfcal @0x4027C000 (4KB) */ -/* wifi @0x4027D000 (12KB) */ +/* Flash Split for 512KB chips */ +/* sketch @0x40201010 (~359KB) (368624B) */ +/* fs @0x4025B000 (~128KB) (131072B) */ +/* eeprom @0x4027B000 (4096B) */ +/* rfcal @0x4027C000 (4096B) */ +/* wifi @0x4027D000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x4025B000 ); PROVIDE ( _FS_end = 0x4027B000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x4027b000 ); +PROVIDE ( _EEPROM_start = 0x4027B000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x4025B000 ); PROVIDE ( _SPIFFS_end = 0x4027B000 ); diff --git a/tools/sdk/ld/eagle.flash.512k32.ld b/tools/sdk/ld/eagle.flash.512k32.ld index 12042444ac..920d8ea996 100644 --- a/tools/sdk/ld/eagle.flash.512k32.ld +++ b/tools/sdk/ld/eagle.flash.512k32.ld @@ -1,10 +1,9 @@ -/* Flash Split for 512K chips */ -/* sketch @0x40200000 (~455KB) (466928B) */ -/* empty @0x40271FF0 (~4KB) (4112B) */ -/* spiffs @0x40273000 (~32KB) (32768B) */ -/* eeprom @0x4027B000 (4KB) */ -/* rfcal @0x4027C000 (4KB) */ -/* wifi @0x4027D000 (12KB) */ +/* Flash Split for 512KB chips */ +/* sketch @0x40201010 (~455KB) (466928B) */ +/* fs @0x40273000 (~32KB) (32768B) */ +/* eeprom @0x4027B000 (4096B) */ +/* rfcal @0x4027C000 (4096B) */ +/* wifi @0x4027D000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x40273000 ); PROVIDE ( _FS_end = 0x4027B000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x4027b000 ); +PROVIDE ( _EEPROM_start = 0x4027B000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40273000 ); PROVIDE ( _SPIFFS_end = 0x4027B000 ); diff --git a/tools/sdk/ld/eagle.flash.512k64.ld b/tools/sdk/ld/eagle.flash.512k64.ld index 47a8b1fd1d..ef38360e19 100644 --- a/tools/sdk/ld/eagle.flash.512k64.ld +++ b/tools/sdk/ld/eagle.flash.512k64.ld @@ -1,10 +1,9 @@ -/* Flash Split for 512K chips */ -/* sketch @0x40200000 (~423KB) (434160B) */ -/* empty @0x40269FF0 (~4KB) (4112B) */ -/* spiffs @0x4026B000 (~64KB) (65536B) */ -/* eeprom @0x4027B000 (4KB) */ -/* rfcal @0x4027C000 (4KB) */ -/* wifi @0x4027D000 (12KB) */ +/* Flash Split for 512KB chips */ +/* sketch @0x40201010 (~423KB) (434160B) */ +/* fs @0x4026B000 (~64KB) (65536B) */ +/* eeprom @0x4027B000 (4096B) */ +/* rfcal @0x4027C000 (4096B) */ +/* wifi @0x4027D000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x4026B000 ); PROVIDE ( _FS_end = 0x4027B000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x1000 ); -PROVIDE ( _EEPROM_start = 0x4027b000 ); +PROVIDE ( _EEPROM_start = 0x4027B000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x4026B000 ); PROVIDE ( _SPIFFS_end = 0x4027B000 ); diff --git a/tools/sdk/ld/eagle.flash.8m.ld b/tools/sdk/ld/eagle.flash.8m.ld new file mode 100644 index 0000000000..1d95260855 --- /dev/null +++ b/tools/sdk/ld/eagle.flash.8m.ld @@ -0,0 +1,26 @@ +/* Flash Split for 8MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~7148KB) (7319552B) */ +/* eeprom @0x409FB000 (4096B) */ +/* rfcal @0x409FC000 (4096B) */ +/* wifi @0x409FD000 (12288B) */ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + irom0_0_seg : org = 0x40201010, len = 0xfeff0 +} + +PROVIDE ( _FS_start = 0x409FB000 ); +PROVIDE ( _FS_end = 0x409FB000 ); +PROVIDE ( _FS_page = 0x0 ); +PROVIDE ( _FS_block = 0x0 ); +PROVIDE ( _EEPROM_start = 0x409FB000 ); +/* The following symbols are DEPRECATED and will be REMOVED in a future release */ +PROVIDE ( _SPIFFS_start = 0x409FB000 ); +PROVIDE ( _SPIFFS_end = 0x409FB000 ); +PROVIDE ( _SPIFFS_page = 0x0 ); +PROVIDE ( _SPIFFS_block = 0x0 ); + +INCLUDE "local.eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.8m6m.ld b/tools/sdk/ld/eagle.flash.8m6m.ld index f3febe2085..3a51b696fa 100644 --- a/tools/sdk/ld/eagle.flash.8m6m.ld +++ b/tools/sdk/ld/eagle.flash.8m6m.ld @@ -1,10 +1,10 @@ -/* Flash Split for 8M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~1028KB) (1052688B) */ -/* spiffs @0x40400000 (~6120KB) (6266880B) */ -/* eeprom @0x409FB000 (4KB) */ -/* rfcal @0x409FC000 (4KB) */ -/* wifi @0x409FD000 (12KB) */ +/* Flash Split for 8MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* empty @0x40300000 (~1MB) (1048576B) */ +/* fs @0x40400000 (~6120KB) (6266880B) */ +/* eeprom @0x409FB000 (4096B) */ +/* rfcal @0x409FC000 (4096B) */ +/* wifi @0x409FD000 (12288B) */ MEMORY { @@ -17,7 +17,7 @@ PROVIDE ( _FS_start = 0x40400000 ); PROVIDE ( _FS_end = 0x409FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x409fb000 ); +PROVIDE ( _EEPROM_start = 0x409FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40400000 ); PROVIDE ( _SPIFFS_end = 0x409FA000 ); diff --git a/tools/sdk/ld/eagle.flash.8m7m.ld b/tools/sdk/ld/eagle.flash.8m7m.ld index ee4de71084..7d53616892 100644 --- a/tools/sdk/ld/eagle.flash.8m7m.ld +++ b/tools/sdk/ld/eagle.flash.8m7m.ld @@ -1,10 +1,9 @@ -/* Flash Split for 8M chips */ -/* sketch @0x40200000 (~1019KB) (1044464B) */ -/* empty @0x402FEFF0 (~4KB) (4112B) */ -/* spiffs @0x40300000 (~7144KB) (7315456B) */ -/* eeprom @0x409FB000 (4KB) */ -/* rfcal @0x409FC000 (4KB) */ -/* wifi @0x409FD000 (12KB) */ +/* Flash Split for 8MB chips */ +/* sketch @0x40201010 (~1019KB) (1044464B) */ +/* fs @0x40300000 (~7144KB) (7315456B) */ +/* eeprom @0x409FB000 (4096B) */ +/* rfcal @0x409FC000 (4096B) */ +/* wifi @0x409FD000 (12288B) */ MEMORY { @@ -17,7 +16,7 @@ PROVIDE ( _FS_start = 0x40300000 ); PROVIDE ( _FS_end = 0x409FA000 ); PROVIDE ( _FS_page = 0x100 ); PROVIDE ( _FS_block = 0x2000 ); -PROVIDE ( _EEPROM_start = 0x409fb000 ); +PROVIDE ( _EEPROM_start = 0x409FB000 ); /* The following symbols are DEPRECATED and will be REMOVED in a future release */ PROVIDE ( _SPIFFS_start = 0x40300000 ); PROVIDE ( _SPIFFS_end = 0x409FA000 );