@@ -607,7 +607,6 @@ static bool nrf5_tx(otRadioFrame *frame, uint8_t *payload, bool cca)
607
607
.use_metadata_value = true,
608
608
.power = get_transmit_power_for_channel (frame -> mChannel ),
609
609
},
610
- .tx_channel = {.use_metadata_value = true, .channel = frame -> mChannel },
611
610
};
612
611
613
612
return nrf_802154_transmit_raw (payload , & metadata );
@@ -627,12 +626,10 @@ static bool nrf5_tx_csma_ca(otRadioFrame *frame, uint8_t *payload)
627
626
.use_metadata_value = true,
628
627
.power = get_transmit_power_for_channel (frame -> mChannel ),
629
628
},
630
- .tx_channel = {.use_metadata_value = true, .channel = frame -> mChannel },
631
629
632
630
};
633
631
634
632
nrf_802154_csma_ca_max_backoffs_set (frame -> mInfo .mTxInfo .mMaxCsmaBackoffs );
635
-
636
633
return nrf_802154_transmit_csma_ca_raw (payload , & metadata );
637
634
}
638
635
#endif
@@ -719,17 +716,22 @@ static otError transmit_frame(otInstance *aInstance)
719
716
720
717
if ((nrf5_data .capabilities & OT_RADIO_CAPS_TRANSMIT_TIMING ) &&
721
718
(nrf5_data .tx .frame .mInfo .mTxInfo .mTxDelay != 0 )) {
719
+ #if !defined(CONFIG_NRF5_SELECTIVE_TXCHANNEL )
720
+ nrf5_set_channel (nrf5_data .tx .frame .mChannel );
721
+ #endif
722
722
if (!nrf5_tx_at (& nrf5_data .tx .frame , nrf5_data .tx .psdu )) {
723
723
LOG_ERR ("TX at failed" );
724
724
return OT_ERROR_INVALID_STATE ;
725
725
}
726
726
} else if (nrf5_data .tx .frame .mInfo .mTxInfo .mCsmaCaEnabled ) {
727
+ nrf5_set_channel (nrf5_data .tx .frame .mChannel );
727
728
if (nrf5_data .capabilities & OT_RADIO_CAPS_CSMA_BACKOFF ) {
728
729
result = nrf5_tx_csma_ca (& nrf5_data .tx .frame , nrf5_data .tx .psdu );
729
730
} else {
730
731
result = nrf5_tx (& nrf5_data .tx .frame , nrf5_data .tx .psdu , true);
731
732
}
732
733
} else {
734
+ nrf5_set_channel (nrf5_data .tx .frame .mChannel );
733
735
result = nrf5_tx (& nrf5_data .tx .frame , nrf5_data .tx .psdu , false);
734
736
}
735
737
0 commit comments