CTE Receiver
CTE Receiver.
Modules | |
sl_bt_evt_cte_receiver_dtm_iq_report | |
IQ sample report from DTM CTE packets. | |
sl_bt_evt_cte_receiver_connection_iq_report | |
IQ sample report from connection CTE packets. | |
sl_bt_evt_cte_receiver_connectionless_iq_report | |
IQ sample report from connectionless CTE packets. | |
sl_bt_evt_cte_receiver_silabs_iq_report | |
IQ samples report from Silicon Labs CTE packets. | |
Functions | |
sl_status_t | sl_bt_cte_receiver_set_dtm_parameters (uint8_t cte_length, uint8_t cte_type, uint8_t slot_durations, size_t switching_pattern_len, const uint8_t *switching_pattern) |
sl_status_t | sl_bt_cte_receiver_clear_dtm_parameters () |
sl_status_t | sl_bt_cte_receiver_set_sync_cte_type (uint8_t sync_cte_type) |
sl_status_t | sl_bt_cte_receiver_enable_connection_cte (uint8_t connection, uint16_t interval, uint8_t cte_length, uint8_t cte_type, uint8_t slot_durations, size_t switching_pattern_len, const uint8_t *switching_pattern) |
sl_status_t | sl_bt_cte_receiver_disable_connection_cte (uint8_t connection) |
sl_status_t | sl_bt_cte_receiver_enable_connectionless_cte (uint16_t sync, uint8_t slot_durations, uint8_t cte_count, size_t switching_pattern_len, const uint8_t *switching_pattern) |
sl_status_t | sl_bt_cte_receiver_disable_connectionless_cte (uint16_t sync) |
sl_status_t | sl_bt_cte_receiver_enable_silabs_cte (uint8_t slot_durations, uint8_t cte_count, size_t switching_pattern_len, const uint8_t *switching_pattern) |
sl_status_t | sl_bt_cte_receiver_disable_silabs_cte () |
Detailed Description
CTE Receiver.
Commands and events in this class manage Constant Tone Extension (CTE) receiving.
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_receiver_set_dtm_parameters()
sl_status_t sl_bt_cte_receiver_set_dtm_parameters | ( | uint8_t | cte_length, |
uint8_t | cte_type, |
||
uint8_t | slot_durations, |
||
size_t | switching_pattern_len, |
||
const uint8_t * | switching_pattern |
||
) |
Set CTE-related parameters of LE receiver test.
- Parameters
-
[in] cte_length
Expected CTE length in 8 us units
- 0: No CTE
- 0x02 to 0x14: Expected CTE length
Default: 0 (no CTE)
[in] cte_type
Expected CTE type
- 0: Expect AoA CTE
- 1: Expect AoD CTE with 1 us slots
- 2: Expect AoD CTE with 2 us slots
Default: 0
[in] slot_durations
Slot durations
- 1: Switching and sampling slots are 1 us each
- 2: Switching and sampling slots are 2 us each
Default: 1
[in] switching_pattern_len
Length of data in switching_pattern
[in] switching_pattern
Antenna 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.
Events
- sl_bt_evt_cte_receiver_dtm_iq_report - Triggered when IQ samples have been received.
◆ sl_bt_cte_receiver_clear_dtm_parameters()
sl_status_t sl_bt_cte_receiver_clear_dtm_parameters | ( |
| ) |
Clear CTE-related parameters that were previously set for LE receiver test. Default values will be restored for these parameters.
- Returns
- SL_STATUS_OK if successful. Error code otherwise.
◆ sl_bt_cte_receiver_set_sync_cte_type()
sl_status_t sl_bt_cte_receiver_set_sync_cte_type | ( | uint8_t | sync_cte_type | ) |
Set the sync CTE type to limit what types of periodic advertisers to sync to. The set parameter takes effect immediately for all advertisers that have not already established synchronization.
- Parameters
-
[in] sync_cte_type
Sync CTE type flags. This value can be a bitmask of multiple flags. Flags:
- 1 (bit 0): Do not sync to packets with an AoA Constant Tone Extension
- 2 (bit 1): Do not sync to packets with an AoD Constant Tone Extension with 1 us slots
- 4 (bit 2): Do not sync to packets with an AoD Constant Tone Extension with 2 us slots
- 8 (bit 3): Bit not used
- 16 (bit 4): Do not sync to packets without a Constant Tone Extension
Default: 0
- Returns
- SL_STATUS_OK if successful. Error code otherwise.
◆ sl_bt_cte_receiver_enable_connection_cte()
sl_status_t sl_bt_cte_receiver_enable_connection_cte | ( | uint8_t | connection, |
uint16_t | interval, |
||
uint8_t | cte_length, |
||
uint8_t | cte_type, |
||
uint8_t | slot_durations, |
||
size_t | switching_pattern_len, |
||
const uint8_t * | switching_pattern |
||
) |
Start IQ samplings on a connection. A CTE requests will be initiated periodically on the given connection and IQ sampling will be made on the received CTE responses.
- Parameters
-
[in] connection
Connection handle [in] interval
Measurement interval. CTE requests may be sent less often. For example, if a connetion event is missed for some reason, the CTE request will be sent in the next connection event. - 0: No interval. The request is initiated only once.
- Other values N: Initiate the request every N-th connection events
[in] cte_length
Minimum CTE length requested in 8 us units. - Range: 0x02 to 0x14
- Time Range: 16 us to 160 us
[in] cte_type
Requested CTE type - 0: AoA CTE
- 1: AoD CTE with 1 us slots
- 2: AoD CTE with 2 us slots
[in] slot_durations
Slot durations - 1: Switching and sampling slots are 1 us each
- 2: Switching and sampling slots are 2 us each
[in] switching_pattern_len
Length of data in switching_pattern
[in] switching_pattern
Antenna 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.
Events
- sl_bt_evt_cte_receiver_connection_iq_report - Triggered when IQ samples have been received.
◆ sl_bt_cte_receiver_disable_connection_cte()
sl_status_t sl_bt_cte_receiver_disable_connection_cte | ( | uint8_t | connection | ) |
Stop the IQ sampling on a connection. CTEs will not be requested on the given connection.
- Parameters
-
[in] connection
Connection handle
- Returns
- SL_STATUS_OK if successful. Error code otherwise.
◆ sl_bt_cte_receiver_enable_connectionless_cte()
sl_status_t sl_bt_cte_receiver_enable_connectionless_cte | ( | uint16_t | sync, |
uint8_t | slot_durations, |
||
uint8_t | cte_count, |
||
size_t | switching_pattern_len, |
||
const uint8_t * | switching_pattern |
||
) |
Start IQ sampling on a periodic advertising synchronization. IQ samples are taken on each CTE found in the periodic advertisements.
- Parameters
-
[in] sync
Periodic advertising synchronization handle [in] slot_durations
Slot durations - 1: Switching and sampling slots are 1 us each
- 2: Switching and sampling slots are 2 us each
[in] cte_count
- 0: Sample and report all available CTEs - Other values: Maximum number of sampled CTEs in each periodic advertising interval
[in] switching_pattern_len
Length of data in switching_pattern
[in] switching_pattern
Antenna 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.
Events
- sl_bt_evt_cte_receiver_connectionless_iq_report - Triggered when IQ samples have been received.
◆ sl_bt_cte_receiver_disable_connectionless_cte()
sl_status_t sl_bt_cte_receiver_disable_connectionless_cte | ( | uint16_t | sync | ) |
Stop IQ sampling on a periodic advertising synchronization.
- Parameters
-
[in] sync
Periodic advertising synchronization handle
- Returns
- SL_STATUS_OK if successful. Error code otherwise.
◆ sl_bt_cte_receiver_enable_silabs_cte()
sl_status_t sl_bt_cte_receiver_enable_silabs_cte | ( | uint8_t | slot_durations, |
uint8_t | cte_count, |
||
size_t | switching_pattern_len, |
||
const uint8_t * | switching_pattern |
||
) |
Enable IQ sampling of Silicon Labs CTE found in extended advertisements.
- Parameters
-
[in] slot_durations
Slot durations - 1: Switching and sampling slots are 1 us each
- 2: Switching and sampling slots are 2 us each
[in] cte_count
- 0: Sample and report all available CTEs - Other values: Maximum number of sampled CTEs in each extended advertising interval
[in] switching_pattern_len
Length of data in switching_pattern
[in] switching_pattern
Antenna 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.
Events
- sl_bt_evt_cte_receiver_silabs_iq_report - Triggered when IQ samples of Silicon Labs CTE have been received.
◆ sl_bt_cte_receiver_disable_silabs_cte()
sl_status_t sl_bt_cte_receiver_disable_silabs_cte | ( |
| ) |
Disable IQ sampling of Silicon Labs CTE.
- Returns
- SL_STATUS_OK if successful. Error code otherwise.