From 1213082a859f06ec565396efbdb61142c724fa54 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 2 Jul 2018 10:52:02 +0200 Subject: [PATCH 1/3] 32k spiffs for 512k modules (contribution of @carlymx, #4871, https://github.com/carlymx/SPIFFS-Mod-for-ESP8266/blob/master/esp8266/hardware/esp8266/2.4.1/tools/sdk/ld/eagle.flash.512k32.ld) --- boards.txt | 40 ++++++++++++++++++++++++++++++++++++++++ tools/boards.txt.py | 1 + 2 files changed, 41 insertions(+) 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/tools/boards.txt.py b/tools/boards.txt.py index 5969efdeca..cc5698f012 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -1116,6 +1116,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) From 39fd2dacce4bde849dfd2d60e53a24aa9cc3806c Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 2 Jul 2018 10:53:52 +0200 Subject: [PATCH 2/3] fix scheduled interrupt #4609 (fix proposed by @shimarin, verified by @marcvtew #4866) --- cores/esp8266/core_esp8266_wiring_digital.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); From 36825be9c7c5d18ababdfb39d1e55357c3670836 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 2 Jul 2018 10:56:45 +0200 Subject: [PATCH 3/3] NodeMCU doc update Thanks to lrmoreno007 #4715 --- doc/boards.rst | 1 + tools/boards.txt.py | 1 + 2 files changed, 2 insertions(+) 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 cc5698f012..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 `__', ],