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.
14339
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14354
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14381
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
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_sync_transfer_received - Triggered after synchronization transfer is received for a periodic advertising train that does not have subevents or response slots. This event is used only when the application does not include bluetooth_feature_periodic_sync or bluetooth_feature_pawr_sync components.
sl_bt_evt_periodic_sync_transfer_received - If the application includes the bluetooth_feature_periodic_sync or bluetooth_feature_pawr_sync component, 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.
14472
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
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_sync_transfer_received - Triggered after synchronization transfer is received for a periodic advertising train that does not have subevents or response slots. This event is used only when the application does not include bluetooth_feature_periodic_sync or bluetooth_feature_pawr_sync components.
sl_bt_evt_periodic_sync_transfer_received - If the application includes the bluetooth_feature_periodic_sync or bluetooth_feature_pawr_sync component, 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.
14565
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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 |
14592
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14629
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14647
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14673
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14688
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14712
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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.
14725
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14043
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14044
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14045
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14046
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14047
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_cte_receiver_configure_id#
#define sl_bt_cmd_cte_receiver_configure_idValue:
0x00450020
14048
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14049
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14050
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14051
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14052
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14053
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14054
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14055
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14056
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14057
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14058
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14059
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_cte_receiver_configure_id#
#define sl_bt_rsp_cte_receiver_configure_idValue:
0x00450020
14060
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14061
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14062
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14063
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14064
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14065
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/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
14066
of file /mnt/raid/workspaces/ws.0zwF9W456/overlay/gsdk/protocol/bluetooth/build_debug/bt_api/sw/bgapi/inc/sl_bt_api.h