LoRaWAN channels and ADR support with deep sleep

  • In New firmware release v1.7.8.b1, I mentioned that even though we can now save join status, frame counters and keys during (Deep Sleep Shield / Pytrack / Pysense-controlled) deep sleep periods and have the minimum viable LoRaWAN node, some additional information was missing from the save and restore operations, especially:

    • the channels used (as returned by the network during join) -- currently the LoPy will keep using only the default channels after going to deep sleep
    • any ADR adjustments

    (there's also duty-cycle timing information, but that may be quite a bit more difficult to handle without an RTC)

    @daniel replied that this was planned for implementation, however I don't think that has been done yet. Any progress on this? As it currently stands, when using Deep Sleep, the LoPy is not quite compliant with LoRaWAN specs.


    • some way to just retrieve all current settings of the LoPy (especially the channel list). That way, it could be saved and restored by the Python code

    • some way to receive notifications of any network-requested changes (channels list in join response, ADR...), along with the relevant info.


  • @daniel @bucknall any update on this? Is this being worked on or should we make changes to the code ourselves to make sure the LoPY is compliant with LoRaWAN specs as advertised?

  • One of the big issues using LoRaWAN is that you can't retrieve the list of channels used and their settings. LoRaWAN network may change your channels on its own and without knowing actual parameters you are limited in debugging, etc.

Pycom on Twitter