mirror of https://github.com/ARMmbed/mbed-os.git
UL FCnt increment in case of retry exhaustion
Previously we had been incrementing UL frame counter for a CONFIRMED message only when the transmission was deemed successful i.e., we would have received an ack before all the retries would have exhausted. Now we have opted to increment the frame counter if all the retries are exhausted considering the fact that we essentially treat the next message after retry exhaustion as a new packet so we should also increment the frame counter.pull/8822/head
parent
9d28c3f767
commit
f4077af5b1
|
@ -614,6 +614,8 @@ void LoRaWANStack::post_process_tx_with_reception()
|
|||
_loramac.get_device_class() == CLASS_A ? "A" : "C");
|
||||
_ctrl_flags &= ~TX_DONE_FLAG;
|
||||
_ctrl_flags |= RETRY_EXHAUSTED_FLAG;
|
||||
_loramac.post_process_mcps_req();
|
||||
make_tx_metadata_available();
|
||||
state_controller(DEVICE_STATE_STATUS_CHECK);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -166,11 +166,12 @@ void LoRaMac::post_process_mcps_req()
|
|||
_params.is_node_ack_requested = false;
|
||||
_mcps_confirmation.ack_received = false;
|
||||
_mcps_indication.is_ack_recvd = false;
|
||||
_params.ul_frame_counter++;
|
||||
_params.adr_ack_counter++;
|
||||
} else {
|
||||
_mcps_confirmation.status = LORAMAC_EVENT_INFO_STATUS_ERROR;
|
||||
}
|
||||
|
||||
_params.ul_frame_counter++;
|
||||
_params.adr_ack_counter++;
|
||||
} else {
|
||||
//UNCONFIRMED or PROPRIETARY
|
||||
_params.ul_frame_counter++;
|
||||
|
|
Loading…
Reference in New Issue