@@ -619,29 +619,12 @@ void LoRaWANStack::post_process_tx_with_reception()
619619 }
620620 }
621621 } else {
622- // handle UNCONFIRMED case here, RX slots were turned off due to
623- // valid packet reception.
624- uint8_t prev_QOS_level = _loramac.get_prev_QOS_level ();
625- uint8_t QOS_level = _loramac.get_QOS_level ();
626-
627- // We will not apply QOS on the post-processing of the previous
628- // outgoing message as we would have received QOS instruction in response
629- // to that particular message
630- if (QOS_level > LORAWAN_DEFAULT_QOS && _qos_cnt < QOS_level
631- && (prev_QOS_level == QOS_level)) {
632- _ctrl_flags &= ~TX_DONE_FLAG;
633- const int ret = _queue->call (this , &LoRaWANStack::state_controller,
634- DEVICE_STATE_SCHEDULING);
635- MBED_ASSERT (ret != 0 );
636- (void ) ret;
637- _qos_cnt++;
638- tr_info (" QOS: repeated transmission #%d queued" , _qos_cnt);
639- } else {
640- _loramac.post_process_mcps_req ();
641- _ctrl_flags |= TX_DONE_FLAG;
642- make_tx_metadata_available ();
643- state_controller (DEVICE_STATE_STATUS_CHECK);
644- }
622+ // On reception, end-device shall stop sending retransmission as stated in lorawan v1.0.2
623+ // specification, page 24, line 25-27
624+ _loramac.post_process_mcps_req ();
625+ _ctrl_flags |= TX_DONE_FLAG;
626+ make_tx_metadata_available ();
627+ state_controller (DEVICE_STATE_STATUS_CHECK);
645628 }
646629}
647630
0 commit comments