From 28253c5bd3d6197cb262878fa40f97584df80305 Mon Sep 17 00:00:00 2001 From: david gauchard Date: Mon, 8 Jan 2018 15:06:01 +0100 Subject: [PATCH] boards.txt generator (#3722) + generates boards.rst + generate and replace boards section in package.json + generate ldscripts + new debug option: OOM + new led menu for generic board --- boards.txt | 312 +++-- cores/esp8266/Arduino.h | 6 + cores/esp8266/heap.c | 103 +- cores/esp8266/umm_malloc/umm_malloc_cfg.h | 63 +- platform.txt | 8 +- tools/boards.txt.py | 1382 +++++++++++++++++++++ tools/sdk/include/mem.h | 46 +- variants/generic/pins_arduino.h | 7 +- 8 files changed, 1772 insertions(+), 155 deletions(-) create mode 100755 tools/boards.txt.py diff --git a/boards.txt b/boards.txt index d1fe3bed4..6a2346281 100644 --- a/boards.txt +++ b/boards.txt @@ -175,6 +175,38 @@ generic.menu.FlashSize.16M15M.upload.maximum_size=1044464 generic.menu.FlashSize.16M15M.build.spiffs_start=0x100000 generic.menu.FlashSize.16M15M.build.spiffs_end=0xFFB000 generic.menu.FlashSize.16M15M.build.spiffs_blocksize=8192 +generic.menu.led.2=2 +generic.menu.led.2.build.led=-DUSERLED=2 +generic.menu.led.0=0 +generic.menu.led.0.build.led=-DUSERLED=0 +generic.menu.led.1=1 +generic.menu.led.1.build.led=-DUSERLED=1 +generic.menu.led.3=3 +generic.menu.led.3.build.led=-DUSERLED=3 +generic.menu.led.4=4 +generic.menu.led.4.build.led=-DUSERLED=4 +generic.menu.led.5=5 +generic.menu.led.5.build.led=-DUSERLED=5 +generic.menu.led.6=6 +generic.menu.led.6.build.led=-DUSERLED=6 +generic.menu.led.7=7 +generic.menu.led.7.build.led=-DUSERLED=7 +generic.menu.led.8=8 +generic.menu.led.8.build.led=-DUSERLED=8 +generic.menu.led.9=9 +generic.menu.led.9.build.led=-DUSERLED=9 +generic.menu.led.10=10 +generic.menu.led.10.build.led=-DUSERLED=10 +generic.menu.led.11=11 +generic.menu.led.11.build.led=-DUSERLED=11 +generic.menu.led.12=12 +generic.menu.led.12.build.led=-DUSERLED=12 +generic.menu.led.13=13 +generic.menu.led.13.build.led=-DUSERLED=13 +generic.menu.led.14=14 +generic.menu.led.14.build.led=-DUSERLED=14 +generic.menu.led.15=15 +generic.menu.led.15.build.led=-DUSERLED=15 generic.menu.LwIPVariant.v2mss536=v2 Prebuilt (MSS=536) generic.menu.LwIPVariant.v2mss536.build.lwip_include=lwip2/include generic.menu.LwIPVariant.v2mss536.build.lwip_lib=-llwip2 @@ -238,10 +270,12 @@ generic.menu.DebugLevel.UPDATER=UPDATER generic.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER generic.menu.DebugLevel.OTA=OTA generic.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -generic.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -generic.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -generic.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -generic.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +generic.menu.DebugLevel.OOM=OOM +generic.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +generic.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +generic.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +generic.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +generic.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" generic.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG generic.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG generic.menu.UploadSpeed.115200=115200 @@ -351,6 +385,38 @@ esp8285.menu.FlashSize.1M512.upload.maximum_size=499696 esp8285.menu.FlashSize.1M512.build.spiffs_start=0x7B000 esp8285.menu.FlashSize.1M512.build.spiffs_end=0xFB000 esp8285.menu.FlashSize.1M512.build.spiffs_blocksize=8192 +esp8285.menu.led.2=2 +esp8285.menu.led.2.build.led=-DUSERLED=2 +esp8285.menu.led.0=0 +esp8285.menu.led.0.build.led=-DUSERLED=0 +esp8285.menu.led.1=1 +esp8285.menu.led.1.build.led=-DUSERLED=1 +esp8285.menu.led.3=3 +esp8285.menu.led.3.build.led=-DUSERLED=3 +esp8285.menu.led.4=4 +esp8285.menu.led.4.build.led=-DUSERLED=4 +esp8285.menu.led.5=5 +esp8285.menu.led.5.build.led=-DUSERLED=5 +esp8285.menu.led.6=6 +esp8285.menu.led.6.build.led=-DUSERLED=6 +esp8285.menu.led.7=7 +esp8285.menu.led.7.build.led=-DUSERLED=7 +esp8285.menu.led.8=8 +esp8285.menu.led.8.build.led=-DUSERLED=8 +esp8285.menu.led.9=9 +esp8285.menu.led.9.build.led=-DUSERLED=9 +esp8285.menu.led.10=10 +esp8285.menu.led.10.build.led=-DUSERLED=10 +esp8285.menu.led.11=11 +esp8285.menu.led.11.build.led=-DUSERLED=11 +esp8285.menu.led.12=12 +esp8285.menu.led.12.build.led=-DUSERLED=12 +esp8285.menu.led.13=13 +esp8285.menu.led.13.build.led=-DUSERLED=13 +esp8285.menu.led.14=14 +esp8285.menu.led.14.build.led=-DUSERLED=14 +esp8285.menu.led.15=15 +esp8285.menu.led.15.build.led=-DUSERLED=15 esp8285.menu.LwIPVariant.v2mss536=v2 Prebuilt (MSS=536) esp8285.menu.LwIPVariant.v2mss536.build.lwip_include=lwip2/include esp8285.menu.LwIPVariant.v2mss536.build.lwip_lib=-llwip2 @@ -414,10 +480,12 @@ esp8285.menu.DebugLevel.UPDATER=UPDATER esp8285.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER esp8285.menu.DebugLevel.OTA=OTA esp8285.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -esp8285.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -esp8285.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -esp8285.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -esp8285.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +esp8285.menu.DebugLevel.OOM=OOM +esp8285.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +esp8285.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +esp8285.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +esp8285.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +esp8285.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" esp8285.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG esp8285.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp8285.menu.UploadSpeed.115200=115200 @@ -547,10 +615,12 @@ espduino.menu.DebugLevel.UPDATER=UPDATER espduino.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER espduino.menu.DebugLevel.OTA=OTA espduino.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -espduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -espduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +espduino.menu.DebugLevel.OOM=OOM +espduino.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espduino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espduino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" espduino.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG espduino.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espduino.menu.UploadSpeed.115200=115200 @@ -573,7 +643,7 @@ espduino.menu.UploadSpeed.921600=921600 espduino.menu.UploadSpeed.921600.upload.speed=921600 ############################################################## -huzzah.name=Adafruit HUZZAH ESP8266 +huzzah.name=Adafruit Feather HUZZAH ESP8266 huzzah.build.board=ESP8266_ESP12 huzzah.build.variant=adafruit huzzah.upload.tool=esptool @@ -672,10 +742,12 @@ huzzah.menu.DebugLevel.UPDATER=UPDATER huzzah.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER huzzah.menu.DebugLevel.OTA=OTA huzzah.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -huzzah.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -huzzah.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -huzzah.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -huzzah.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +huzzah.menu.DebugLevel.OOM=OOM +huzzah.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +huzzah.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +huzzah.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +huzzah.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +huzzah.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" huzzah.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG huzzah.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG huzzah.menu.UploadSpeed.115200=115200 @@ -800,10 +872,12 @@ espresso_lite_v1.menu.DebugLevel.UPDATER=UPDATER espresso_lite_v1.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER espresso_lite_v1.menu.DebugLevel.OTA=OTA espresso_lite_v1.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -espresso_lite_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espresso_lite_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -espresso_lite_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espresso_lite_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +espresso_lite_v1.menu.DebugLevel.OOM=OOM +espresso_lite_v1.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espresso_lite_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espresso_lite_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espresso_lite_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espresso_lite_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" espresso_lite_v1.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG espresso_lite_v1.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v1.menu.UploadSpeed.115200=115200 @@ -928,10 +1002,12 @@ espresso_lite_v2.menu.DebugLevel.UPDATER=UPDATER espresso_lite_v2.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER espresso_lite_v2.menu.DebugLevel.OTA=OTA espresso_lite_v2.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -espresso_lite_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espresso_lite_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -espresso_lite_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espresso_lite_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +espresso_lite_v2.menu.DebugLevel.OOM=OOM +espresso_lite_v2.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espresso_lite_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espresso_lite_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espresso_lite_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espresso_lite_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" espresso_lite_v2.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG espresso_lite_v2.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espresso_lite_v2.menu.UploadSpeed.115200=115200 @@ -1056,10 +1132,12 @@ phoenix_v1.menu.DebugLevel.UPDATER=UPDATER phoenix_v1.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER phoenix_v1.menu.DebugLevel.OTA=OTA phoenix_v1.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -phoenix_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -phoenix_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -phoenix_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -phoenix_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +phoenix_v1.menu.DebugLevel.OOM=OOM +phoenix_v1.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +phoenix_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +phoenix_v1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +phoenix_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +phoenix_v1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" phoenix_v1.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG phoenix_v1.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v1.menu.UploadSpeed.115200=115200 @@ -1184,10 +1262,12 @@ phoenix_v2.menu.DebugLevel.UPDATER=UPDATER phoenix_v2.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER phoenix_v2.menu.DebugLevel.OTA=OTA phoenix_v2.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -phoenix_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -phoenix_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -phoenix_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -phoenix_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +phoenix_v2.menu.DebugLevel.OOM=OOM +phoenix_v2.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +phoenix_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +phoenix_v2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +phoenix_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +phoenix_v2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" phoenix_v2.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG phoenix_v2.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG phoenix_v2.menu.UploadSpeed.115200=115200 @@ -1309,10 +1389,12 @@ nodemcu.menu.DebugLevel.UPDATER=UPDATER nodemcu.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER nodemcu.menu.DebugLevel.OTA=OTA nodemcu.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -nodemcu.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -nodemcu.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -nodemcu.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -nodemcu.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +nodemcu.menu.DebugLevel.OOM=OOM +nodemcu.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +nodemcu.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +nodemcu.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +nodemcu.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +nodemcu.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" nodemcu.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG nodemcu.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcu.menu.UploadSpeed.115200=115200 @@ -1434,10 +1516,12 @@ nodemcuv2.menu.DebugLevel.UPDATER=UPDATER nodemcuv2.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER nodemcuv2.menu.DebugLevel.OTA=OTA nodemcuv2.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -nodemcuv2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -nodemcuv2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -nodemcuv2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -nodemcuv2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +nodemcuv2.menu.DebugLevel.OOM=OOM +nodemcuv2.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +nodemcuv2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +nodemcuv2.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +nodemcuv2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +nodemcuv2.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" nodemcuv2.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG nodemcuv2.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG nodemcuv2.menu.UploadSpeed.115200=115200 @@ -1551,10 +1635,12 @@ modwifi.menu.DebugLevel.UPDATER=UPDATER modwifi.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER modwifi.menu.DebugLevel.OTA=OTA modwifi.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -modwifi.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -modwifi.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -modwifi.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -modwifi.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +modwifi.menu.DebugLevel.OOM=OOM +modwifi.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +modwifi.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +modwifi.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +modwifi.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +modwifi.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" modwifi.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG modwifi.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG modwifi.menu.UploadSpeed.115200=115200 @@ -1681,10 +1767,12 @@ thing.menu.DebugLevel.UPDATER=UPDATER thing.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER thing.menu.DebugLevel.OTA=OTA thing.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -thing.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -thing.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -thing.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -thing.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +thing.menu.DebugLevel.OOM=OOM +thing.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +thing.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +thing.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +thing.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +thing.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" thing.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG thing.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thing.menu.UploadSpeed.115200=115200 @@ -1811,10 +1899,12 @@ thingdev.menu.DebugLevel.UPDATER=UPDATER thingdev.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER thingdev.menu.DebugLevel.OTA=OTA thingdev.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -thingdev.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -thingdev.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -thingdev.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -thingdev.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +thingdev.menu.DebugLevel.OOM=OOM +thingdev.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +thingdev.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +thingdev.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +thingdev.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +thingdev.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" thingdev.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG thingdev.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG thingdev.menu.UploadSpeed.115200=115200 @@ -1936,10 +2026,12 @@ esp210.menu.DebugLevel.UPDATER=UPDATER esp210.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER esp210.menu.DebugLevel.OTA=OTA esp210.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -esp210.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -esp210.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -esp210.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -esp210.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +esp210.menu.DebugLevel.OOM=OOM +esp210.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +esp210.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +esp210.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +esp210.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +esp210.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" esp210.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG esp210.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG esp210.menu.UploadSpeed.57600=57600 @@ -2061,10 +2153,12 @@ d1_mini.menu.DebugLevel.UPDATER=UPDATER d1_mini.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER d1_mini.menu.DebugLevel.OTA=OTA d1_mini.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -d1_mini.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -d1_mini.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +d1_mini.menu.DebugLevel.OOM=OOM +d1_mini.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" d1_mini.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG d1_mini.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini.menu.UploadSpeed.921600=921600 @@ -2178,10 +2272,12 @@ d1_mini_pro.menu.DebugLevel.UPDATER=UPDATER d1_mini_pro.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER d1_mini_pro.menu.DebugLevel.OTA=OTA d1_mini_pro.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -d1_mini_pro.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini_pro.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -d1_mini_pro.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini_pro.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +d1_mini_pro.menu.DebugLevel.OOM=OOM +d1_mini_pro.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini_pro.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini_pro.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini_pro.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini_pro.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" d1_mini_pro.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG d1_mini_pro.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_pro.menu.UploadSpeed.921600=921600 @@ -2204,7 +2300,7 @@ d1_mini_pro.menu.UploadSpeed.512000.windows=512000 d1_mini_pro.menu.UploadSpeed.512000.upload.speed=512000 ############################################################## -d1_mini_lite.name=Wemos D1 mini Lite +d1_mini_lite.name=WeMos D1 mini Lite d1_mini_lite.build.board=ESP8266_WEMOS_D1MINILITE d1_mini_lite.build.variant=d1_mini d1_mini_lite.upload.tool=esptool @@ -2348,10 +2444,12 @@ d1_mini_lite.menu.DebugLevel.UPDATER=UPDATER d1_mini_lite.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER d1_mini_lite.menu.DebugLevel.OTA=OTA d1_mini_lite.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -d1_mini_lite.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini_lite.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -d1_mini_lite.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1_mini_lite.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +d1_mini_lite.menu.DebugLevel.OOM=OOM +d1_mini_lite.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini_lite.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini_lite.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1_mini_lite.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1_mini_lite.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" d1_mini_lite.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG d1_mini_lite.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1_mini_lite.menu.UploadSpeed.921600=921600 @@ -2473,10 +2571,12 @@ d1.menu.DebugLevel.UPDATER=UPDATER d1.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER d1.menu.DebugLevel.OTA=OTA d1.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -d1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -d1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -d1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +d1.menu.DebugLevel.OOM=OOM +d1.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +d1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +d1.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" d1.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG d1.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG d1.menu.UploadSpeed.921600=921600 @@ -2601,10 +2701,12 @@ espino.menu.DebugLevel.UPDATER=UPDATER espino.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER espino.menu.DebugLevel.OTA=OTA espino.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -espino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -espino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +espino.menu.DebugLevel.OOM=OOM +espino.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espino.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espino.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" espino.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG espino.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espino.menu.UploadSpeed.115200=115200 @@ -2726,10 +2828,12 @@ espinotee.menu.DebugLevel.UPDATER=UPDATER espinotee.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER espinotee.menu.DebugLevel.OTA=OTA espinotee.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -espinotee.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espinotee.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -espinotee.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -espinotee.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +espinotee.menu.DebugLevel.OOM=OOM +espinotee.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espinotee.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espinotee.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +espinotee.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +espinotee.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" espinotee.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG espinotee.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG espinotee.menu.UploadSpeed.115200=115200 @@ -2786,6 +2890,7 @@ wifinfo.menu.CpuFrequency.80=80 MHz wifinfo.menu.CpuFrequency.80.build.f_cpu=80000000L wifinfo.menu.CpuFrequency.160=160 MHz wifinfo.menu.CpuFrequency.160.build.f_cpu=160000000L +wifinfo.upload.resetmethod=nodemcu wifinfo.build.flash_mode=qio wifinfo.menu.FlashFreq.40=40MHz wifinfo.menu.FlashFreq.40.build.flash_freq=40 @@ -2915,10 +3020,12 @@ wifinfo.menu.DebugLevel.UPDATER=UPDATER wifinfo.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER wifinfo.menu.DebugLevel.OTA=OTA wifinfo.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -wifinfo.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -wifinfo.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -wifinfo.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -wifinfo.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +wifinfo.menu.DebugLevel.OOM=OOM +wifinfo.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +wifinfo.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wifinfo.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +wifinfo.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +wifinfo.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" wifinfo.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG wifinfo.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG wifinfo.menu.UploadSpeed.115200=115200 @@ -2970,6 +3077,7 @@ arduino-esp8266.menu.CpuFrequency.80=80 MHz arduino-esp8266.menu.CpuFrequency.80.build.f_cpu=80000000L arduino-esp8266.menu.CpuFrequency.160=160 MHz arduino-esp8266.menu.CpuFrequency.160.build.f_cpu=160000000L +arduino-esp8266.upload.resetmethod=ck arduino-esp8266.build.flash_mode=qio arduino-esp8266.build.flash_freq=40 arduino-esp8266.menu.FlashSize.4M1M=4M (1M SPIFFS) @@ -3051,10 +3159,12 @@ arduino-esp8266.menu.DebugLevel.UPDATER=UPDATER arduino-esp8266.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER arduino-esp8266.menu.DebugLevel.OTA=OTA arduino-esp8266.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -arduino-esp8266.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -arduino-esp8266.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -arduino-esp8266.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -arduino-esp8266.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +arduino-esp8266.menu.DebugLevel.OOM=OOM +arduino-esp8266.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +arduino-esp8266.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +arduino-esp8266.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +arduino-esp8266.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +arduino-esp8266.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" arduino-esp8266.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG arduino-esp8266.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG arduino-esp8266.menu.UploadSpeed.115200=115200 @@ -3095,6 +3205,7 @@ gen4iod.menu.CpuFrequency.80=80 MHz gen4iod.menu.CpuFrequency.80.build.f_cpu=80000000L gen4iod.menu.CpuFrequency.160=160 MHz gen4iod.menu.CpuFrequency.160.build.f_cpu=160000000L +gen4iod.upload.resetmethod=nodemcu gen4iod.build.flash_mode=qio gen4iod.build.flash_freq=80 gen4iod.menu.FlashSize.512K0=512K (no SPIFFS) @@ -3181,10 +3292,12 @@ gen4iod.menu.DebugLevel.UPDATER=UPDATER gen4iod.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER gen4iod.menu.DebugLevel.OTA=OTA gen4iod.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -gen4iod.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -gen4iod.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -gen4iod.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -gen4iod.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +gen4iod.menu.DebugLevel.OOM=OOM +gen4iod.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +gen4iod.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +gen4iod.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +gen4iod.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +gen4iod.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" gen4iod.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG gen4iod.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG gen4iod.menu.UploadSpeed.115200=115200 @@ -3225,6 +3338,7 @@ oak.menu.CpuFrequency.80=80 MHz oak.menu.CpuFrequency.80.build.f_cpu=80000000L oak.menu.CpuFrequency.160=160 MHz oak.menu.CpuFrequency.160.build.f_cpu=160000000L +oak.upload.resetmethod=ck oak.build.flash_mode=dio oak.build.flash_freq=40 oak.menu.FlashSize.4M1M=4M (1M SPIFFS) @@ -3306,10 +3420,12 @@ oak.menu.DebugLevel.UPDATER=UPDATER oak.menu.DebugLevel.UPDATER.build.debug_level= -DDEBUG_ESP_UPDATER oak.menu.DebugLevel.OTA=OTA oak.menu.DebugLevel.OTA.build.debug_level= -DDEBUG_ESP_OTA -oak.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -oak.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTA.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -oak.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA -oak.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTA.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 +oak.menu.DebugLevel.OOM=OOM +oak.menu.DebugLevel.OOM.build.debug_level= -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +oak.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM=CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +oak.menu.DebugLevel.COREWIFIHTTP_UPDATEUPDATEROTAOOM.build.debug_level= -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" +oak.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM=SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM +oak.menu.DebugLevel.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOM.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 -include "umm_malloc/umm_malloc_cfg.h" oak.menu.DebugLevel.NoAssert-NDEBUG=NoAssert-NDEBUG oak.menu.DebugLevel.NoAssert-NDEBUG.build.debug_level= -DNDEBUG oak.menu.UploadSpeed.921600=921600 diff --git a/cores/esp8266/Arduino.h b/cores/esp8266/Arduino.h index 66e2eeca5..b5621e42c 100644 --- a/cores/esp8266/Arduino.h +++ b/cores/esp8266/Arduino.h @@ -283,3 +283,9 @@ extern "C" void configTime(long timezone, int daylightOffset_sec, #include "pins_arduino.h" #endif + +#ifdef DEBUG_ESP_OOM +// reinclude *alloc redefinition because of undefining them +// this is mandatory for allowing OOM *alloc definitions in .ino files +#include "umm_malloc/umm_malloc_cfg.h" +#endif diff --git a/cores/esp8266/heap.c b/cores/esp8266/heap.c index 987ef23ac..49b6f1258 100644 --- a/cores/esp8266/heap.c +++ b/cores/esp8266/heap.c @@ -32,13 +32,6 @@ void* _calloc_r(struct _reent* unused, size_t count, size_t size) return calloc(count, size); } -void* ICACHE_RAM_ATTR pvPortMalloc(size_t size, const char* file, int line) -{ - (void) file; - (void) line; - return malloc(size); -} - void ICACHE_RAM_ATTR vPortFree(void *ptr, const char* file, int line) { (void) file; @@ -46,6 +39,100 @@ void ICACHE_RAM_ATTR vPortFree(void *ptr, const char* file, int line) free(ptr); } +#ifdef DEBUG_ESP_OOM + +void* ICACHE_RAM_ATTR pvPortMalloc(size_t size, const char* file, int line) +{ + return malloc_loc(size, file, line); +} + +void* ICACHE_RAM_ATTR pvPortCalloc(size_t count, size_t size, const char* file, int line) +{ + return calloc_loc(count, size, file, line); +} + +void* ICACHE_RAM_ATTR pvPortRealloc(void *ptr, size_t size, const char* file, int line) +{ + return realloc_loc(ptr, size, file, line); +} + +void* ICACHE_RAM_ATTR pvPortZalloc(size_t size, const char* file, int line) +{ + return calloc_loc(1, size, file, line); +} + +#undef malloc +#undef calloc +#undef realloc + +static const char oom_fmt[] ICACHE_RODATA_ATTR STORE_ATTR = ":oom(%d)@?\n"; +static const char oom_fmt_1[] ICACHE_RODATA_ATTR STORE_ATTR = ":oom(%d)@"; +static const char oom_fmt_2[] ICACHE_RODATA_ATTR STORE_ATTR = ":%d\n"; + +void* malloc (size_t s) +{ + void* ret = umm_malloc(s); + if (!ret) + os_printf(oom_fmt, (int)s); + return ret; +} + +void* calloc (size_t n, size_t s) +{ + void* ret = umm_calloc(n, s); + if (!ret) + os_printf(oom_fmt, (int)s); + return ret; +} + +void* realloc (void* p, size_t s) +{ + void* ret = umm_realloc(p, s); + if (!ret) + os_printf(oom_fmt, (int)s); + return ret; +} + +void print_loc (size_t s, const char* file, int line) +{ + os_printf(oom_fmt_1, (int)s); + os_printf(file); + os_printf(oom_fmt_2, line); +} + +void* malloc_loc (size_t s, const char* file, int line) +{ + void* ret = umm_malloc(s); + if (!ret) + print_loc(s, file, line); + return ret; +} + +void* calloc_loc (size_t n, size_t s, const char* file, int line) +{ + void* ret = umm_calloc(n, s); + if (!ret) + print_loc(s, file, line); + return ret; +} + +void* realloc_loc (void* p, size_t s, const char* file, int line) +{ + void* ret = umm_realloc(p, s); + if (!ret) + print_loc(s, file, line); + return ret; +} + +#else + +void* ICACHE_RAM_ATTR pvPortMalloc(size_t size, const char* file, int line) +{ + (void) file; + (void) line; + return malloc(size); +} + void* ICACHE_RAM_ATTR pvPortCalloc(size_t count, size_t size, const char* file, int line) { (void) file; @@ -67,6 +154,8 @@ void* ICACHE_RAM_ATTR pvPortZalloc(size_t size, const char* file, int line) return calloc(1, size); } +#endif // !defined(DEBUG_ESP_OOM) + size_t xPortGetFreeHeapSize(void) { return umm_free_heap_size(); diff --git a/cores/esp8266/umm_malloc/umm_malloc_cfg.h b/cores/esp8266/umm_malloc/umm_malloc_cfg.h index 42856f15c..916dd47aa 100644 --- a/cores/esp8266/umm_malloc/umm_malloc_cfg.h +++ b/cores/esp8266/umm_malloc/umm_malloc_cfg.h @@ -2,17 +2,25 @@ * Configuration for umm_malloc */ +// with DEBUG_ESP_OOM debug option activated, +// implying gcc option '-include this-file' +// this file is included in *every* source file +// *before* any other include file + +#ifndef __ASSEMBLER__ + #ifndef _UMM_MALLOC_CFG_H #define _UMM_MALLOC_CFG_H #include -//#ifdef __cplusplus -//extern "C" { -//#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + #include "c_types.h" -//#ifdef __cplusplus -//} -//#endif /* * There are a number of defines you can set at compile time that affect how * the memory allocator will operate. @@ -59,8 +67,34 @@ * ---------------------------------------------------------------------------- */ +///////////////////////////////////////////////// +#ifdef DEBUG_ESP_OOM + +#define MEMLEAK_DEBUG + +// umm_*alloc are not renamed to *alloc + +void *umm_malloc( size_t size ); +void *umm_calloc( size_t num, size_t size ); +void *umm_realloc( void *ptr, size_t size ); +#define umm_free free +#define umm_zalloc(s) umm_calloc(1,s) + +void* malloc_loc (size_t s, const char* file, int line); +void* calloc_loc (size_t n, size_t s, const char* file, int line); +void* realloc_loc (void* p, size_t s, const char* file, int line); + +// *alloc are macro calling *alloc_loc calling+checking umm_*alloc() +// they are defined at the bottom of this file + +///////////////////////////////////////////////// +#else // !defined(ESP_DEBUG_OOM) + + // umm_*alloc are renamed to *alloc #define UMM_REDEFINE_MEM_FUNCTIONS +#endif + #define UMM_BEST_FIT /* Start addresses and the size of the heap */ @@ -140,4 +174,21 @@ extern char _heap_start; #define UMM_POISONED_BLOCK_LEN_TYPE uint32_t #define UMM_HEAP_CORRUPTION_CB() panic() + +#ifdef __cplusplus +} +#endif + #endif /* _UMM_MALLOC_CFG_H */ + +#ifdef DEBUG_ESP_OOM +// this must be outside from "#ifndef _UMM_MALLOC_CFG_H" +// because Arduino.h's does #undef *alloc +// so Arduino.h recall us to redefine them +#define malloc(s) ({ static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; malloc_loc(s, mem_debug_file, __LINE__); }) +#define calloc(n,s) ({ static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; calloc_loc(n, s, mem_debug_file, __LINE__); }) +#define realloc(p,s) ({ static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; realloc_loc(p, s, mem_debug_file, __LINE__); }) + +#endif + +#endif /* !__ASSEMBLER__ */ diff --git a/platform.txt b/platform.txt index 65f1b03d0..7b4c74ba5 100644 --- a/platform.txt +++ b/platform.txt @@ -21,6 +21,8 @@ build.lwip_lib=-llwip_gcc build.lwip_include=lwip/include build.lwip_flags=-DLWIP_OPEN_SRC +build.led= + compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/ compiler.sdk.path={runtime.platform.path}/tools/sdk compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf @@ -72,13 +74,13 @@ recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo recipe.hooks.core.prebuild.1.pattern.windows= ## Compile c files -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile c++ files -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Compile S files -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" +recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" ## Create archives recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}" diff --git a/tools/boards.txt.py b/tools/boards.txt.py new file mode 100755 index 000000000..4cba46051 --- /dev/null +++ b/tools/boards.txt.py @@ -0,0 +1,1382 @@ +#!/usr/bin/env python + +# boards.txt python builder for esp8266/Arduino +# Copyright (C) 2017 community +# Permission is hereby granted, free of charge, to any person who buy it, +# use it, break it, fix it, trash it, change it, mail - upgrade it, charge +# it, point it, zoom it, press it, snap it, work it, quick - erase it, write +# it, cut it, paste it, save it, load it, check it, quick - rewrite it, plug +# it, play it, burn it, rip it, drag and drop it, zip - unzip it, lock it, +# fill it, call it, find it, view it, code it, jam - unlock it, surf it, +# scroll it, pause it, click it, cross it, crack it, switch - update it, +# name it, rate it, tune it, print it, scan it, send it, fax - rename it, +# touch it, bring it, pay it, watch it, turn it, leave it, start - format +# it. + +# diff ldscripts after regeneration: +# (cd tools/sdk/ld/backup/; for i in *; do diff -u $i ../$i|less; done) + +# board descriptor: +# name display name +# opts: specific entries dicts (overrides same entry in macros) +# macro: common entries +# unmodifiable parameters: +# resetmethod_ck/_nodemcu: fixed reset method +# flashmode_qio/_dio/_qout/_dout: fixed flash mode +# flashfreq_40/_80: fixed flash frequency +# selection menu: +# resetmethod_menu menus for reset method +# crystalfreq/flashfreq_menu: menus for crystal/flash frequency selection +# flashmode_menu: menus for flashmode selection (dio/dout/qio/qout) +# 512K/1M/2M/4M/8M/16M: menus for flash & SPIFFS size +# lwip/lwip2 menus for available lwip versions + +import os +import sys +import collections +import getopt +import re + +# 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([ + ( '9', [ 's9', 's57', 's115', 's230', 's256', 's460', 's512', 's921' ]), + ( '57', [ 's57', 's9', 's115', 's230', 's256', 's460', 's512', 's921' ]), + ( '115', [ 's115', 's9', 's57', 's230', 's256', 's460', 's512', 's921' ]), + ( '230', [ 's230', 's9', 's57', 's115', 's256', 's460', 's512', 's921' ]), + ( '256', [ 's256', 's9', 's57', 's115', 's230', 's460', 's512', 's921' ]), + ( '460', [ 's460', 's9', 's57', 's115', 's230', 's256', 's512', 's921' ]), + ( '512', [ 's512', 's9', 's57', 's115', 's230', 's256', 's460', 's921' ]), + ( '921', [ 's921', 's9', 's57', 's115', 's230', 's256', 's460', 's512' ]), + ]) + +# boards list + +boards = collections.OrderedDict([ + ( 'generic', { + 'name': 'Generic ESP8266 Module', + 'opts': { + '.build.board': 'ESP8266_GENERIC', + }, + 'macro': [ + 'resetmethod_menu', + 'crystalfreq_menu', + 'flashfreq_menu', + 'flashmode_menu', + '512K', '1M', '2M', '4M', '8M', '16M', + 'led', + ], + '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 bootstapping 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 bootstapping 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', + }, + 'macro': [ + 'resetmethod_menu', + 'crystalfreq_menu', + 'flashmode_dout', + 'flashfreq_40', + '1M', + 'led', + ], + '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.', + ], + }), + ( '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', 'nodemcu' ), + ( '.menu.ResetMethod.v1', 'ESPduino-V1' ), + ( '.menu.ResetMethod.v1.upload.resetmethod', 'ck' ), + ( '.menu.UploadTool.esptool', 'Serial' ), + ( '.menu.UploadTool.esptool.upload.tool', 'esptool' ), + ( '.menu.UploadTool.esptool.upload.verbose', '-vv' ), + ( '.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_ESP12', + '.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' + ], + }), + ( '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.', ] + }), + ( '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.', ] + }), + ( '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', ], + }), + ( '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', ], + }), + ( 'nodemcu', { + 'name': 'NodeMCU 0.9 (ESP-12 Module)', + 'opts': { + '.build.board': 'ESP8266_NODEMCU', + '.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.', + ], + }), + ( 'nodemcuv2', { + 'name': 'NodeMCU 1.0 (ESP-12E Module)', + 'opts': { + '.build.board': 'ESP8266_NODEMCU', + '.build.variant': 'nodemcu', + }, + 'macro': [ + 'resetmethod_nodemcu', + 'flashmode_dio', + 'flashfreq_40', + '4M', + ], + '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.', + '', + 'Full pinout and PDF schematics can be found `here `__', + ], + }), + ( 'modwifi', { + 'name': 'Olimex MOD-WIFI-ESP8266(-DEV)', + 'opts': { + '.build.board': 'MOD_WIFI_ESP8266', + }, + 'macro': [ + 'resetmethod_ck', + 'flashmode_qio', + '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', + }, + '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', + }, + 'macro': [ + 'resetmethod_nodemcu', + 'flashmode_dio', + 'flashfreq_40', + '512K', + ], + 'desc': [ 'Product page: https://www.sparkfun.com/products/13711' ], + }), + ( 'esp210', { + 'name': 'SweetPea ESP-210', + 'opts': { + '.build.board': 'ESP8266_ESP210', + }, + 'macro': [ + 'resetmethod_ck', + 'flashmode_qio', + 'flashfreq_40', + '4M', + ], + 'serial': '57', + 'desc': [ '*TODO*' ], + }), + ( 'd1_mini', { + 'name': '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/' ], + }), + ( 'd1_mini_pro', { + 'name': '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/' ], + }), + ( 'd1_mini_lite', { + 'name': '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': [ 'Product page: https://www.wemos.cc/' ], + }), + ( 'd1', { + 'name': 'WeMos D1 R1', + 'opts': { + '.build.board': 'ESP8266_WEMOS_D1MINI', + '.build.variant': 'd1', + }, + '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_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', + ], + }), + ( 'espinotee', { + 'name': 'ThaiEasyElec\'s ESPino', + 'opts': { + '.build.board': 'ESP8266_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)', + ], + }), + ( 'wifinfo', { + 'name': 'WifInfo', + 'opts': { + '.build.board': 'WIFINFO', + '.build.variant': 'wifinfo', + '.menu.ESPModule.ESP07192': 'ESP07 (1M/192K SPIFFS)', + '.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 SPIFFS)', + '.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': { + '.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 -DESP8266', + '.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 -DESP8266', + '.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 -DESP8266', + }, + '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', + }, + 'macro': [ + 'resetmethod_nodemcu', + 'flashmode_qio', + 'flashfreq_80', + '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: http://www.4dsystems.com.au/product/gen4-IoD', + ], + }), + ( 'oak', { + 'name': 'DigiStump Oak', + 'opts': { + '.build.board': 'ESP8266_OAK', + '.build.variant': 'oak', + '.upload.maximum_size': '1040368', + }, + 'macro': [ + 'resetmethod_ck', + 'flashmode_dio', + 'flashfreq_40', + '4M', + ], + 'serial': '921', + 'desc': [ 'The Oak requires an [adapter](#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.', + ], + }), + ]) + +################################################################ + +macros = { + 'defaults': collections.OrderedDict([ + ( '.upload.tool', 'esptool' ), + ( '.upload.maximum_data_size', '81920' ), + ( '.upload.wait_for_upload_port', 'true' ), + ( '.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.CpuFrequency.80', '80 MHz' ), + ( '.menu.CpuFrequency.80.build.f_cpu', '80000000L' ), + ( '.menu.CpuFrequency.160', '160 MHz' ), + ( '.menu.CpuFrequency.160.build.f_cpu', '160000000L' ), + ]), + + 'crystalfreq_menu': collections.OrderedDict([ + ( '.menu.CrystalFreq.26', '26 MHz' ), + ( '.menu.CrystalFreq.40', '40 MHz' ), + ( '.menu.CrystalFreq.40.build.extra_flags', '-DF_CRYSTAL=40000000 -DESP8266' ), + ]), + + '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' ), + ]), + + 'flashfreq_40': collections.OrderedDict([ + ( '.build.flash_freq', '40' ), + ]), + + 'flashfreq_80': collections.OrderedDict([ + ( '.build.flash_freq', '80' ), + ]), + + ####################### menu.resetmethod + + 'resetmethod_menu': collections.OrderedDict([ + ( '.menu.ResetMethod.ck', 'ck' ), + ( '.menu.ResetMethod.ck.upload.resetmethod', 'ck' ), + ( '.menu.ResetMethod.nodemcu', 'nodemcu' ), + ( '.menu.ResetMethod.nodemcu.upload.resetmethod', 'nodemcu' ), + ]), + + ####################### upload.resetmethod + + 'resetmethod_ck': collections.OrderedDict([ + ( '.upload.resetmethod', 'ck' ), + ]), + + 'resetmethod_nodemcu': collections.OrderedDict([ + ( '.upload.resetmethod', 'nodemcu' ), + ]), + + ####################### menu.FlashMode + + 'flashmode_menu': collections.OrderedDict([ + ( '.menu.FlashMode.qio', 'QIO' ), + ( '.menu.FlashMode.qio.build.flash_mode', 'qio' ), + ( '.menu.FlashMode.qout', 'QOUT' ), + ( '.menu.FlashMode.qout.build.flash_mode', 'qout' ), + ( '.menu.FlashMode.dio', 'DIO' ), + ( '.menu.FlashMode.dio.build.flash_mode', 'dio' ), + ( '.menu.FlashMode.dout', 'DOUT' ), + ( '.menu.FlashMode.dout.build.flash_mode', 'dout' ), + ]), + + ####################### default flash_mode + + 'flashmode_dio': collections.OrderedDict([ + ( '.build.flash_mode', 'dio' ), + ]), + + 'flashmode_qio': collections.OrderedDict([ + ( '.build.flash_mode', 'qio' ), + ]), + + 'flashmode_dout': collections.OrderedDict([ + ( '.build.flash_mode', 'dout' ), + ]), + + 'flashmode_qout': collections.OrderedDict([ + ( '.build.flash_mode', 'qout' ), + ]), + + ####################### lwip + + 'lwip2': collections.OrderedDict([ + ( '.menu.LwIPVariant.v2mss536', 'v2 Prebuilt (MSS=536)' ), + ( '.menu.LwIPVariant.v2mss536.build.lwip_include', 'lwip2/include' ), + ( '.menu.LwIPVariant.v2mss536.build.lwip_lib', '-llwip2' ), + ( '.menu.LwIPVariant.v2mss536.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536' ), + ( '.menu.LwIPVariant.v2mss1460', 'v2 Prebuilt (MSS=1460, unstable)' ), + ( '.menu.LwIPVariant.v2mss1460.build.lwip_include', 'lwip2/include' ), + ( '.menu.LwIPVariant.v2mss1460.build.lwip_lib', '-llwip2_1460' ), + ( '.menu.LwIPVariant.v2mss1460.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460' ), + ]), + + 'lwip': collections.OrderedDict([ + ( '.menu.LwIPVariant.Prebuilt', 'v1.4 Prebuilt' ), + ( '.menu.LwIPVariant.Prebuilt.build.lwip_lib', '-llwip_gcc' ), + ( '.menu.LwIPVariant.Prebuilt.build.lwip_flags', '-DLWIP_OPEN_SRC' ), + #( '.menu.LwIPVariant.Espressif', 'v1.4 Espressif (xcc)' ), + #( '.menu.LwIPVariant.Espressif.build.lwip_lib', '-llwip' ), + #( '.menu.LwIPVariant.Espressif.build.lwip_flags', '-DLWIP_MAYBE_XCC' ), + ( '.menu.LwIPVariant.OpenSource', 'v1.4 Open Source' ), + ( '.menu.LwIPVariant.OpenSource.build.lwip_lib', '-llwip_src' ), + ( '.menu.LwIPVariant.OpenSource.build.lwip_flags', '-DLWIP_OPEN_SRC' ), + ( '.menu.LwIPVariant.OpenSource.recipe.hooks.sketch.prebuild.1.pattern', 'make -C "{runtime.platform.path}/tools/sdk/lwip/src" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-"' ), + ]), + + ####################### serial + + 's9': collections.OrderedDict([ + ( '.menu.UploadSpeed.9600', '9600' ), + ( '.menu.UploadSpeed.9600.upload.speed', '9600' ), + ]), + 's57': collections.OrderedDict([ + ( '.menu.UploadSpeed.57600', '57600' ), + ( '.menu.UploadSpeed.57600.upload.speed', '57600' ), + ]), + 's115': collections.OrderedDict([ + ( '.menu.UploadSpeed.115200', '115200' ), + ( '.menu.UploadSpeed.115200.upload.speed', '115200' ), + ]), + 's256': collections.OrderedDict([ + ( '.menu.UploadSpeed.256000.windows', '256000' ), + ( '.menu.UploadSpeed.256000.upload.speed', '256000' ), + ]), + 's230': collections.OrderedDict([ + ( '.menu.UploadSpeed.230400.linux', '230400' ), + ( '.menu.UploadSpeed.230400.macosx', '230400' ), + ( '.menu.UploadSpeed.230400.upload.speed', '230400' ), + ]), + 's460': collections.OrderedDict([ + ( '.menu.UploadSpeed.460800.linux', '460800' ), + ( '.menu.UploadSpeed.460800.macosx', '460800' ), + ( '.menu.UploadSpeed.460800.upload.speed', '460800' ), + ]), + 's512': collections.OrderedDict([ + ( '.menu.UploadSpeed.512000.windows', '512000' ), + ( '.menu.UploadSpeed.512000.upload.speed', '512000' ), + ]), + 's921': collections.OrderedDict([ + ( '.menu.UploadSpeed.921600', '921600' ), + ( '.menu.UploadSpeed.921600.upload.speed', '921600' ), + ]), + + } + +################################################################ +# defs + +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): + all = [] + for i in range(0, len(lst)): + all += [ [ lst[i] ] ] + all += [ lst ] + return all + +def all_debug (): + listcomb = [ 'SSL', 'TLS_MEM', 'HTTP_CLIENT', 'HTTP_SERVER' ] + listnocomb = [ 'CORE', 'WIFI', 'HTTP_UPDATE', 'UPDATER', 'OTA' ] + listsingle = [ 'NoAssert-NDEBUG' ] + if not premerge: + listnocomb += [ 'OOM -include "umm_malloc/umm_malloc_cfg.h"' ] + options = combn(listcomb) + options += comb1(listnocomb) + options += [ listcomb + listnocomb ] + options += [ listsingle ] + debugmenu = collections.OrderedDict([ + ( '.menu.Debug.Disabled', 'Disabled' ), + ( '.menu.Debug.Disabled.build.debug_port', '' ), + ( '.menu.Debug.Serial', 'Serial' ), + ( '.menu.Debug.Serial.build.debug_port', '-DDEBUG_ESP_PORT=Serial' ), + ( '.menu.Debug.Serial1', 'Serial1' ), + ( '.menu.Debug.Serial1.build.debug_port', '-DDEBUG_ESP_PORT=Serial1' ), + ( '.menu.DebugLevel.None____', 'None' ), + ( '.menu.DebugLevel.None____.build.debug_level', '' ), + ]) + + 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.DebugLevel.' + debugname, debugmenuname ), + ( '.menu.DebugLevel.' + debugname + '.build.debug_level', debugdefs ) + ])) + return { 'debug_menu': debugmenu } + +################################################################ +# flash size + +def flash_size (display, optname, ld, desc, max_upload_size, spiffs_start = 0, spiffs_size = 0, spiffs_blocksize = 0): + menu = '.menu.FlashSize.' + optname + menub = menu + '.build.' + d = collections.OrderedDict([ + ( menu, display + ' (' + desc + ')' ), + ( menub + 'flash_size', display ), + ( menub + 'flash_ld', ld ), + ( menub + 'spiffs_pagesize', '256' ), + ( menu + '.upload.maximum_size', "%i" % max_upload_size ), + ]) + if spiffs_start > 0: + d.update(collections.OrderedDict([ + ( menub + 'spiffs_start', "0x%05X" % spiffs_start ), + ( menub + 'spiffs_end', "0x%05X" % (spiffs_start + spiffs_size) ), + ( menub + 'spiffs_blocksize', "%i" % spiffs_blocksize ), + ])) + + if ldshow: + if ldgen: + + checkdir() + + lddir = "tools/sdk/ld/" + ldbackupdir = lddir + "backup/" + if not os.path.isdir(ldbackupdir): + os.mkdir(ldbackupdir) + if not os.path.isfile(ldbackupdir + ld): + os.rename(lddir + ld, ldbackupdir + ld) + realstdout = sys.stdout + sys.stdout = open(lddir + ld, 'w') + + if spiffs_size == 0: + page = 0 + block = 0 + elif spiffs_size < 0x80000: + page = 0x100 + block = 0x1000 + else: + page = 0x100 + block = 0x2000 + print "/* file %s */" % ld + print "/* Flash Split for %s chips */" % optname + print "MEMORY" + print "{" + print " dport0_0_seg : org = 0x3FF00000, len = 0x10" + print " dram0_0_seg : org = 0x3FFE8000, len = 0x14000" + print " iram1_0_seg : org = 0x40100000, len = 0x8000" + print " irom0_0_seg : org = 0x40201010, len = 0x%x" % max_upload_size + print "}" + print "PROVIDE ( _SPIFFS_start = 0x%08X );" % (0x40200000 + spiffs_start) + print "PROVIDE ( _SPIFFS_end = 0x%08X );" % (0x40200000 + spiffs_start + spiffs_size) + print "PROVIDE ( _SPIFFS_page = 0x%X );" % page + print "PROVIDE ( _SPIFFS_block = 0x%X );" % block + print "" + print 'INCLUDE "../ld/eagle.app.v6.common.ld"' + + if ldgen: + sys.stdout.close() + sys.stdout = realstdout + + return d + +def all_flash_size (): + f512 = flash_size('512K', '512K0', 'eagle.flash.512k0.ld', 'no SPIFFS', 499696) + f512.update(flash_size('512K', '512K64', 'eagle.flash.512k64.ld', '64K SPIFFS', 434160, 0x6B000, 0x10000, 4096)) + f512.update(flash_size('512K', '512K128', 'eagle.flash.512k128.ld', '128K SPIFFS', 368624, 0x5B000, 0x20000, 4096)) + f1m = flash_size( '1M', '1M0', 'eagle.flash.1m0.ld', 'no SPIFFS', 1023984) + f1m.update( flash_size( '1M', '1M64', 'eagle.flash.1m64.ld', '64K SPIFFS', 958448, 0xEB000, 0x10000, 4096)) + f1m.update( flash_size( '1M', '1M128', 'eagle.flash.1m128.ld', '128K SPIFFS', 892912, 0xDB000, 0x20000, 4096)) + f1m.update( flash_size( '1M', '1M144', 'eagle.flash.1m144.ld', '144K SPIFFS', 876528, 0xD7000, 0x24000, 4096)) + f1m.update( flash_size( '1M', '1M160', 'eagle.flash.1m160.ld', '160K SPIFFS', 860144, 0xD3000, 0x28000, 4096)) + f1m.update( flash_size( '1M', '1M192', 'eagle.flash.1m192.ld', '192K SPIFFS', 827376, 0xCB000, 0x30000, 4096)) + f1m.update( flash_size( '1M', '1M256', 'eagle.flash.1m256.ld', '256K SPIFFS', 761840, 0xBB000, 0x40000, 4096)) + f1m.update( flash_size( '1M', '1M512', 'eagle.flash.1m512.ld', '512K SPIFFS', 499696, 0x7B000, 0x80000, 8192)) + f2m = flash_size( '2M', '2M', 'eagle.flash.2m.ld', '1M SPIFFS', 1044464, 0x100000, 0xFB000, 8192) + f4m = flash_size( '4M', '4M1M', 'eagle.flash.4m1m.ld', '1M SPIFFS', 1044464, 0x300000, 0xFB000, 8192) + f4m.update( flash_size( '4M', '4M3M', 'eagle.flash.4m.ld', '3M SPIFFS', 1044464, 0x100000, 0x2FB000, 8192)) + f8m = flash_size( '8M', '8M7M', 'eagle.flash.8m.ld', '7M SPIFFS', 1044464, 0x100000, 0x6FB000, 8192) + f16m = flash_size( '16M', '16M15M', 'eagle.flash.16m.ld', '15M SPIFFS', 1044464, 0x100000, 0xEFB000, 8192) + return { + '512K': f512, + '1M': f1m, + '2M': f2m, + '4M': f4m, + '8M': f8m, + '16M': f16m + } + +################################################################ +# builtin led + +def led (default,max): + led = collections.OrderedDict([ + ('.menu.led.' + str(default), str(default)), + ('.menu.led.' + str(default) + '.build.led', '-DUSERLED=' + str(default)), + ]); + for i in range(0,max): + if not i == default: + led.update( + collections.OrderedDict([ + ('.menu.led.' + str(i), str(i)), + ('.menu.led.' + str(i) + '.build.led', '-DUSERLED=' + str(i)), + ])) + return { 'led': led } + +################################################################ + +def all_boards (): + + if boardsgen: + + checkdir() + + # 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') + + macros.update(all_flash_size()) + macros.update(all_debug()) + if premerge: + macros.update({ 'led': { } }) + else: + macros.update(led(led_default, led_max)) + + print '#' + print '# this file is script-generated and is likely to be overwritten by ' + sys.argv[0] + print '#' + print '' + print 'menu.BoardModel=Model' + print 'menu.UploadSpeed=Upload Speed' + print 'menu.CpuFrequency=CPU Frequency' + print 'menu.CrystalFreq=Crystal Frequency' + print 'menu.FlashSize=Flash Size' + print 'menu.FlashMode=Flash Mode' + print 'menu.FlashFreq=Flash Frequency' + print 'menu.ResetMethod=Reset Method' + print 'menu.ESPModule=Module' + print 'menu.Debug=Debug port' + print 'menu.DebugLevel=Debug Level' + print 'menu.LwIPVariant=lwIP Variant' + print 'menu.led=Builtin Led' + print '' + + for id in boards: + print '##############################################################' + board = boards[id] + print id + '.name=' + board['name'] + + # standalone options + if 'opts' in board: + for optname in board['opts']: + print id + optname + '=' + board['opts'][optname] + + # macros + macrolist = [ 'defaults', 'cpufreq_menu', ] + if 'macro' in board: + macrolist += board['macro'] + if lwip == 2: + macrolist += [ 'lwip2', 'lwip' ] + else: + macrolist += [ 'lwip', 'lwip2' ] + macrolist += [ 'debug_menu', ] + + for cs in customspeeds: + print id + cs + + if 'serial' in board: + macrolist += speeds[board['serial']] + else: + macrolist += speeds[default_speed] + + 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] + + print '' + + if boardsgen: + sys.stdout.close() + sys.stdout = realstdout + +################################################################ + +def package (): + + pkgfname = "package/package_esp8266com_index.template.json" + pkgfname_read = pkgfname + + checkdir() + + if packagegen: + pkgfname_read = pkgfname + '.orig' + # check if backup already exists + if not os.path.isfile(pkgfname_read): + os.rename(pkgfname, pkgfname_read) + + # read package file + with open (pkgfname_read, "r") as package_file: + filestr = package_file.read() + + substitution = '"boards": [\n' + for id in boards: + substitution += ' {\n "name": "' + boards[id]['name'] + '"\n },\n' + substitution += ' ],' + + newfilestr = re.sub(r'"boards":[^\]]*\],', substitution, filestr, re.MULTILINE) + + if packagegen: + realstdout = sys.stdout + sys.stdout = open(pkgfname, 'w') + + print newfilestr + + if packagegen: + sys.stdout.close() + sys.stdout = realstdout + +################################################################ + +def doc (): + + if docgen: + + checkdir() + + # check if backup already exists + if not os.path.isfile("doc/boards.rst.orig"): + os.rename("doc/boards.rst", "doc/boards.rst.orig") + + realstdout = sys.stdout + sys.stdout = open("doc/boards.rst", 'w') + + print 'Boards' + print '======' + print '' + + 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']: + print line + else: + print 'No description' + print '' + + if docgen: + sys.stdout.close() + sys.stdout = realstdout + +################################################################ +# 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 " --lwip - preferred default lwIP version (default %d)" % lwip + print " --led - preferred default builtin led for generic boards (default %d)" % led_default + print " --board b - board to modify:" + print " --speed s - change default serial speed" + print " --premerge - no OOM debug option, no led menu" + print " --customspeed s - new serial speed for all boards" + print "" + print " mandatory option (at least one):" + print "" + print " --boards - show boards.txt" + print " --boardsgen - replace boards.txt" + 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 "" + + 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 + + print "" + + sys.exit(ret) + +################################################################ +################################################################ +# entry point + +lwip = 2 +default_speed = '115' +led_default = 2 +led_max = 16 +premerge = False +ldgen = False +ldshow = False +boardsgen = False +boardsshow = False +packageshow = False +packagegen = False +docshow = False +docgen = False +customspeeds = [] + +#### vvvv cmdline parsing starts + +try: + opts, args = getopt.getopt(sys.argv[1:], "h", + [ "help", "premerge", "lwip=", "led=", "speed=", "board=", "customspeed=", + "ld", "ldgen", "boards", "boardsgen", "package", "packagegen", "doc", "docgen" ]) +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 ("--premerge"): + premerge = True + + elif o in ("--lwip"): + lwip = a + + elif o in ("--led"): + led_default = int(a) + + elif o in ("--customspeed"): + customspeeds += [ + '.menu.UploadSpeed.' + a + '=' + a, + '.menu.UploadSpeed.' + 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 ("--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 ("--ldshow"): + 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 ("--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 + + else: + assert False, "unhandled option" + +#### ^^^^ cmdline parsing ends + +did = False + +if ldshow: + all_flash_size() + did = True + +if boardsshow: + ldshow = False + ldgen = False + all_boards() + did = True + +if packageshow: + package() + did = True + +if docshow: + doc() + did = True + +if not did: + usage(sys.argv[0], 0) diff --git a/tools/sdk/include/mem.h b/tools/sdk/include/mem.h index f404ceda7..9fe13a8bf 100644 --- a/tools/sdk/include/mem.h +++ b/tools/sdk/include/mem.h @@ -39,52 +39,20 @@ bool ICACHE_FLASH_ATTR check_memleak_debug_enable(void) } */ +#define os_free free +#define os_malloc malloc +#define os_calloc calloc +#define os_realloc realloc +#define os_zalloc zalloc + #ifndef MEMLEAK_DEBUG #define MEMLEAK_DEBUG_ENABLE 0 -#define os_free(s) vPortFree(s, "", 0) -#define os_malloc(s) pvPortMalloc(s, "", 0) -#define os_calloc(s) pvPortCalloc(s, "", 0); -#define os_realloc(p, s) pvPortRealloc(p, s, "", 0) -#define os_zalloc(s) pvPortZalloc(s, "", 0) #else #define MEMLEAK_DEBUG_ENABLE 1 - -#define os_free(s) \ -do{\ - static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; \ - vPortFree(s, mem_debug_file, __LINE__);\ -}while(0) - -#define os_malloc(s) \ - ({ \ - static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; \ - pvPortMalloc(s, mem_debug_file, __LINE__); \ - }) - -#define os_calloc(s) \ - ({ \ - static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; \ - pvPortCalloc(s, mem_debug_file, __LINE__); \ - }) - -#define os_realloc(p, s) \ - ({ \ - static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; \ - pvPortRealloc(p, s, mem_debug_file, __LINE__); \ - }) - -#define os_zalloc(s) \ - ({ \ - static const char mem_debug_file[] ICACHE_RODATA_ATTR STORE_ATTR = __FILE__; \ - pvPortZalloc(s, mem_debug_file, __LINE__); \ - }) - #endif - #ifdef __cplusplus } #endif -#endif - +#endif // __MEM_H__ diff --git a/variants/generic/pins_arduino.h b/variants/generic/pins_arduino.h index 95897aecb..6d9ec74a0 100644 --- a/variants/generic/pins_arduino.h +++ b/variants/generic/pins_arduino.h @@ -34,7 +34,10 @@ static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; -static const uint8_t BUILTIN_LED = 1; -static const uint8_t LED_BUILTIN = 1; +#ifndef USERLED +#define USERLED 1 +#endif +static const uint8_t BUILTIN_LED = USERLED; +static const uint8_t LED_BUILTIN = USERLED; #endif /* Pins_Arduino_h */