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 bg_err_not_supported on devices that do not support CTE.
cte_receiver commands#
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.
C API#
/* Function */
struct gecko_msg_cte_receiver_clear_dtm_parameters_rsp_t *gecko_cmd_cte_receiver_clear_dtm_parameters();
/* Response id */
gecko_rsp_cte_receiver_clear_dtm_parameters_id
/* Response structure */
struct gecko_msg_cte_receiver_clear_dtm_parameters_rsp_t
{
uint16 result;
}Command does not have parameters (for BGAPI headers refer to link)#
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
cte_receiver_disable_connection_cte#
Stop the IQ sampling on a connection. CTEs will not be requested on the given connection.
C API#
/* Function */
struct gecko_msg_cte_receiver_disable_connection_cte_rsp_t *gecko_cmd_cte_receiver_disable_connection_cte(uint8 connection);
/* Response id */
gecko_rsp_cte_receiver_disable_connection_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_disable_connection_cte_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | connection | Connection handle |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
cte_receiver_disable_connectionless_cte#
Stop IQ sampling on a periodic advertising synchronization.
C API#
/* Function */
struct gecko_msg_cte_receiver_disable_connectionless_cte_rsp_t *gecko_cmd_cte_receiver_disable_connectionless_cte(uint8 sync);
/* Response id */
gecko_rsp_cte_receiver_disable_connectionless_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_disable_connectionless_cte_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | sync | Periodic advertising synchronization handle |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
cte_receiver_disable_silabs_cte#
Disable IQ sampling of Silicon Labs CTE.
C API#
/* Function */
struct gecko_msg_cte_receiver_disable_silabs_cte_rsp_t *gecko_cmd_cte_receiver_disable_silabs_cte();
/* Response id */
gecko_rsp_cte_receiver_disable_silabs_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_disable_silabs_cte_rsp_t
{
uint16 result;
}Command does not have parameters (for BGAPI headers refer to link)#
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
cte_receiver_enable_connection_cte#
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.
C API#
/* Function */
struct gecko_msg_cte_receiver_enable_connection_cte_rsp_t *gecko_cmd_cte_receiver_enable_connection_cte(uint8 connection, uint16 interval, uint8 cte_length, uint8 cte_type, uint8 slot_durations, uint8 switching_pattern_len, const uint8 *switching_pattern_data);
/* Response id */
gecko_rsp_cte_receiver_enable_connection_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_enable_connection_cte_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | connection | Connection handle |
uint16 | interval | Measurement interval
|
uint8 | cte_length | Minimum CTE length requested in 8 us units.
|
uint8 | cte_type | Requested CTE type
|
uint8 | slot_durations | Slot durations
|
uint8 | switching_pattern_len | Array length. |
uint8array | switching_pattern_data | 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. |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
Events generated#
Event | Description |
|---|---|
cte_receiver_connection_iq_report | Triggered when IQ samples have been received. |
cte_receiver_enable_connectionless_cte#
Start IQ sampling on a periodic advertising synchronization. IQ samples are taken on each CTE found in the periodic advertisements.
C API#
/* Function */
struct gecko_msg_cte_receiver_enable_connectionless_cte_rsp_t *gecko_cmd_cte_receiver_enable_connectionless_cte(uint8 sync, uint8 slot_durations, uint8 cte_count, uint8 switching_pattern_len, const uint8 *switching_pattern_data);
/* Response id */
gecko_rsp_cte_receiver_enable_connectionless_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_enable_connectionless_cte_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | sync | Periodic advertising synchronization handle |
uint8 | slot_durations | Slot durations
|
uint8 | cte_count |
|
uint8 | switching_pattern_len | Array length. |
uint8array | switching_pattern_data | 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. |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
Events generated#
Event | Description |
|---|---|
cte_receiver_connectionless_iq_report | Triggered when IQ samples have been received. |
cte_receiver_enable_silabs_cte#
Enable IQ sampling of Silicon Labs CTE found in extended advertisements.
C API#
/* Function */
struct gecko_msg_cte_receiver_enable_silabs_cte_rsp_t *gecko_cmd_cte_receiver_enable_silabs_cte(uint8 slot_durations, uint8 cte_count, uint8 switching_pattern_len, const uint8 *switching_pattern_data);
/* Response id */
gecko_rsp_cte_receiver_enable_silabs_cte_id
/* Response structure */
struct gecko_msg_cte_receiver_enable_silabs_cte_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | slot_durations | Slot durations
|
uint8 | cte_count |
|
uint8 | switching_pattern_len | Array length. |
uint8array | switching_pattern_data | 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. |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
Events generated#
Event | Description |
|---|---|
cte_receiver_silabs_iq_report | Triggered when IQ samples of Silicon Labs CTE have been received. |
cte_receiver_set_dtm_parameters#
Set CTE-related parameters of LE receiver test.
C API#
/* Function */
struct gecko_msg_cte_receiver_set_dtm_parameters_rsp_t *gecko_cmd_cte_receiver_set_dtm_parameters(uint8 cte_length, uint8 cte_type, uint8 slot_durations, uint8 switching_pattern_len, const uint8 *switching_pattern_data);
/* Response id */
gecko_rsp_cte_receiver_set_dtm_parameters_id
/* Response structure */
struct gecko_msg_cte_receiver_set_dtm_parameters_rsp_t
{
uint16 result;
}Command Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint8 | cte_length | Expected CTE length in 8 us units
Default: 0 (no CTE) |
uint8 | cte_type | Expected CTE type
Default: 0 |
uint8 | slot_durations | Slot durations
Default: 1 |
uint8 | switching_pattern_len | Array length. |
uint8array | switching_pattern_data | Antenna switching pattern. Antennas will be switched in this order with the antenna switch pins during CTE. If theCTE is longer than the switching pattern, the pattern starts over. Default: empty array |
Response Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | result | Result code
|
Events generated#
Event | Description |
|---|---|
cte_receiver_dtm_iq_report | Triggered when IQ samples have been received. |
cte_receiver events#
cte_receiver_connection_iq_report#
IQ sample report from connection CTE packets.
C API#
/* event id*/
gecko_evt_cte_receiver_connection_iq_report_id
/* event structure*/
struct gecko_msg_cte_receiver_connection_iq_report_evt_t
{
uint16 status;
uint8 connection;
uint8 phy;
uint8 channel;
int8 rssi;
uint8 rssi_antenna_id;
uint8 cte_type;
uint8 slot_durations;
uint16 event_counter;
uint8array samples;
}Event Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | status | Status of CTE IQ sampling |
uint8 | connection | Connection handle or periodic advertising synchronization handle |
uint8 | phy | The PHY on which the packet is received.
|
uint8 | channel | The channel on which the CTE packet was received |
int8 | rssi | RSSI in the received CTE packet. Unit: dBm |
uint8 | rssi_antenna_id | The ID of the antenna on which RSSI was measured |
uint8 | cte_type | The CTE type
|
uint8 | slot_durations | Slot durations
|
uint16 | event_counter | The event counter of the connection |
uint8array | samples | IQ samples of the received CTE packet. I and Q samples follow each other alternately (I, Q, I, Q , ...) |
cte_receiver_connectionless_iq_report#
IQ sample report from connectionless CTE packets.
C API#
/* event id*/
gecko_evt_cte_receiver_connectionless_iq_report_id
/* event structure*/
struct gecko_msg_cte_receiver_connectionless_iq_report_evt_t
{
uint16 status;
uint8 sync;
uint8 channel;
int8 rssi;
uint8 rssi_antenna_id;
uint8 cte_type;
uint8 slot_durations;
uint16 event_counter;
uint8array samples;
}Event Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | status | Status of CTE IQ sampling |
uint8 | sync | Periodic advertising synchronization handle |
uint8 | channel | The channel on which the CTE packet was received |
int8 | rssi | RSSI in the received CTE packet. Unit: dBm |
uint8 | rssi_antenna_id | The ID of the antenna on which RSSI was measured |
uint8 | cte_type | The CTE type
|
uint8 | slot_durations | Slot durations
|
uint16 | event_counter | The event counter of the periodic advertising train |
uint8array | samples | IQ samples of the received CTE packet. I and Q samples follow each other alternately (I, Q, I, Q , ...) |
cte_receiver_dtm_iq_report#
IQ sample report from DTM CTE packets.
C API#
/* event id*/
gecko_evt_cte_receiver_dtm_iq_report_id
/* event structure*/
struct gecko_msg_cte_receiver_dtm_iq_report_evt_t
{
uint16 status;
uint8 channel;
int8 rssi;
uint8 rssi_antenna_id;
uint8 cte_type;
uint8 slot_durations;
uint16 event_counter;
uint8array samples;
}Event Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | status | Status of CTE IQ sampling |
uint8 | channel | The channel on which the CTE packet was received |
int8 | rssi | RSSI in the received CTE packet. Unit: dBm |
uint8 | rssi_antenna_id | The ID of the antenna on which RSSI was measured |
uint8 | cte_type | The CTE type
|
uint8 | slot_durations | Slot durations
|
uint16 | event_counter | The event counter of the periodic advertising trainor the connection |
uint8array | samples | IQ samples of the received CTE packet. I and Qsamples follow each other alternately (I, Q, I, Q , ...) |
cte_receiver_silabs_iq_report#
IQ samples report from Silicon Labs CTE packets.
C API#
/* event id*/
gecko_evt_cte_receiver_silabs_iq_report_id
/* event structure*/
struct gecko_msg_cte_receiver_silabs_iq_report_evt_t
{
uint16 status;
bd_addr address;
uint8 address_type;
uint8 phy;
uint8 channel;
int8 rssi;
uint8 rssi_antenna_id;
uint8 cte_type;
uint8 slot_durations;
uint16 packet_counter;
uint8array samples;
}Event Parameters (for BGAPI headers refer to link)#
Type | Name | Description |
|---|---|---|
uint16 | status | Status of CTE IQ sampling |
bd_addr | address | Bluetooth address of the remote device |
uint8 | address_type | Advertiser address type. Values:
|
uint8 | phy | The CTE type
|
uint8 | channel | The channel on which the CTE packet was received |
int8 | rssi | RSSI in the received CTE packet. Unit: dBm |
uint8 | rssi_antenna_id | The ID of the antenna on which RSSI was measured |
uint8 | cte_type | The PHY on which the packet is received.
|
uint8 | slot_durations | Slot durations
|
uint16 | packet_counter | The event counter of the periodic advertising train or the connection |
uint8array | samples | IQ samples of the received CTE packet. I and Q samples follow each other alternately (I, Q, I, Q , ...) |