Wakeup pins missing from wakeup reason
-
Hi.
I am using a GPy and wakeup pins work fine, but with this particular device, the wakeup reason just returns an empty list even though the device is woken up by a pin.
I validated and confirmed the issue with this code:
ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff8020,len:8 load:0x3fff8028,len:2128 load:0x4009fa00,len:19760 entry 0x400a05bc >>> from machine import pin_sleep_wakeup, WAKEUP_ALL_LOW, deepsleep >>> pin_sleep_wakeup(["P3"], WAKEUP_ALL_LOW) >>> deepsleep(999*1000)
(device wakes up after about a second or so by P3, which has a value of 0)
This is the output after the device is waken up by the pin:
ets Jun 8 2016 00:22:57 rst:0x5 (DEEPSLEEP_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff8020,len:8 load:0x3fff8028,len:2128 load:0x4009fa00,len:19760 entry 0x400a05bc >>> from machine import reset_cause >>> reset_cause() 3 >>> from machine import wake_reason >>> wake_reason() (1, [])
It looks like this issue is identical to https://forum.pycom.io/topic/2074/l01-wakeup-reason-missing-gpio-pin/2.
Any ideas or fixes?
-
how you wire looks like?
If you simply use this pin not connected then you got this behavior
If you connect it to GND by wire you will see pin inwake_reason()
.
If you have e.g. button wired to this pin you must look at debounce. Add e.g. 100nF ceramic capacitor should fix problem.