56262f8207
Bluetooth Controller has a vendor specific extensions that allows it to send IQ report events with IQ samples that are 8 bits or 16 bits signed integer. To use that functionality, there is added common handler of vendor specific events. Vendor specific events handling is prioritized to be done by user provided event handler. If that is not available, then Host generic implementation enters. Added vendor specific events that are handled by common Host code are BT_HCI_EVT_VS_LE_CONNECTIONLESS_IQ_REPORT and BT_HCI_EVT_VS_LE- _CONNECTION_IQ_REPORT. The only difference between regular IQ report events is size of IQ samples, hence implementation of IQ report events is changed to use the same user callback. To avoid differentiation of user callbacks new member sample_type was added to bt_df_per_adv_sync_iq_samples- _report. Also sample member is changed to be a union, to allow easy access to IQ samples without type casting. Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
25 lines
1 KiB
C
25 lines
1 KiB
C
/*
|
|
* Copyright (c) 2020 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/* Performs initialization of Direction Finding in Host */
|
|
int le_df_init(void);
|
|
|
|
int hci_df_prepare_connectionless_iq_report(struct net_buf *buf,
|
|
struct bt_df_per_adv_sync_iq_samples_report *report,
|
|
struct bt_le_per_adv_sync **per_adv_sync_to_report);
|
|
int hci_df_vs_prepare_connectionless_iq_report(struct net_buf *buf,
|
|
struct bt_df_per_adv_sync_iq_samples_report *report,
|
|
struct bt_le_per_adv_sync **per_adv_sync_to_report);
|
|
int hci_df_prepare_connection_iq_report(struct net_buf *buf,
|
|
struct bt_df_conn_iq_samples_report *report,
|
|
struct bt_conn **conn_to_report);
|
|
int hci_df_vs_prepare_connection_iq_report(struct net_buf *buf,
|
|
struct bt_df_conn_iq_samples_report *report,
|
|
struct bt_conn **conn_to_report);
|
|
int hci_df_prepare_conn_cte_req_failed(struct net_buf *buf,
|
|
struct bt_df_conn_iq_samples_report *report,
|
|
struct bt_conn **conn_to_report);
|