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?



  • @techykermit

    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 in wake_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.


Log in to reply
 

Pycom on Twitter