Disable Frame Counter Checks in V3

Both ESP8266 and ESP32 have RTC memory. Its contents are retained during deep sleep. Without adding additional hardware RTC memory is the preferred place to temporarily store LMIC state for deep sleep.
Another option is to store state in flash memory using the EEPROM emulation library but flash has a relatively limited number of write cycles so not suitable for storing frequently changing values.

Unfortunately there currently is no support in the MCCI LMIC library itself for a uniform method for storing and restoring LMIC state to/from non-volatile memory (NVM).
It is on the wish list for some future version but currently not yet implemented.

For ESP32 there is a fork of MCCI LMIC by @blem named ttn-esp32 which even supports storing/restoring LMIC state to/from NVM (I assume RTC memory will also be supported). Unfortunately it is written for the ESP-IDF framework and does not support the Arduino framework like MCCI LMIC does.

ttn-esp32 appears to be not recently maintained so will not include the latest changes of MCCI LMIC.

[Update]

ttn-esp32 was recently updated:

New in version 4.0 (prerelease)

  • Verified compatibility with ESP-IDF v4.3
  • Upgraded underlying library mcci-catena/arduino-lmic to v4.0.1 (improved channel shuffling)
  • C API
  • Support for sub-bands
2 Likes