nrfxlib API 0.1.0
Loading...
Searching...
No Matches
nrf_802154_procedures_duration.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include "nrfx.h"
#include "nrf_802154_const.h"

Go to the source code of this file.

Macros

#define TX_RAMP_UP_TIME   40
 Module that contains calculations of the duration of the 802.15.4 radio driver procedures.
 
#define RX_RAMP_UP_TIME   40
 
#define RX_RAMP_DOWN_TIME   0
 
#define MAX_RAMP_DOWN_TIME   6
 
#define RX_TX_TURNAROUND_TIME   20
 
#define A_CCA_DURATION_SYMBOLS   8
 
#define A_TURNAROUND_TIME_SYMBOLS   12
 
#define A_UNIT_BACKOFF_SYMBOLS   20
 
#define PHY_SYMBOLS_FROM_OCTETS(octets)   ((octets) * PHY_SYMBOLS_PER_OCTET)
 
#define PHY_US_TIME_FROM_SYMBOLS(symbols)   ((symbols) * PHY_US_PER_SYMBOL)
 
#define IMM_ACK_SYMBOLS
 
#define IMM_ACK_DURATION   (PHY_US_TIME_FROM_SYMBOLS(IMM_ACK_SYMBOLS))
 
#define MAC_IMM_ACK_WAIT_SYMBOLS
 
#define MAX_PHY_FRAME_TIME_US
 Time (in microseconds) necessary to send the longest possible 802.15.4 frame.
 

Functions

__STATIC_INLINE uint16_t nrf_802154_tx_duration_get (uint8_t psdu_length, bool cca, bool ack_requested)
 
__STATIC_INLINE uint16_t nrf_802154_cca_before_tx_duration_get (void)
 
__STATIC_INLINE uint16_t nrf_802154_rx_duration_get (uint8_t psdu_length, bool ack_requested)
 
__STATIC_INLINE uint16_t nrf_802154_cca_duration_get (void)
 
__STATIC_INLINE uint16_t nrf_802154_frame_duration_get (uint8_t psdu_length, bool shr, bool phr)
 
__STATIC_INLINE uint16_t nrf_802154_ack_duration_with_turnaround_get (void)
 Get the duration of the Ack frame along with turnaround in microseconds.