nrfxlib API 0.1.0
Loading...
Searching...
No Matches

◆ nrf_802154_transmit_csma_ca_raw()

bool nrf_802154_transmit_csma_ca_raw ( uint8_t *  p_data,
const nrf_802154_transmit_csma_ca_metadata_t p_metadata 
)

#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_dataPointer to the frame to transmit. See also nrf_802154_transmit_raw.
[in]p_metadataPointer to metadata structure. Contains detailed properties of data to transmit. If NULL following metadata are used:
Field Value
frame_props NRF_802154_TRANSMITTED_FRAME_PROPS_DEFAULT_INIT
Return values
trueThe chain of CSMA-CA and transmission procedure was scheduled.
falseThe driver could not schedule the procedure chain.