State machine - sigfox-tech-radio/sigfox-ep-lib GitHub Wiki

With regulatory flag

Below is the library state machine when the SIGFOX_EP_REGULATORY flag is enabled. In this mode, the TX control block is used to control the uplink transmission regarding regulatory constraints (LBT, FH timer, etc...).

[!NOTE]
The message counter is incremented after the effective transmission of an application or control message. In case of error or non deterministic methods like LBT for instance, the message counter will not be incremented if the channel is busy and LBT prevents from transmitting any frame of the message. This approach is different from the old Sigfox library (before v3.0), where the message counter was incremented before sending the message whatever the transmission status.

Without regulatory flag

Below is the library state machine when the SIGFOX_EP_REGULATORY flag is disabled. In this mode, the TX control block is not used, uplink transmissions are always performed without any check. This mode is very useful to save code memory when the application behaviour is compliant with the local regulation by design.

[!NOTE]
The message counter is incremented after the effective transmission of an application or control message. This approach is different from the old Sigfox library (before v3.0), where the message counter was incremented before sending the message whatever the transmission status.