Showing results for 
Search instead for 
Did you mean: 

How to catch the RX timeouts and errors via the LmHandler registered OnTxData/mcps-confirm callback?


I am customizing the LoRaWAN_End_Node example for our purpose. My application is pretty simple, I send unconfirmed uplinks every 5 minutes after a successful join. On successful uplinks, I get MCPS-Confirm with a status of LORAMAC_EVENT_INFO_STATUS_OK via the LmHandler registered OnTxData callback. Everything works as expected until the gateway goes offline (I disconnect the gateway from the internet). 

When the gateway is offline: I expect to receive the MCPS-Confirm however with a status of LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT and LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT via the LmHandler registered OnTxData callback on RX timeouts. Instead, I still receive a status of LORAMAC_EVENT_INFO_STATUS_OK.

I would like to be able to detect any timeouts and errors so I can kick off the exponential backoff retries. Has anyone faced this issue and if so how did you go about solving this without making changes in the LoRMaC?