From c6c4a230983a91ce1e03c40aabbb2858d662a193 Mon Sep 17 00:00:00 2001 From: wangmengyang Date: Thu, 21 Jul 2022 11:50:32 +0800 Subject: [PATCH] component/bt: consider to handle HCI LE Direct Advertising Report --- components/bt/host/bluedroid/hci/hci_hal_h4.c | 2 +- components/bt/host/bluedroid/stack/btm/btm_ble_gap.c | 8 ++++++++ .../bt/host/bluedroid/stack/btm/include/btm_ble_int.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/components/bt/host/bluedroid/hci/hci_hal_h4.c b/components/bt/host/bluedroid/hci/hci_hal_h4.c index e55b2d99ef..a8501a1771 100644 --- a/components/bt/host/bluedroid/hci/hci_hal_h4.c +++ b/components/bt/host/bluedroid/hci/hci_hal_h4.c @@ -268,7 +268,7 @@ bool host_recv_adv_packet(uint8_t *packet) { assert(packet); if(packet[0] == DATA_TYPE_EVENT && packet[1] == HCI_BLE_EVENT) { - if(packet[3] == HCI_BLE_ADV_PKT_RPT_EVT + if(packet[3] == HCI_BLE_ADV_PKT_RPT_EVT || packet[3] == HCI_BLE_DIRECT_ADV_EVT #if (BLE_ADV_REPORT_FLOW_CONTROL == TRUE) || packet[3] == HCI_BLE_ADV_DISCARD_REPORT_EVT #endif diff --git a/components/bt/host/bluedroid/stack/btm/btm_ble_gap.c b/components/bt/host/bluedroid/stack/btm/btm_ble_gap.c index f1a96a497d..6976996e75 100644 --- a/components/bt/host/bluedroid/stack/btm/btm_ble_gap.c +++ b/components/bt/host/bluedroid/stack/btm/btm_ble_gap.c @@ -3481,6 +3481,8 @@ static void btm_adv_pkt_handler(void *arg) btm_ble_process_adv_pkt(p); } else if (ble_sub_code == HCI_BLE_ADV_DISCARD_REPORT_EVT) { btm_ble_process_adv_discard_evt(p); + } else if (ble_sub_code == HCI_BLE_DIRECT_ADV_EVT) { + btm_ble_process_direct_adv_pkt(p); } else { assert (0); } @@ -3794,6 +3796,12 @@ void btm_ble_process_adv_discard_evt(UINT8 *p) } #endif } + +void btm_ble_process_direct_adv_pkt(UINT8 *p) +{ + // TODO +} + /******************************************************************************* ** ** Function btm_ble_start_scan diff --git a/components/bt/host/bluedroid/stack/btm/include/btm_ble_int.h b/components/bt/host/bluedroid/stack/btm/include/btm_ble_int.h index 25116a992b..3d33a3566f 100644 --- a/components/bt/host/bluedroid/stack/btm/include/btm_ble_int.h +++ b/components/bt/host/bluedroid/stack/btm/include/btm_ble_int.h @@ -389,6 +389,7 @@ extern "C" { void btm_ble_timeout(TIMER_LIST_ENT *p_tle); void btm_ble_process_adv_pkt (UINT8 *p); void btm_ble_process_adv_discard_evt(UINT8 *p); +void btm_ble_process_direct_adv_pkt (UINT8 *p); bool btm_ble_adv_pkt_ready(void); bool btm_ble_adv_pkt_post(pkt_linked_item_t *pkt); void btm_ble_proc_scan_rsp_rpt (UINT8 *p);