123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- #ifndef ZEPHYR_INCLUDE_BLUETOOTH_DF_H_
- #define ZEPHYR_INCLUDE_BLUETOOTH_DF_H_
- enum bt_df_cte_type {
-
- BT_DF_CTE_TYPE_NONE = 0,
-
- BT_DF_CTE_TYPE_AOA = BIT(0),
-
- BT_DF_CTE_TYPE_AOD_1US = BIT(1),
-
- BT_DF_CTE_TYPE_AOD_2US = BIT(2),
-
- BT_DF_CTE_TYPE_ALL = (BT_DF_CTE_TYPE_AOA | BT_DF_CTE_TYPE_AOD_1US | BT_DF_CTE_TYPE_AOD_2US)
- };
- enum bt_df_antenna_switching_slot {
- BT_DF_ANTENNA_SWITCHING_SLOT_1US = 0x1,
- BT_DF_ANTENNA_SWITCHING_SLOT_2US = 0x2
- };
- enum bt_df_packet_status {
-
- BT_DF_CTE_CRC_OK = 0x0,
-
- BT_DF_CTE_CRC_ERR_CTE_BASED_TIME = 0x1,
-
- BT_DF_CTE_CRC_ERR_CTE_BASED_OTHER = 0x2,
-
- BT_DF_CTE_INSUFFICIENT_RESOURCES = 0xFF
- };
- struct bt_df_adv_cte_tx_param {
-
- uint8_t cte_len;
-
- uint8_t cte_type;
-
- uint8_t cte_count;
-
- uint8_t num_ant_ids;
-
- uint8_t *ant_ids;
- };
- struct bt_df_per_adv_sync_cte_rx_param {
-
- uint8_t cte_type;
-
- uint8_t slot_durations;
-
- uint8_t max_cte_count;
-
- uint8_t num_ant_ids;
-
- const uint8_t *ant_ids;
- };
- struct bt_df_per_adv_sync_iq_samples_report {
-
- uint8_t chan_idx;
-
- int16_t rssi;
-
- uint8_t rssi_ant_id;
-
- uint8_t cte_type;
-
- uint8_t slot_durations;
-
- uint8_t packet_status;
-
- uint8_t sample_count;
-
- struct bt_hci_le_iq_sample const *sample;
- };
- int bt_df_set_adv_cte_tx_param(struct bt_le_ext_adv *adv,
- const struct bt_df_adv_cte_tx_param *params);
- int bt_df_adv_cte_tx_enable(struct bt_le_ext_adv *adv);
- int bt_df_adv_cte_tx_disable(struct bt_le_ext_adv *adv);
- int bt_df_per_adv_sync_cte_rx_enable(struct bt_le_per_adv_sync *sync,
- const struct bt_df_per_adv_sync_cte_rx_param *params);
- int bt_df_per_adv_sync_cte_rx_disable(struct bt_le_per_adv_sync *sync);
- #endif
|