#include <nrf_802154/common/include/nrf_802154.h>
Performs the CSMA-CA procedure and transmits a frame in case of success.
The end of the CSMA-CA procedure is notified by nrf_802154_transmitted_raw or nrf_802154_transmit_failed.
- Note
- The driver may be configured to automatically time out waiting for an ACK frame depending on NRF_802154_ACK_TIMEOUT_ENABLED. If the automatic ACK timeout is disabled, the CSMA-CA procedure does not time out waiting for an ACK frame if a frame with the ACK request bit set was transmitted. The MAC layer is expected to manage the timer to time out waiting for the ACK frame. This timer can be started by nrf_802154_tx_started. When the timer expires, the MAC layer is expected to call nrf_802154_receive or nrf_802154_sleep to stop waiting for the ACK frame.
-
This function is available if NRF_802154_CSMA_CA_ENABLED is enabled and NRF_802154_USE_RAW_API is enabled.
- Parameters
-
[in] | p_data | Pointer to the frame to transmit. See also nrf_802154_transmit_raw. |
[in] | p_metadata | Pointer to metadata structure. Contains detailed properties of data to transmit. If NULL following metadata are used:
|
- Return values
-
true | The chain of CSMA-CA and transmission procedure was scheduled. |
false | The driver could not schedule the procedure chain. |