RN2483 status reports not joined after ABP join

I’m not.
I am writing a library for this module and the “joined” state is something I am now keeping as a member of that library.
And “writing” is more a (complete) rewrite of this library: RN2483-Arduino-Library (Preview of my rewrite)
This rewrite is to make it as async as possible so the code does not block execution on the ESP node for other tasks (it is meant as a controller for ESP Easy, I posted here about before) and right now no call to the library should take more than 100 msec, except mac save, which takes about 1300 msec.

So in this light, I was also testing what would happen if wrong credentials are given
This to make it as user friendly as possible and give proper feedback to the user what’s wrong.
So for this reason it would be great to know as soon as possible what’s happening and thus I was looking at the Status bits.
I now made it to look at the return value of the TX command, so if the RN2483 somehow has been reset I will know it when it returns not_joined. Still have to add checks for the counter (not sure if needed)

It is good to know I should not call ABP activation “joining” anywhere in the software as it is not in line with LoRa/LoRaWAN terminology.
As the nodes running ESPEasy will be deployed anywhere, I must have support for ABP as well as OTAA, so the node can also start sending (and boot) in the middle of nowhere and its messages will be received whenever a gateway will pick it up.
One such use case is an environment monitoring device I am developing which can be installed in vehicles.

This means I also have to make sure to find a good balance between saving states (counters) and write cycli, but that’s already discussed offline with @kersing :slight_smile:

Your last note was probably exact what I was looking for and too bad this forum engine doesn’t support side line or footnote markup, as that’s the place where traditionally is the most important information to be found :smile:

So to summarize what I understand that should be done:

  • Check firmware versions differences in various data sheets. (join status bit to start with)
  • Make sure to never refer to “Join” but keep calling it activation at least for ABP
  • Document DevNonce (any way to test it for my development?)
  • Find a good trade off between saving counters and just jumping to the next block of counters that will for sure not be considered already used.