CTE Transmitter

CTE Transmitter.

Functions

sl_status_t sl_bt_cte_transmitter_set_dtm_parameters (uint8_t cte_length, uint8_t cte_type, size_t switching_pattern_len, const uint8_t *switching_pattern)
 
sl_status_t sl_bt_cte_transmitter_clear_dtm_parameters ()
 
sl_status_t sl_bt_cte_transmitter_enable_connection_cte (uint8_t connection, uint8_t cte_types, size_t switching_pattern_len, const uint8_t *switching_pattern)
 
sl_status_t sl_bt_cte_transmitter_disable_connection_cte (uint8_t connection)
 
sl_status_t sl_bt_cte_transmitter_enable_connectionless_cte (uint8_t handle, uint8_t cte_length, uint8_t cte_type, uint8_t cte_count, size_t switching_pattern_len, const uint8_t *switching_pattern)
 
sl_status_t sl_bt_cte_transmitter_disable_connectionless_cte (uint8_t handle)
 
sl_status_t sl_bt_cte_transmitter_enable_silabs_cte (uint8_t handle, uint8_t cte_length, uint8_t cte_type, uint8_t cte_count, size_t switching_pattern_len, const uint8_t *switching_pattern)
 
sl_status_t sl_bt_cte_transmitter_disable_silabs_cte (uint8_t handle)
 

Detailed Description

CTE Transmitter.

Commands and events in this class manage Constant Tone Extension (CTE) transmission.

CTE feature is only supported by specific devices. Commands from this class will return SL_STATUS_NOT_SUPPORTED on devices that do not support CTE.

Function Documentation

◆ sl_bt_cte_transmitter_set_dtm_parameters()

sl_status_t sl_bt_cte_transmitter_set_dtm_parameters ( uint8_t  cte_length,
uint8_t  cte_type,
size_t  switching_pattern_len,
const uint8_t *  switching_pattern 
)

Set the CTE-related parameters of the LE transmitter test.

Parameters
[in]cte_length

The length of the Constant Tone Extension in 8 us units

  • 0: No CTE
  • 0x02 to 0x14: CTE length

Default: 0 (no CTE)

[in]cte_type

CTE type

  • 0: AoA CTE
  • 1: AoD CTE with 1 us slots
  • 2: AoD CTE with 2 us slots

Default: 0

[in]switching_pattern_lenLength of data in switching_pattern
[in]switching_patternAntenna switching pattern. Antennas will be switched in this order with the antenna switch pins during CTE. If the CTE is longer than the switching pattern, the pattern starts over. This can be an empty array if CTE is unused.
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_clear_dtm_parameters()

sl_status_t sl_bt_cte_transmitter_clear_dtm_parameters ( )

Clear CTE-related parameters that were previously set for LE transmitter test. Default values will be restored for these parameters.

Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_enable_connection_cte()

sl_status_t sl_bt_cte_transmitter_enable_connection_cte ( uint8_t  connection,
uint8_t  cte_types,
size_t  switching_pattern_len,
const uint8_t *  switching_pattern 
)

Enable different types of CTE responses on a connection. CTE response will be sent once requested by the peer device using the CTE Request procedure.

Parameters
[in]connectionConnection handle
[in]cte_typesCTE types. Bitmask of the following:
  • Bit 0: AoA CTE response
  • Bit 1: AoD CTE response with 1 us slots
  • Bit 2: AoD CTE response with 2 us slots
[in]switching_pattern_lenLength of data in switching_pattern
[in]switching_patternAntenna switching pattern. Antennas will be switched in this order with the antenna switch pins during CTE. If the CTE is longer than the switching pattern, the pattern starts over.
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_disable_connection_cte()

sl_status_t sl_bt_cte_transmitter_disable_connection_cte ( uint8_t  connection)

Disable CTE responses on a connection.

Parameters
[in]connectionConnection handle
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_enable_connectionless_cte()

sl_status_t sl_bt_cte_transmitter_enable_connectionless_cte ( uint8_t  handle,
uint8_t  cte_length,
uint8_t  cte_type,
uint8_t  cte_count,
size_t  switching_pattern_len,
const uint8_t *  switching_pattern 
)

Start connectionless CTE transmit. CTEs will be transmitted in periodic advertisement packets. As a result, a periodic advertising has to be started prior to this command.

Parameters
[in]handlePeriodic advertising handle
[in]cte_lengthCTE length in 8 us units.
  • Range: 0x02 to 0x14
  • Time Range: 16 us to 160 us
[in]cte_typeCTE type
  • 0: AoA CTE
  • 1: AoD CTE with 1 us slots
  • 2: AoD CTE with 2 us slots
[in]cte_countThe number of CTEs to be transmitted in each periodic advertising interval
[in]switching_pattern_lenLength of data in switching_pattern
[in]switching_patternAntenna switching pattern. Antennas will be switched in this order with the antenna switch pins during CTE. If the CTE is longer than the switching pattern, the pattern starts over.
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_disable_connectionless_cte()

sl_status_t sl_bt_cte_transmitter_disable_connectionless_cte ( uint8_t  handle)

Stop the connectionless CTE transmit.

Parameters
[in]handlePeriodic advertising handle
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_enable_silabs_cte()

sl_status_t sl_bt_cte_transmitter_enable_silabs_cte ( uint8_t  handle,
uint8_t  cte_length,
uint8_t  cte_type,
uint8_t  cte_count,
size_t  switching_pattern_len,
const uint8_t *  switching_pattern 
)

Enable Silicon Labs CTE transmit. CTEs will be transmitted in extended advertisement packets. As a result, extended advertising has to be started prior this command.

Parameters
[in]handleAdvertising handle
[in]cte_lengthCTE length in 8 us units.
  • Range: 0x02 to 0x14
  • Time Range: 16 us to 160 us
[in]cte_typeCTE type
  • 0: AoA CTE
  • 1: AoD CTE with 1 us slots
  • 2: AoD CTE with 2 us slots
[in]cte_countThe number of CTEs to be transmitted in each extended advertising interval. Currently only cte_count = 1 is supported.
[in]switching_pattern_lenLength of data in switching_pattern
[in]switching_patternAntenna switching pattern. Antennas will be switched in this order with the antenna switch pins during CTE. If the CTE is longer than the switching pattern, the pattern starts over.
Returns
SL_STATUS_OK if successful. Error code otherwise.

◆ sl_bt_cte_transmitter_disable_silabs_cte()

sl_status_t sl_bt_cte_transmitter_disable_silabs_cte ( uint8_t  handle)

Disable Silicon Labs CTE transmit.

Parameters
[in]handleAdvertising handle
Returns
SL_STATUS_OK if successful. Error code otherwise.