Does deepsleep work at all



  • @tmz that is the library I'm using, and which errors are generated





  • @daniel I'm testing the deepsleep example but I get the following errors:

    Traceback (most recent call last):
    File "main.py", line 7, in <module>
    File "/flash/lib/deepsleep.py", line 143, in get_wake_status
    File "/flash/lib/deepsleep.py", line 76, in peek
    IndexError: bytes index out of range

    I am doing something wrong?
    thanks



  • @daniel Seems to work for me too now.
    Adding the garbage collector statements in the calling code seems to be crucial through.



  • @daniel
    Thank you! The issues seems to be fixed after this fix.
    Is > 8h without interruption.

    LoPy v1.7.9.b3
    Expansion board (with deep sleep shield)
    Fix: https://github.com/pycom/pycom-libraries/commit/ea3e22c14884671801bcd1cfe49c703bc63c7078



  • Hello,

    The instability has been fixed here: https://github.com/pycom/pycom-libraries/commit/ea3e22c14884671801bcd1cfe49c703bc63c7078

    We are now working on reducing the deep sleep current.

    Cheers,
    Daniel



  • @adam_IoTK

    I have the same problem with a LoPy + Deep sleep shield.
    My code runs for 20-40 times and then stops. Issue reported here: https://forum.pycom.io/topic/1685/lopy-with-deep-sleep-shield-is-unstable

    This is a blocker for any real world deployment.
    Not having seen any useful response from the Pycom team on the forum about this issue i am considering moving to another platform to get my project finished.



  • @daniel Could you tell me how and when DeepSleep will work ? Im not only one who claim about this problem and I think is really time to clarify with your team what is happening

    Thank you !



  • @daniel The result is the same. Stops after (5 - 20) cycles. How do i run in more verbose way? There is no error, it's jumps into REPL.



  • @chumelnicu Hi Daniel, sorry for late update but i was in holliday until yesterday.

    I did try deepsleep with new DeepSleep library and llopy behive same. After 14-15 DS cycles program stop running.

    I use lopy with DS Shield powered from USB and nothing on Pin12.
    Condition to wake up, is time, w-up after 10 minutes.
    Do u have any ideea what is wrong?

    Thx !



  • @daniel said in Does deepsleep work at all:

    Do you have a pull-down on P17?
    I have plugged the P17 and GND to have an option to wakeup (with normally close switch) and set ds.enable_wake_on_raise('P17').

    Now tested "without plugging P17 with GND".
    Running the example from documentation:

    ...
    ds.enable_pullups('P17')  # can also do ds.enable_pullups(['P17', 'P18'])
    ds.enable_wake_on_fall('P17') # can also do ds.enable_wake_on_fall(['P17', 'P18'])
    ...
    

    With same result as before it runs 5 cycles and ends.

    At home i don't have any resistor i will let you know tomorrow.



  • @tmz Do you have a pull-down on P17? I think what is happening is that noise is waking up the deepsleep shield before it gets to turn off the LoPy completely. Please try putting an external pull-down to P17 and disabling the internall pull-up with the deepsleep library.



  • @daniel
    I make now the execution
    Deep sleep ends after 4 cycles.

    LoPy on Expansion board with "DeepSleep Shield"
    Firmware version: 1.7.9.b1

    deepslep.py latest: https://github.com/pycom/pycom-libraries/commit/074bc7ee0181451720bbeb30d627debafc617ad8

    Run 60 seconds deepsleep interval.

    Output:

    MicroPython v1.8.6-740-g5b756011 on 2017-08-07; LoPy with ESP32
    Type "help()" for more information.
    >>>
    >>>
    >>> ets Jun  8 2016 00:22:57
    
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    ets Jun  8 2016 00:22:57
    
    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (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:0x3fff9010,len:12
    ho 0 tail 12 room 4
    load:0x3fff9020,len:388
    load:0x40078000,len:11584
    load:0x4009fb00,len:848
    entry 0x4009fc9c
    
    ****DEEP SLEEP MODE****
    
    Do sem work for 3 seconds
    End work go deep sleep for 1min
    
    Brownets Jun  8 2016 00:22:57
    
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    ets Jun  8 2016 00:22:57
    
    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (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:0x3fff9010,len:12
    ho 0 tail 12 room 4
    load:0x3fff9020,len:388
    load:0x40078000,len:11584
    load:0x4009fb00,len:848
    entry 0x4009fc9c
    
    ****DEEP SLEEP MODE****
    
    Do sem work for 3 seconds
    End work go deep sleep for 1min
    
    Brownets Jun  8 2016 00:22:57
    
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    ets Jun  8 2016 00:22:57
    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (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:0x3fff9010,len:12
    ho 0 tail 12 room 4
    load:0x3fff9020,len:388
    load:0x40078000,len:11584
    load:0x4009fb00,len:848
    entry 0x4009fc9c
    
    ****DEEP SLEEP MODE****
    
    Do sem work for 3 seconds
    End work go deep sleep for 1min
    
    Brownets Jun  8 2016 00:22:57
    
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    ets Jun  8 2016 00:22:57
    
    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (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:0x3fff9010,len:12
    ho 0 tail 12 room 4
    load:0x3fff9020,len:388
    load:0x40078000,len:11584
    load:0x4009fb00,len:848
    entry 0x4009fc9c
    
    ****DEEP SLEEP MODE****
    
    Do sem work for 3 seconds
    End work go deep sleep for 1min
    MicroPython v1.8.6-740-g5b756011 on 2017-08-07; LoPy with ESP32
    Type "help()" for more information.
    >>>
    >>>
    


  • @daniel Yes, executing go_to_sleep() some cycles works and than at one point it's not enter into deep sleep mode.

    Do you have anything connected to P12?
    Nothing connected to P12.

    For debugging i was running connected over "Serial" to see what happens and for some time (cca. 5 - 20 cycles) works normally and then without errors enters into REPL.

    code:

        # Setup deep sleep mode
        ds = DeepSleep()
        ds.enable_wake_on_raise('P17')
        # Some work here
        ds.go_to_sleep(60)
    


  • @tmz what you say is that after calling the go_to_sleep() the deepsleep shield doesn't put the LoPy to sleep?



  • @daniel The deep sleep works! But then at one point without any error it's not entering into next deep sleep cycle instead is enter into REPL.



  • @tmz so it simply goes out to the REPL without running your code? Do you have any condition in your code that could cause that (exit the script instead of going into deepsleep)? Do you have anything connected to P12? Maybe at some point the board is booting into safe mode...



  • @daniel I have issue with "deepsleep shield" and LoPy. It's stops after cca. 20 cycles. Same if added the "exception" block to calibrate method.
    Running over serial the cycle ends into REPL and without error.



  • @daniel I am using the deep sleep shiled with lopy in breadboard (without expansion) by powering with 5V. The consumption is 500uA. Isn't it high? I thought it will be below 50uA.



  • @athtest800 are you talking about the Pysense or the deepsleep shield?


Log in to reply
 

Pycom on Twitter