Angle of Arrival/Departure#

These APIs are to a stack implementing BLE's angle of arrival and angle of departure functionality.

They are designed for use by the Silicon Labs BLE stack only at this time and may cause problems if accessed directly.

Modules#

RAIL_BLE_AoxConfig_t

RAIL_BLE_AoxAntennaPortPins_t

RAIL_BLE_AoxAntennaConfig_t

sl_rail_ble_aox_config_t

sl_rail_ble_aox_antenna_port_pins_t

sl_rail_ble_aox_antenna_config_t

Enumerations#

enum
RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT = 0
RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT = 1
RAIL_BLE_AOX_OPTIONS_CONN_SHIFT = 2
RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT = 3
}

Angle of Arrival/Departure options bit fields.

enum
SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT = 0
SL_RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT = 1
SL_RAIL_BLE_AOX_OPTIONS_CONN_SHIFT = 2
SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT = 3
}

Angle of Arrival/Departure options bit fields.

Functions#

bool
RAIL_BLE_LockCteBuffer(RAIL_Handle_t railHandle, bool lock)

Lock/unlock the CTE buffer from the application's perspective.

bool
RAIL_BLE_CteBufferIsLocked(RAIL_Handle_t railHandle)

Determine whether the CTE buffer is currently locked or not.

uint8_t
RAIL_BLE_GetCteSampleOffset(RAIL_Handle_t railHandle)

Get the offset into CTE sample of CTE data.

uint32_t
RAIL_BLE_GetCteSampleRate(RAIL_Handle_t railHandle)

Get the effective sample rate used by the ADC to capture the CTE samples.

RAIL_BLE_ConfigAox(RAIL_Handle_t railHandle, const RAIL_BLE_AoxConfig_t *aoxConfig)

Configure Angle of Arrival/Departure (AoX) functionality.

RAIL_BLE_InitCte(RAIL_Handle_t railHandle)

Perform one time initialization of AoX registers.

RAIL_BLE_ConfigAoxAntenna(RAIL_Handle_t railHandle, const RAIL_BLE_AoxAntennaConfig_t *antennaConfig)

Perform initialization of AoX antenna GPIO pins.

bool
sl_rail_ble_lock_cte_buffer(sl_rail_handle_t rail_handle, bool lock)

Lock/unlock the CTE buffer from the application's perspective.

bool
sl_rail_ble_cte_buffer_is_locked(sl_rail_handle_t rail_handle)

Determine whether the CTE buffer is currently locked or not.

uint8_t
sl_rail_ble_get_cte_sample_offset(sl_rail_handle_t rail_handle)

Get the offset into CTE sample of CTE data.

uint32_t
sl_rail_ble_get_cte_sample_rate(sl_rail_handle_t rail_handle)

Get the effective sample rate used by the ADC to capture the CTE samples.

sl_rail_ble_config_aox(sl_rail_handle_t rail_handle, const sl_rail_ble_aox_config_t *p_aox_config)

Configure Angle of Arrival/Departure (AoX) functionality.

sl_rail_ble_init_cte(sl_rail_handle_t rail_handle)

Perform one time initialization of AoX registers.

sl_rail_ble_config_aox_antenna(sl_rail_handle_t rail_handle, const sl_rail_ble_aox_antenna_config_t *p_antenna_config)

Perform initialization of AoX antenna GPIO pins.

Macros#

#define

The maximum number of GPIO pins used for AoX Antenna switching.

#define

DeprecatedObsolete AOX option.

#define

DeprecatedObsolete AOX option.

#define

DeprecatedObsolete AOX option.

#define
RAIL_BLE_AOX_OPTIONS_LOCK_CTE_BUFFER_SHIFT RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT
#define

Disable the AoX feature.

#define
RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE (1U << RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT)

Sets one of the two AoX sampling/switching modes: 1 us or 2 us window.

#define
RAIL_BLE_AOX_OPTIONS_CONNLESS (1U << RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT)

Enables connectionless AoX Rx packets.

#define
RAIL_BLE_AOX_OPTIONS_CONN (1U << RAIL_BLE_AOX_OPTIONS_CONN_SHIFT)

Enables connection based AoX Rx packets.

#define
RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK (1U << RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT)

Disables CTE buffer lock.

#define
RAIL_BLE_AOX_OPTIONS_ENABLED (RAIL_BLE_AOX_OPTIONS_CONN | RAIL_BLE_AOX_OPTIONS_CONNLESS)

Enables connection based or connectionless AoX Rx packets.

#define

The maximum number of GPIO pins used for AoX Antenna switching.

#define

Disable the AoX feature.

#define
SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE (1U << SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT)

Sets one of the two AoX sampling/switching modes: 1 us or 2 us window.

#define
SL_RAIL_BLE_AOX_OPTIONS_CONNLESS (1U << SL_RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT)

Enables connectionless AoX Rx packets.

#define
SL_RAIL_BLE_AOX_OPTIONS_CONN (1U << SL_RAIL_BLE_AOX_OPTIONS_CONN_SHIFT)

Enables connection based AoX Rx packets.

#define
SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK (1U << SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT)

Disables CTE buffer lock.

#define
SL_RAIL_BLE_AOX_OPTIONS_ENABLED (SL_RAIL_BLE_AOX_OPTIONS_CONN | SL_RAIL_BLE_AOX_OPTIONS_CONNLESS)

Enables connection based or connectionless AoX Rx packets.

Enumeration Documentation#

RAIL_BLE_AoxOptions_t#

RAIL_BLE_AoxOptions_t

Angle of Arrival/Departure options bit fields.

DeprecatedRAIL 2.x synonym of sl_rail_ble_aox_options_t.

Enumerator
RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT

Shift position of RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE bit.

RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT

Shift position of RAIL_BLE_AOX_OPTIONS_CONNLESS bit.

RAIL_BLE_AOX_OPTIONS_CONN_SHIFT

Shift position of RAIL_BLE_AOX_OPTIONS_CONN bit.

RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT

Shift position of RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK bit.


sl_rail_ble_aox_options_t#

sl_rail_ble_aox_options_t

Angle of Arrival/Departure options bit fields.

Enumerator
SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT

Shift position of SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE bit.

SL_RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT

Shift position of SL_RAIL_BLE_AOX_OPTIONS_CONNLESS bit.

SL_RAIL_BLE_AOX_OPTIONS_CONN_SHIFT

Shift position of SL_RAIL_BLE_AOX_OPTIONS_CONN bit.

SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT

Shift position of SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK bit.


Function Documentation#

RAIL_BLE_LockCteBuffer#

bool RAIL_BLE_LockCteBuffer (RAIL_Handle_t railHandle, bool lock)

Lock/unlock the CTE buffer from the application's perspective.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A RAIL instance handle.

bool[in]lock

Lock the CTE buffer if true and unlock it if false.

The radio will write to the buffer only if the bit is NOT set at the beginning of the sampling period. The radio will set the bit once the sampling period starts to indicate that some CTE data has been collected, which will not be overwritten during the next sampling period, unless the buffer is unlocked by the application.

Returns

  • true if the CTE buffer is locked after the call, otherwise false.

DeprecatedRAIL 2.x synonym of sl_rail_ble_lock_cte_buffer().


RAIL_BLE_CteBufferIsLocked#

bool RAIL_BLE_CteBufferIsLocked (RAIL_Handle_t railHandle)

Determine whether the CTE buffer is currently locked or not.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A handle for RAIL instance.

Returns

  • true if CTE buffer is locked and false otherwise.

DeprecatedRAIL 2.x synonym of sl_rail_ble_cte_buffer_is_locked().


RAIL_BLE_GetCteSampleOffset#

uint8_t RAIL_BLE_GetCteSampleOffset (RAIL_Handle_t railHandle)

Get the offset into CTE sample of CTE data.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A handle for RAIL instance.

Returns

  • The offset of CTE data in a CTE sample in bytes. On unsupported platforms this returns 0.

DeprecatedRAIL 2.x synonym of sl_rail_ble_get_cte_sample_offset().


RAIL_BLE_GetCteSampleRate#

uint32_t RAIL_BLE_GetCteSampleRate (RAIL_Handle_t railHandle)

Get the effective sample rate used by the ADC to capture the CTE samples.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A handle for RAIL instance.

Returns

  • The actual sample rate used to capture the CTE in samples per second. On unsupported platforms this returns 0.

DeprecatedRAIL 2.x synonym of sl_rail_ble_get_cte_sample_rate().


RAIL_BLE_ConfigAox#

RAIL_Status_t RAIL_BLE_ConfigAox (RAIL_Handle_t railHandle, const RAIL_BLE_AoxConfig_t * aoxConfig)

Configure Angle of Arrival/Departure (AoX) functionality.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A RAIL instance handle.

const RAIL_BLE_AoxConfig_t *[in]aoxConfig

Configuration options for AoX

Returns

  • Status code indicating success of the function call.

AoX is a method of radio localization which infers angle of arrival/departure of the signal based on different phases of the raw I/Q signal from different antennas by controlling external RF switch during the continuous tone extension (CTE). Connection based AoX packets are different than normal BLE packets in that they have 3 header bytes instead of 2 and they have CTE appended after the payload's CRC. 3rd byte or CTE info contains CTE length. Connectionless AoX packets have 2 header bytes and CTE info is part of the payload.

Note

DeprecatedRAIL 2.x synonym of sl_rail_ble_config_aox().


RAIL_BLE_InitCte#

RAIL_Status_t RAIL_BLE_InitCte (RAIL_Handle_t railHandle)

Perform one time initialization of AoX registers.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A RAIL instance handle.

This function must be called before RAIL_BLE_ConfigAox() and before configuring the BLE PHY.

Returns

  • Status code indicating success of the function call.

DeprecatedRAIL 2.x synonym of sl_rail_ble_init_cte().


RAIL_BLE_ConfigAoxAntenna#

RAIL_Status_t RAIL_BLE_ConfigAoxAntenna (RAIL_Handle_t railHandle, const RAIL_BLE_AoxAntennaConfig_t * antennaConfig)

Perform initialization of AoX antenna GPIO pins.

Parameters
TypeDirectionArgument NameDescription
RAIL_Handle_t[in]railHandle

A RAIL instance handle.

const RAIL_BLE_AoxAntennaConfig_t *[in]antennaConfig

A pointer to the antenna configuration structure to hold the set of GPIO ports and pins for AoX antenna switching.

This function must be called before calls to RAIL_BLE_InitCte() and RAIL_BLE_ConfigAox(), and before configuring the BLE PHY, else a RAIL_STATUS_INVALID_CALL is returned.

If user configures more pins in RAIL_BLE_AoxAntennaConfig_t::antCount than allowed by RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then the API returns RAIL_STATUS_INVALID_PARAMETER.

If user configures lesser than or equal to number of pins allowed by RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then the requested number of pins are configured and RAIL_STATUS_NO_ERROR is returned.

If AoX antenna switching is inactive, non-AoX transmits and receives will occur on the first antenna specified by the antenna pattern or on the default antenna if no antenna pattern is provided.

Note

  • This function must only be called while channel sounding is disabled. If channel sounding has been enabled RAIL_STATUS_INVALID_STATE will be returned.

Returns

  • Status code indicating success of the function call.

Note

Warnings

  • As this function relies on GPIO access and RAIL is meant to run in TrustZone non-secure world, it is not supported if GPIO is configured as secure peripheral and it will return RAIL_STATUS_INVALID_CALL.

DeprecatedRAIL 2.x synonym of sl_rail_ble_config_aox_antenna().


sl_rail_ble_lock_cte_buffer#

bool sl_rail_ble_lock_cte_buffer (sl_rail_handle_t rail_handle, bool lock)

Lock/unlock the CTE buffer from the application's perspective.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

bool[in]lock

Lock the CTE buffer if true and unlock it if false.

The radio will write to the buffer only if the bit is NOT set at the beginning of the sampling period. The radio will set the bit once the sampling period starts to indicate that some CTE data has been collected, which will not be overwritten during the next sampling period, unless the buffer is unlocked by the application.

Returns

  • true if the CTE buffer is locked after the call, otherwise false.


sl_rail_ble_cte_buffer_is_locked#

bool sl_rail_ble_cte_buffer_is_locked (sl_rail_handle_t rail_handle)

Determine whether the CTE buffer is currently locked or not.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

Returns

  • true if CTE buffer is locked and false otherwise.


sl_rail_ble_get_cte_sample_offset#

uint8_t sl_rail_ble_get_cte_sample_offset (sl_rail_handle_t rail_handle)

Get the offset into CTE sample of CTE data.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

Returns

  • The offset of CTE data in a CTE sample in bytes. On unsupported platforms this returns 0.


sl_rail_ble_get_cte_sample_rate#

uint32_t sl_rail_ble_get_cte_sample_rate (sl_rail_handle_t rail_handle)

Get the effective sample rate used by the ADC to capture the CTE samples.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

Returns

  • The actual sample rate used to capture the CTE in samples per second. On unsupported platforms this returns 0.


sl_rail_ble_config_aox#

sl_rail_status_t sl_rail_ble_config_aox (sl_rail_handle_t rail_handle, const sl_rail_ble_aox_config_t * p_aox_config)

Configure Angle of Arrival/Departure (AoX) functionality.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

const sl_rail_ble_aox_config_t *[in]p_aox_config

A pointer to AoX configuration settings.

Returns

  • Status code indicating success of the function call.

AoX is a method of radio localization which infers angle of arrival/departure of the signal based on different phases of the raw I/Q signal from different antennas by controlling external RF switch during the continuous tone extension (CTE). Connection based AoX packets are different than normal BLE packets in that they have 3 header bytes instead of 2 and they have CTE appended after the payload's CRC. 3rd byte or CTE info contains CTE length. Connectionless AoX packets have 2 header bytes and CTE info is part of the payload.

Note


sl_rail_ble_init_cte#

sl_rail_status_t sl_rail_ble_init_cte (sl_rail_handle_t rail_handle)

Perform one time initialization of AoX registers.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

This function must be called before sl_rail_ble_config_aox() and before configuring the BLE PHY.

Returns

  • Status code indicating success of the function call.


sl_rail_ble_config_aox_antenna#

sl_rail_status_t sl_rail_ble_config_aox_antenna (sl_rail_handle_t rail_handle, const sl_rail_ble_aox_antenna_config_t * p_antenna_config)

Perform initialization of AoX antenna GPIO pins.

Parameters
TypeDirectionArgument NameDescription
sl_rail_handle_t[in]rail_handle

A real RAIL instance handle.

const sl_rail_ble_aox_antenna_config_t *[in]p_antenna_config

A pointer to the antenna configuration structure to hold the set of GPIO ports and pins for AoX antenna switching.

This function must be called before calls to sl_rail_ble_init_cte() and sl_rail_ble_config_aox(), and before configuring the BLE PHY, else a SL_RAIL_STATUS_INVALID_CALL is returned.

If user configures more pins in sl_rail_ble_aox_antenna_config_t::antenna_count than allowed by SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then the API returns SL_RAIL_STATUS_INVALID_PARAMETER.

If user configures lesser than or equal to number of pins allowed by SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then the requested number of pins are configured and SL_RAIL_STATUS_NO_ERROR is returned.

If AoX antenna switching is inactive, non-AoX transmits and receives will occur on the first antenna specified by the antenna pattern or on the default antenna if no antenna pattern is provided.

Note

  • This function must only be called while channel sounding is disabled. If channel sounding has been enabled SL_RAIL_STATUS_INVALID_STATE will be returned.

Returns

  • Status code indicating success of the function call.

Note

Warnings

  • As this function relies on GPIO access and RAIL is meant to run in TrustZone non-secure world, it is not supported if GPIO is configured as secure peripheral and it will return SL_RAIL_STATUS_INVALID_CALL.


Macro Definition Documentation#

RAIL_BLE_AOX_ANTENNA_PIN_COUNT#

#define RAIL_BLE_AOX_ANTENNA_PIN_COUNT
Value:
(6U)

The maximum number of GPIO pins used for AoX Antenna switching.

If the user configures more pins using RAIL_BLE_ConfigAoxAntenna() than allowed RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then RAIL_STATUS_INVALID_PARAMETER status will be returned.

RAIL_STATUS_INVALID_CALL is returned if : RAIL_BLE_AOX_ANTENNA_PIN_COUNT is set to 0 or the user configures no pins.

The maximum value RAIL_BLE_AOX_ANTENNA_PIN_COUNT can take depends on number of Antenna route pins , a chip provides. For EFR32xG22, the maximum value of RAIL_BLE_AOX_ANTENNA_PIN_COUNT is 6. If the user configures fewer pins than RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then only number of pins asked by user will be configured with RAIL_STATUS_NO_ERROR.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT.


RAIL_BLE_AOX_OPTIONS_DO_SWITCH#

#define RAIL_BLE_AOX_OPTIONS_DO_SWITCH
Value:
(0U)

DeprecatedObsolete AOX option.


RAIL_BLE_AOX_OPTIONS_TX_ENABLED#

#define RAIL_BLE_AOX_OPTIONS_TX_ENABLED
Value:
(0U)

DeprecatedObsolete AOX option.


RAIL_BLE_AOX_OPTIONS_RX_ENABLED#

#define RAIL_BLE_AOX_OPTIONS_RX_ENABLED
Value:
(0U)

DeprecatedObsolete AOX option.


RAIL_BLE_AOX_OPTIONS_LOCK_CTE_BUFFER_SHIFT#

#define RAIL_BLE_AOX_OPTIONS_LOCK_CTE_BUFFER_SHIFT
Value:
RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT

DeprecatedUse SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT instead.


RAIL_BLE_AOX_OPTIONS_DISABLED#

#define RAIL_BLE_AOX_OPTIONS_DISABLED
Value:
(0U)

Disable the AoX feature.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_DISABLED.


RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE#

#define RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE
Value:
(1U << RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT)

Sets one of the two AoX sampling/switching modes: 1 us or 2 us window.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE.


RAIL_BLE_AOX_OPTIONS_CONNLESS#

#define RAIL_BLE_AOX_OPTIONS_CONNLESS
Value:
(1U << RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT)

Enables connectionless AoX Rx packets.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_CONNLESS.


RAIL_BLE_AOX_OPTIONS_CONN#

#define RAIL_BLE_AOX_OPTIONS_CONN
Value:
(1U << RAIL_BLE_AOX_OPTIONS_CONN_SHIFT)

Enables connection based AoX Rx packets.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_CONN.


RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK#

#define RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK
Value:
(1U << RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT)

Disables CTE buffer lock.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK.


RAIL_BLE_AOX_OPTIONS_ENABLED#

#define RAIL_BLE_AOX_OPTIONS_ENABLED
Value:
(RAIL_BLE_AOX_OPTIONS_CONN | RAIL_BLE_AOX_OPTIONS_CONNLESS)

Enables connection based or connectionless AoX Rx packets.

DeprecatedRAIL 2.x synonym of SL_RAIL_BLE_AOX_OPTIONS_ENABLED.


SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT#

#define SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT
Value:
(6U)

The maximum number of GPIO pins used for AoX Antenna switching.

If the user configures more pins using sl_rail_ble_config_aox_antenna() than allowed SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then SL_RAIL_STATUS_INVALID_PARAMETER status will be returned.

SL_RAIL_STATUS_INVALID_CALL is returned if SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT is set to 0 or the user configures no pins.

The maximum value SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT can take depends on number of Antenna route pins , a chip provides. For EFR32xG22, the maximum value of SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT is 6. If the user configures fewer pins than SL_RAIL_BLE_AOX_ANTENNA_PIN_COUNT, then only number of pins asked by user will be configured with SL_RAIL_STATUS_NO_ERROR.


SL_RAIL_BLE_AOX_OPTIONS_DISABLED#

#define SL_RAIL_BLE_AOX_OPTIONS_DISABLED
Value:
(0U)

Disable the AoX feature.


SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE#

#define SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE
Value:
(1U << SL_RAIL_BLE_AOX_OPTIONS_SAMPLE_MODE_SHIFT)

Sets one of the two AoX sampling/switching modes: 1 us or 2 us window.


SL_RAIL_BLE_AOX_OPTIONS_CONNLESS#

#define SL_RAIL_BLE_AOX_OPTIONS_CONNLESS
Value:
(1U << SL_RAIL_BLE_AOX_OPTIONS_CONNLESS_SHIFT)

Enables connectionless AoX Rx packets.


SL_RAIL_BLE_AOX_OPTIONS_CONN#

#define SL_RAIL_BLE_AOX_OPTIONS_CONN
Value:
(1U << SL_RAIL_BLE_AOX_OPTIONS_CONN_SHIFT)

Enables connection based AoX Rx packets.


SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK#

#define SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK
Value:
(1U << SL_RAIL_BLE_AOX_OPTIONS_DISABLE_BUFFER_LOCK_SHIFT)

Disables CTE buffer lock.


SL_RAIL_BLE_AOX_OPTIONS_ENABLED#

#define SL_RAIL_BLE_AOX_OPTIONS_ENABLED
Value:
(SL_RAIL_BLE_AOX_OPTIONS_CONN | SL_RAIL_BLE_AOX_OPTIONS_CONNLESS)

Enables connection based or connectionless AoX Rx packets.