CTE Receiver#
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.
Modules#
CTE type flags for limiting periodic advertising synchronization
sl_bt_evt_cte_receiver_dtm_iq_report
sl_bt_evt_cte_receiver_connection_iq_report
sl_bt_evt_cte_receiver_connectionless_iq_report
sl_bt_evt_cte_receiver_silabs_iq_report
Functions#
Macros#
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)
[in] | cte_length | Expected CTE length in 8 us units
Default: 0 (no CTE) |
[in] | cte_type | Expected CTE type
Default: 0 |
[in] | slot_durations | Slot durations
Default: 1 |
[in] | switching_pattern_len | Length of data in |
[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. |
Set CTE-related parameters of LE receiver test.
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.
14091
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
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.
14106
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_set_sync_cte_type#
sl_status_t sl_bt_cte_receiver_set_sync_cte_type (uint8_t sync_cte_type)
[in] | sync_cte_type | Sync CTE type flags. This value can be a bitmask of multiple flags from CTE type flags for limiting periodic advertising synchronization. Flags:
Default: 0 |
Set the sync CTE type to limit what types of periodic advertisers to sync to when scanning for periodic advertising synchronization. The set parameter takes effect immediately for all advertisers that have not already established synchronization.
Returns
SL_STATUS_OK if successful. Error code otherwise.
14133
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_set_default_sync_receive_parameters#
sl_status_t sl_bt_cte_receiver_set_default_sync_receive_parameters (uint8_t mode, uint16_t skip, uint16_t timeout, uint8_t sync_cte_type, uint8_t reporting_mode)
[in] | mode | Enum sl_bt_past_receiver_mode_t. The mode to specify how the Bluetooth stack reacts when synchronization information is received. Values:
Default: sl_bt_past_receiver_mode_ignore (No attempt is made to synchronize) |
[in] | skip | The maximum number of periodic advertising packets that can be skipped after a successful receive.
|
[in] | timeout | The maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. Unit: 10 ms.
|
[in] | sync_cte_type | Sync CTE type flags to limit what types of periodic advertising trains to sync to when receiving sync transfers. This value can be a bitmask of multiple flags from CTE type flags for limiting periodic advertising synchronization. Flags:
Default: 0 (do not limit synchronization by CTE type) |
[in] | reporting_mode | Enum sl_bt_sync_reporting_mode_t. Specifies the initial mode for reporting data received in the periodic advertising train after it has achieved synchronization. Values:
Default: sl_bt_sync_report_all (Data received in periodic advertising trains is reported to the application) |
Set the default parameters and the CTE type limitation for receiving Periodic Advertising Synchronization Transfers (PAST) over connections. The default parameters will be in effect for all subsequent connections and do not affect connections that have already opened. The parameters can be overridden for a specific connection using command sl_bt_cte_receiver_set_sync_receive_parameters after the connection is opened.
Irrespective of the value of the skip
parameter, the Controller stops skipping packets if the skipping would cause a timeout.
This command is relevant and available only when the application has included the bluetooth_feature_past_receiver component into the build. If the PAST receiver component is not included, this command returns the error SL_STATUS_NOT_AVAILABLE.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_periodic_sync_transfer_received - Triggered after synchronization transfer is received for a periodic advertising train that does not have subevents or response slots.
sl_bt_evt_pawr_sync_transfer_received - If the application includes the bluetooth_feature_pawr_sync component, triggered after synchronization transfer is received for a Periodic Advertising with Responses (PAwR) train.
14227
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_set_sync_receive_parameters#
sl_status_t sl_bt_cte_receiver_set_sync_receive_parameters (uint8_t connection, uint8_t mode, uint16_t skip, uint16_t timeout, uint8_t sync_cte_type, uint8_t reporting_mode)
[in] | connection | Connection handle |
[in] | mode | Enum sl_bt_past_receiver_mode_t. The mode to specify how the Bluetooth stack reacts when synchronization information is received. Values:
Default: sl_bt_past_receiver_mode_ignore (Do not attempt to synchronize) |
[in] | skip | The maximum number of periodic advertising packets that can be skipped after a successful receive.
|
[in] | timeout | The maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. Unit: 10 ms.
|
[in] | sync_cte_type | Sync CTE type flags to limit what types of periodic advertising trains to sync to when receiving sync transfers. This value can be a bitmask of multiple flags from CTE type flags for limiting periodic advertising synchronization. Flags:
Default: 0 (do not limit synchronization by CTE type) |
[in] | reporting_mode | Enum sl_bt_sync_reporting_mode_t. Specifies the initial mode for reporting data received in the periodic advertising train after it has achieved synchronization. Values:
Default: sl_bt_sync_report_all (Data received in periodic advertising trains is reported to the application) |
Set the parameters and the CTE type limitation for receiving Periodic Advertising Synchronization Transfers (PAST) over the specified connection. The parameters do not affect periodic advertising trains that the device has already synchronized to.
Irrespective of the value of the skip
parameter, the Controller stops skipping packets if the skipping would cause a timeout.
This command is relevant and available only when the application has included the bluetooth_feature_past_receiver component into the build. If the PAST receiver component is not included, this command returns the error SL_STATUS_NOT_AVAILABLE.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_periodic_sync_transfer_received - Triggered after synchronization transfer is received for a periodic advertising train that does not have subevents or response slots.
sl_bt_evt_pawr_sync_transfer_received - If the application includes the bluetooth_feature_pawr_sync component, triggered after synchronization transfer is received for a Periodic Advertising with Responses (PAwR) train.
14323
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_configure#
sl_status_t sl_bt_cte_receiver_configure (uint8_t flags)
N/A | flags |
14350
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
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)
[in] | connection | Connection handle |
[in] | interval | Measurement interval. CTE requests may be sent less often. For example, if a connection event is missed for any reason, the CTE request will be sent in the next connection event.
|
[in] | cte_length | Minimum CTE length requested in 8 us units.
|
[in] | cte_type | Requested CTE type
|
[in] | slot_durations | Slot durations
|
[in] | switching_pattern_len | Length of data in |
[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. |
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.
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.
14390
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_disable_connection_cte#
sl_status_t sl_bt_cte_receiver_disable_connection_cte (uint8_t connection)
[in] | connection | Connection handle |
Stop the IQ sampling on a connection. CTEs will not be requested on the given connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
14408
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
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)
[in] | sync | Periodic advertising synchronization handle |
[in] | slot_durations | Slot durations
|
[in] | cte_count | - 0: Sample and report all available CTEs
|
[in] | switching_pattern_len | Length of data in |
[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. |
Start IQ sampling on a periodic advertising synchronization. IQ samples are taken on each CTE found in the periodic advertisements.
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.
14434
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cte_receiver_disable_connectionless_cte#
sl_status_t sl_bt_cte_receiver_disable_connectionless_cte (uint16_t sync)
[in] | sync | Periodic advertising synchronization handle |
Stop IQ sampling on a periodic advertising synchronization.
Returns
SL_STATUS_OK if successful. Error code otherwise.
14449
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
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)
[in] | slot_durations | Slot durations
|
[in] | cte_count | - 0: Sample and report all available CTEs
|
[in] | switching_pattern_len | Length of data in |
[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. |
Enable IQ sampling of Silicon Labs CTE found in extended advertisements.
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.
14473
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
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.
14486
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
Macro Definition Documentation#
sl_bt_cmd_cte_receiver_set_dtm_parameters_id#
#define sl_bt_cmd_cte_receiver_set_dtm_parameters_idValue:
0x05450020
13795
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_clear_dtm_parameters_id#
#define sl_bt_cmd_cte_receiver_clear_dtm_parameters_idValue:
0x06450020
13796
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_set_sync_cte_type_id#
#define sl_bt_cmd_cte_receiver_set_sync_cte_type_idValue:
0x09450020
13797
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_set_default_sync_receive_parameters_id#
#define sl_bt_cmd_cte_receiver_set_default_sync_receive_parameters_idValue:
0x0a450020
13798
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_set_sync_receive_parameters_id#
#define sl_bt_cmd_cte_receiver_set_sync_receive_parameters_idValue:
0x0b450020
13799
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_configure_id#
#define sl_bt_cmd_cte_receiver_configure_idValue:
0x00450020
13800
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_enable_connection_cte_id#
#define sl_bt_cmd_cte_receiver_enable_connection_cte_idValue:
0x01450020
13801
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_disable_connection_cte_id#
#define sl_bt_cmd_cte_receiver_disable_connection_cte_idValue:
0x02450020
13802
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_enable_connectionless_cte_id#
#define sl_bt_cmd_cte_receiver_enable_connectionless_cte_idValue:
0x03450020
13803
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_disable_connectionless_cte_id#
#define sl_bt_cmd_cte_receiver_disable_connectionless_cte_idValue:
0x04450020
13804
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_enable_silabs_cte_id#
#define sl_bt_cmd_cte_receiver_enable_silabs_cte_idValue:
0x07450020
13805
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_disable_silabs_cte_id#
#define sl_bt_cmd_cte_receiver_disable_silabs_cte_idValue:
0x08450020
13806
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_set_dtm_parameters_id#
#define sl_bt_rsp_cte_receiver_set_dtm_parameters_idValue:
0x05450020
13807
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_clear_dtm_parameters_id#
#define sl_bt_rsp_cte_receiver_clear_dtm_parameters_idValue:
0x06450020
13808
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_set_sync_cte_type_id#
#define sl_bt_rsp_cte_receiver_set_sync_cte_type_idValue:
0x09450020
13809
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_set_default_sync_receive_parameters_id#
#define sl_bt_rsp_cte_receiver_set_default_sync_receive_parameters_idValue:
0x0a450020
13810
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_set_sync_receive_parameters_id#
#define sl_bt_rsp_cte_receiver_set_sync_receive_parameters_idValue:
0x0b450020
13811
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_configure_id#
#define sl_bt_rsp_cte_receiver_configure_idValue:
0x00450020
13812
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_enable_connection_cte_id#
#define sl_bt_rsp_cte_receiver_enable_connection_cte_idValue:
0x01450020
13813
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_disable_connection_cte_id#
#define sl_bt_rsp_cte_receiver_disable_connection_cte_idValue:
0x02450020
13814
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_enable_connectionless_cte_id#
#define sl_bt_rsp_cte_receiver_enable_connectionless_cte_idValue:
0x03450020
13815
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_disable_connectionless_cte_id#
#define sl_bt_rsp_cte_receiver_disable_connectionless_cte_idValue:
0x04450020
13816
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_enable_silabs_cte_id#
#define sl_bt_rsp_cte_receiver_enable_silabs_cte_idValue:
0x07450020
13817
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_disable_silabs_cte_id#
#define sl_bt_rsp_cte_receiver_disable_silabs_cte_idValue:
0x08450020
13818
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h