nrfxlib API 2.7.99
Loading...
Searching...
No Matches

◆ nrf_802154_receive_at()

bool nrf_802154_receive_at ( uint64_t  rx_time,
uint32_t  timeout,
uint8_t  channel,
uint32_t  id 
)

#include <nrf_802154/common/include/nrf_802154.h>

Requests reception at the specified time.

This function works as a delayed version of nrf_802154_receive. It is asynchronous. It queues the delayed reception using the Radio Scheduler module. If the delayed reception cannot be performed (nrf_802154_receive_at would return false) or the requested reception timeslot is denied, nrf_802154_receive_failed is called with the NRF_802154_RX_ERROR_DELAYED_TIMESLOT_DENIED argument.

If the requested reception time is in the past, the function returns false and does not schedule reception.

A scheduled reception can be cancelled by a call to nrf_802154_receive_at_cancel.

Note
The identifier id must be unique. It must not have the same value as identifiers of other delayed timeslots active at the moment, so that it can be mapped unambiguously to an active delayed operation if the request is successful. In particular, none of the reserved identifiers can be used.
Parameters
[in]rx_timeAbsolute time used by the SL Timer, in microseconds (us).
[in]timeoutReception timeout (counted from rx_time), in microseconds (us).
[in]channelRadio channel on which the frame is to be received.
[in]idIdentifier of the scheduled reception window. If the reception has been scheduled successfully, the value of this parameter can be used in nrf_802154_receive_at_cancel to cancel it.
Return values
trueThe reception procedure was scheduled.
falseThe driver could not schedule the reception procedure.