diff --git a/boards.txt b/boards.txt index 37fcbe69d1..fe9d3fe77b 100644 --- a/boards.txt +++ b/boards.txt @@ -73,6 +73,16 @@ generic.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld generic.menu.FlashSize.512K0.build.spiffs_pagesize=256 generic.menu.FlashSize.512K0.upload.maximum_size=499696 generic.menu.FlashSize.512K0.build.rfcal_addr=0x7C000 +generic.menu.FlashSize.512K32=512K (32K SPIFFS) +generic.menu.FlashSize.512K32.build.flash_size=512K +generic.menu.FlashSize.512K32.build.flash_size_bytes=0x80000 +generic.menu.FlashSize.512K32.build.flash_ld=eagle.flash.512k32.ld +generic.menu.FlashSize.512K32.build.spiffs_pagesize=256 +generic.menu.FlashSize.512K32.upload.maximum_size=466928 +generic.menu.FlashSize.512K32.build.rfcal_addr=0x7C000 +generic.menu.FlashSize.512K32.build.spiffs_start=0x73000 +generic.menu.FlashSize.512K32.build.spiffs_end=0x7B000 +generic.menu.FlashSize.512K32.build.spiffs_blocksize=4096 generic.menu.FlashSize.512K64=512K (64K SPIFFS) generic.menu.FlashSize.512K64.build.flash_size=512K generic.menu.FlashSize.512K64.build.flash_size_bytes=0x80000 @@ -2022,6 +2032,16 @@ thing.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld thing.menu.FlashSize.512K0.build.spiffs_pagesize=256 thing.menu.FlashSize.512K0.upload.maximum_size=499696 thing.menu.FlashSize.512K0.build.rfcal_addr=0x7C000 +thing.menu.FlashSize.512K32=512K (32K SPIFFS) +thing.menu.FlashSize.512K32.build.flash_size=512K +thing.menu.FlashSize.512K32.build.flash_size_bytes=0x80000 +thing.menu.FlashSize.512K32.build.flash_ld=eagle.flash.512k32.ld +thing.menu.FlashSize.512K32.build.spiffs_pagesize=256 +thing.menu.FlashSize.512K32.upload.maximum_size=466928 +thing.menu.FlashSize.512K32.build.rfcal_addr=0x7C000 +thing.menu.FlashSize.512K32.build.spiffs_start=0x73000 +thing.menu.FlashSize.512K32.build.spiffs_end=0x7B000 +thing.menu.FlashSize.512K32.build.spiffs_blocksize=4096 thing.menu.FlashSize.512K64=512K (64K SPIFFS) thing.menu.FlashSize.512K64.build.flash_size=512K thing.menu.FlashSize.512K64.build.flash_size_bytes=0x80000 @@ -2173,6 +2193,16 @@ thingdev.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld thingdev.menu.FlashSize.512K0.build.spiffs_pagesize=256 thingdev.menu.FlashSize.512K0.upload.maximum_size=499696 thingdev.menu.FlashSize.512K0.build.rfcal_addr=0x7C000 +thingdev.menu.FlashSize.512K32=512K (32K SPIFFS) +thingdev.menu.FlashSize.512K32.build.flash_size=512K +thingdev.menu.FlashSize.512K32.build.flash_size_bytes=0x80000 +thingdev.menu.FlashSize.512K32.build.flash_ld=eagle.flash.512k32.ld +thingdev.menu.FlashSize.512K32.build.spiffs_pagesize=256 +thingdev.menu.FlashSize.512K32.upload.maximum_size=466928 +thingdev.menu.FlashSize.512K32.build.rfcal_addr=0x7C000 +thingdev.menu.FlashSize.512K32.build.spiffs_start=0x73000 +thingdev.menu.FlashSize.512K32.build.spiffs_end=0x7B000 +thingdev.menu.FlashSize.512K32.build.spiffs_blocksize=4096 thingdev.menu.FlashSize.512K64=512K (64K SPIFFS) thingdev.menu.FlashSize.512K64.build.flash_size=512K thingdev.menu.FlashSize.512K64.build.flash_size_bytes=0x80000 @@ -3820,6 +3850,16 @@ gen4iod.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld gen4iod.menu.FlashSize.512K0.build.spiffs_pagesize=256 gen4iod.menu.FlashSize.512K0.upload.maximum_size=499696 gen4iod.menu.FlashSize.512K0.build.rfcal_addr=0x7C000 +gen4iod.menu.FlashSize.512K32=512K (32K SPIFFS) +gen4iod.menu.FlashSize.512K32.build.flash_size=512K +gen4iod.menu.FlashSize.512K32.build.flash_size_bytes=0x80000 +gen4iod.menu.FlashSize.512K32.build.flash_ld=eagle.flash.512k32.ld +gen4iod.menu.FlashSize.512K32.build.spiffs_pagesize=256 +gen4iod.menu.FlashSize.512K32.upload.maximum_size=466928 +gen4iod.menu.FlashSize.512K32.build.rfcal_addr=0x7C000 +gen4iod.menu.FlashSize.512K32.build.spiffs_start=0x73000 +gen4iod.menu.FlashSize.512K32.build.spiffs_end=0x7B000 +gen4iod.menu.FlashSize.512K32.build.spiffs_blocksize=4096 gen4iod.menu.FlashSize.512K64=512K (64K SPIFFS) gen4iod.menu.FlashSize.512K64.build.flash_size=512K gen4iod.menu.FlashSize.512K64.build.flash_size_bytes=0x80000 diff --git a/cores/esp8266/core_esp8266_wiring_digital.c b/cores/esp8266/core_esp8266_wiring_digital.c index 68b8055f00..12834a18b6 100644 --- a/cores/esp8266/core_esp8266_wiring_digital.c +++ b/cores/esp8266/core_esp8266_wiring_digital.c @@ -147,7 +147,7 @@ void ICACHE_RAM_ATTR interrupt_handler(void *arg) { // we disable them before we call the client ISR uint32_t savedPS = xt_rsil(15); // stop other interrupts ArgStructure* localArg = (ArgStructure*)handler->arg; - if (localArg->interruptInfo) + if (localArg && localArg->interruptInfo) { localArg->interruptInfo->pin = i; localArg->interruptInfo->value = __digitalRead(i); diff --git a/doc/boards.rst b/doc/boards.rst index e5c1dd652d..e491e8674b 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -274,6 +274,7 @@ According to the manufacturer, "with a micro USB cable, you can connect NodeMCU RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux. The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin. +The ESP-12E has sometimes a led connected on GPIO2 Full pinout and PDF schematics can be found `here `__ diff --git a/tools/boards.txt.py b/tools/boards.txt.py index 5969efdeca..beb4578d7d 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -435,6 +435,7 @@ 'RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux.', '', 'The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin.', + 'The ESP-12E has sometimes a led connected on GPIO2', '', 'Full pinout and PDF schematics can be found `here `__', ], @@ -1116,6 +1117,7 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_ def all_flash_size (): f512 = flash_size(0x80000, '512K', '512K0', 'eagle.flash.512k0.ld', 'no SPIFFS', 499696, 0x7B000) + f512.update(flash_size(0x80000, '512K', '512K32', 'eagle.flash.512k32.ld', '32K SPIFFS', 466928, 0x73000, 0x8000, 4096)) f512.update(flash_size(0x80000, '512K', '512K64', 'eagle.flash.512k64.ld', '64K SPIFFS', 434160, 0x6B000, 0x10000, 4096)) f512.update(flash_size(0x80000, '512K', '512K128', 'eagle.flash.512k128.ld', '128K SPIFFS', 368624, 0x5B000, 0x20000, 4096)) f1m = flash_size(0x100000, '1M', '1M0', 'eagle.flash.1m0.ld', 'no SPIFFS', 1023984, 0xFB000)