Firmware release 1.7.2.b1

  • Hello,

    A new firmware release is out. The version is 1.7.2.b1. Here's the change log:

    • Use mp_obj_new_int_from_uint where appropiate and cast to uint64_t.

    • Don't use gettimeofday() inside interrupts. Increase ISR stack size to 4K.

    • Implement pin wake capability and wake up reasons.

    • Add WDT module and complete the reset reasons.

    • Fix bug in ntp_sync method. Add method to query the last ntp sync status.

    Please check the docs for the new features added and the github repo for the latest sources:


  • @peekay123 I am having the same issue, although only for certain networks. When I connect to my "802.11n" network at 2.4GHz, it works no problem. However, when I try to connect to a "802.11ac" network which is using 5GHz, the wlan.isconnected() method never returns true. My other board which still has 1.6.7 firmware does not have this issue. It connects to both networks.

  • @robert-hh Thanks for testing. Good to know I'm not the only one getting those errors.

  • @this.wiederkehr I can confirm this behaviour. I changed the test code a little bit by

    • adding gc.collect() in the loop. Without that, it stopped almost immediately with memory error
    • adding a loop counter
      A few results:
    Loops   Event
    1650    Guru mediation error
     637    Freeze
    6380    Guru mediation error
    7185    Guru mediation error
     418    Guru Mediation error
    2694    Freeze, with phases of slow write in between ever few seconds

    The Guru mediation error is like:

    Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.
    Register dump:
    PC      : 0x40087eb9  PS      : 0x00060031  A0      : 0x80086722  A1      : 0x3ffc07b0  
    A2      : 0x00000001  A3      : 0x00000001  A4      : 0x0001dfb8  A5      : 0x00000006  
    A6      : 0x3ffc6c14  A7      : 0x3ffc6d14  A8      : 0x3ffc3fc4  A9      : 0x3ffc0790  
    A10     : 0x3ffc3e48  A11     : 0x00000001  A12     : 0x00000000  A13     : 0x3ffc5c54  
    A14     : 0x00000000  A15     : 0x00060023  SAR     : 0x00000014  EXCCAUSE: 0x0000001c  
    EXCVADDR: 0x00000009  LBEG    : 0x400e3b80  LEND    : 0x400e3bde  LCOUNT  : 0x00000000  
    Backtrace: 0x40087eb9:0x3ffc07b0 0x40086722:0x3ffc07d0 0x40088c1c:0x3ffc07f0 0x40081861:0x3ffc0800

    Board Lopy, firmware built from the most recent state of the repository, tagged as 1.7.1b1.
    Tested with two SD cards from different vendors.

  • Hi @daniel

    Just to let you know: The issue with writing to the sd-card still persists in this version as well. I changes my app to only flush each 5 seconds. In that way I got rid of the freeze and one of the errors. Still, the following one is there, sometimes it even triggers after seconds :

    (sysname='LoPy', nodename='LoPy', release='1.7.2.b1', version='v1.8.6-650-g9bacbbd4 on 2017-06-09', machine='LoPy with ESP32', lorawan='1.0.0')
    Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.
    Register dump:
    PC      : 0x400875b9  PS      : 0x00060033  A0      : 0x40088c47  A1      : 0x3ffbd5d0  
    A2      : 0x00050023  A3      : 0x00000000  A4      : 0x00000001  A5      : 0x3ffc3dc8  
    A6      : 0x0043e828  A7      : 0x3ffc0df4  A8      : 0x00000005  A9      : 0x00000001  
    A10     : 0x3ffc3e34  A11     : 0x00000000  A12     : 0x3ffc3e34  A13     : 0x00000000  
    A14     : 0x00000000  A15     : 0x00000000  SAR     : 0x00000016  EXCCAUSE: 0x0000001c  
    EXCVADDR: 0x00000048  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff  
    Backtrace: 0x400875b9:0x3ffbd5d0 0x40088c47:0x3ffbd5f0 0x40088c01:0x3ffbd650 0x400e26cc:0x3ffbd670 0x400d8572:0x00000000

    Is there a workaround for this? Could anyone reproduce my issues or am I the only have having it?

    For anyone curious here is the original code to reproduce.

    import machine
    import os
    import utime
    sd = machine.SD()
    os.mount(sd, '/sd')
    f = open('/sd/test', 'a')
    t1 = utime.ticks_ms()
    while True:
        print('about to initialize buffer')
        k = bytearray(1024)
        print('about to write to file')
        print('about to flush to file')
        t2 = utime.ticks_ms()
        print("I'm done %i"%(t2-t1))
        t1 = t2

  • @daniel Thank you for this update! However, I would like to report an issue I am facing with the firmware:

    In my application I am sending HTTPs POST requests to a server every n amount of seconds. After n number of requests I get Guru Meditation Error. This of course makes the application not stable and doesn't hold out for long before it restarts or even freezes.

    I am using the latest version from the repository. I compile the firmware myself because I make use of the frozen modules.

    Which raises another question, is the Firmware version on the repository different from the one currently at the updater-tool?

    I am currently struggling with this because my application depends on this functionality. I was trying to revert back to an older version but the older versions don't have the frozen modules which my application needs as well because the code has grown extensively.

    My device's info:

    (sysname='LoPy', nodename='LoPy', release='1.7.1.b1', version='3284efc on 2017-06-11', machine='LoPy with ESP32', lorawa n='1.0.0') 

    Please check below a sample code to recreate the error:

    from urequests import post
    import time
    import gc
    counter = 0
    while True:
        counter += 1
        print("Counter: ", counter)
            resp = post("", json={"Counter": counter})
        except Exception as e:
            print("Error", e)

    Here is the error:

    Guru Meditation Error of type LoadProhibited occurred on core  0. Exception was unhandled.                              
    Register dump:                                                                                                          
    PC      : 0x4008967a  PS      : 0x00060033  A0      : 0x800886b4  A1      : 0x3ffb7930                                  
    A2      : 0x3ffb7980  A3      : 0x3ffb7950  A4      : 0x00000020  A5      : 0x3ffc3e44                                  
    A6      : 0x3ffb7ff0  A7      : 0x3ffb7f10  A8      : 0x00000009  A9      : 0xe67ec000                                  
    A10     : 0x3ffb79a4  A11     : 0x3ffc3e4c  A12     : 0x20203041  A13     : 0x3ffb7d10                                  
    A14     : 0x3ffb7d40  A15     : 0x00000020  SAR     : 0x00000011  EXCCAUSE: 0x0000001c                                  
    EXCVADDR: 0xe67ec000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0x00000000                                  
    Backtrace: 0x4008967a:0x3ffb7930 0x400886b4:0x3ffb7950 0x40089f24:0x3ffb7980 0x4008a299:0x3ffb7b50 0x40089c04:0x3ffb7b90
     0x40089d5b:0x3ffb7c10 0x40081601:0x3ffb7c30 0x4008967a:0x3ffb7cf0 0x4008967a:0x3ffb7d10 0x40089f24:0x3ffb7d40 0x4008a29
    9:0x3ffb7f10 0x40089c04:0x3ffb7f50 0x40089d5b:0x3ffb7fd0 0x40081601:0x3ffb7ff0 0x4008967a:0x3ffb80b0 0x4008967a:0x3ffb80
    d0 0x40089f24:0x3ffb8100 0x4008a299:0x3ffb82d0 0x40089c04:0x3ffb8310 0x40089d5b:0x3ffb8390 0x40081601:0x3ffb83b0 0x40089
    67a:0x3ffb8470 0x4008967a:0x3ffb8490 0x40089f24:0x3ffb84c0 0x4008a299:0x3ffb8690 0x40089c04:0x3ffb86d0 0x40089d5b:0x3ffb
    8750 0x40081601:0x3ffb8770 0x4008967a:0x3ffb8830 0x4008967a:0x3ffb8850 0x40089f24:0x3ffb8880 0x4008a299:0x3ffb8a50 0x400
    89c04:0x3ffb8a90 0x40089d5b:0x3ffb8b10 0x40081601:0x3ffb8b30 0x4008967a:0x3ffb8bf0 0x4008967a:0x3ffb8c10 0x40089f24:0x3f
    fb8c40 0x4008a299:0x3ffb8e10 0x40089c04:0x3ffb8e50 0x40089d5b:0x3ffb8ed0 0x40081601:0x3ffb8ef0 0x4008967a:0x3ffb8fb0 0x4
    008967a:0x3ffb8fd0 0x40089f24:0x3ffb9000 0x4008a299:0x3ffb91d0 0x40089c04:0x3ffb9210 0x40089d5b:0x3ffb9290 0x40081601:0x
    3ffb92b0 0x4008967a:0x3ffb9370 0x4008967a:0x3ffb9390   

  • Still having issues with LoPy connection to WiFi but not recognizing it is connected.

  • @daniel Thanks a lot for updating the repository too.

Log in to reply

Pycom on Twitter