Lora-net/LoRaMac-node

Radio not switched to continuous RX mode when starting in class C mode

Closed this issue · 0 comments

I have a LoRaMac-node device configured in class C mode. When I restart the device, the radio is not switched into the continuous RX mode, although the variable Nvm.MacGroup2.DeviceClass is set to CLASS_C. This should have happened on the first invocation of LoRaMacProcess which should have called OpenContinuousRxCWindow. But that call is skipped because MacCtx.RxSlot is not initialized properly based on the value of Nvm.MacGroup2.DeviceClass restored from NVM.

LoRaMac-node should probably invoke UpdateRxSlotIdleState from within LoRaMacStart, and maybe also perform some of the other steps that SwitchClass performs when switching from class A to class C.

Furthermore, it might also be necessary to put the radio to sleep from within LoRaMacStop in case the MAC is being shut down while operating in class C mode.