diff --git a/src/mac/LoRaMac.c b/src/mac/LoRaMac.c index 537e7602c..a568eb723 100644 --- a/src/mac/LoRaMac.c +++ b/src/mac/LoRaMac.c @@ -1189,7 +1189,12 @@ static void ProcessRadioRxDone( void ) MacCtx.McpsConfirm.Status = LORAMAC_EVENT_INFO_STATUS_OK; MacCtx.McpsConfirm.AckReceived = macMsgData.FHDR.FCtrl.Bits.Ack; - MacCtx.NvmCtx->AdrAckCounter = 0; + // Reset ADR ACK Counter only, when RX1 or RX2 slot + if( ( MacCtx.McpsIndication.RxSlot == RX_SLOT_WIN_1 ) || + ( MacCtx.McpsIndication.RxSlot == RX_SLOT_WIN_2 ) ) + { + MacCtx.NvmCtx->AdrAckCounter = 0; + } // MCPS Indication and ack requested handling if( multicast == 1 )