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.
14120
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14135
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14162
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14256
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14352
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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 |
14379
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14419
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14437
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14463
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14478
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14502
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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.
14515
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13824
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13825
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13826
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13827
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13828
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13829
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13830
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13831
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13832
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13833
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13834
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13835
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13836
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13837
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13838
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13839
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13840
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13841
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13842
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13843
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13844
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13845
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13846
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/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
13847
of file /mnt/raid/workspaces/ws.iS2YF8Lrv/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h