A configuration structure for the LBT transmit algorithm.
#include <
rail_types.h
>
Data Fields |
|
uint8_t | lbtMinBoRand |
The minimum backoff random multiplier.
|
|
uint8_t | lbtMaxBoRand |
The maximum backoff random multiplier.
|
|
uint8_t | lbtTries |
The number of LBT iterations that can fail before reporting
RAIL_EVENT_TX_CHANNEL_BUSY
.
|
|
int8_t | lbtThreshold |
The LBT RSSI threshold, in dBm, above which the channel is considered 'busy'.
|
|
uint16_t | lbtBackoff |
The backoff unit period, in RAIL's microsecond time base.
|
|
uint16_t | lbtDuration |
The minimum desired LBT check duration in microseconds.
|
|
RAIL_Time_t | lbtTimeout |
An overall timeout, in RAIL's microsecond time base, for the operation.
|
A configuration structure for the LBT transmit algorithm.
One of RAIL's schemes for polite spectrum access is an implementation of a Listen-Before-Talk (LBT) algorithm, loosely based on ETSI 300 220-1.
Currently, however, it is constrained by the EFR32's CSMA-oriented hardware so is turned into an equivalent
RAIL_CsmaConfig_t
configuration and passed to the CSMA engine:
Definition at line
2046
of file
rail_types.h
.
Field Documentation
uint16_t RAIL_LbtConfig_t::lbtBackoff |
The backoff unit period, in RAIL's microsecond time base.
It is multiplied by the random backoff multiplier controlled by lbtMinBoRand and lbtMaxBoRand to determine the overall backoff period. For random backoffs, any value above 511 microseconds will be truncated. For fixed backoffs, it can go up to 65535 microseconds.
Definition at line
2076
of file
rail_types.h
.
uint16_t RAIL_LbtConfig_t::lbtDuration |
The minimum desired LBT check duration in microseconds.
- Note
- Depending on the radio configuration, due to hardware constraints, the actual duration may be longer.
Definition at line
2083
of file
rail_types.h
.
uint8_t RAIL_LbtConfig_t::lbtMaxBoRand |
The maximum backoff random multiplier.
It must be greater than or equal to
lbtMinBoRand
.
If both backoff multipliers are identical, a non-random fixed backoff of
lbtBackoff
times the multiplier (minimum 1) duration results.
Definition at line
2057
of file
rail_types.h
.
RAIL_Time_t RAIL_LbtConfig_t::lbtTimeout |
An overall timeout, in RAIL's microsecond time base, for the operation.
If the transmission doesn't start before this timeout expires, the transmission will fail with RAIL_EVENT_TX_CHANNEL_BUSY . This is important for limiting LBT due to LBT's unbounded requirement that if the channel is busy, the next try must wait for the channel to clear. A value 0 means no timeout is imposed.
Definition at line
2092
of file
rail_types.h
.
uint8_t RAIL_LbtConfig_t::lbtTries |
The number of LBT iterations that can fail before reporting RAIL_EVENT_TX_CHANNEL_BUSY .
It can range from 1 to RAIL_MAX_LBT_TRIES ; other values are disallowed.
Definition at line
2063
of file
rail_types.h
.
The documentation for this struct was generated from the following file:
-
common/
rail_types.h