From 337f4bc6aaf33184c335bee77ab103af18f33e72 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 4 Mar 2022 17:22:28 -0800 Subject: [PATCH] bthost: Add support for Periodic Advertising This adds bthost_set_pa_params and bthost_set_pa_enable. Signed-off-by: Manika Shrivastava Signed-off-by: Ayush Garg --- emulator/bthost.c | 23 +++++++++++++++++++++++ emulator/bthost.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/emulator/bthost.c b/emulator/bthost.c index b43eb59..ab317ea 100755 --- a/emulator/bthost.c +++ b/emulator/bthost.c @@ -1005,6 +1005,10 @@ static void evt_cmd_complete(struct bthost *bthost, const void *data, break; case BT_HCI_CMD_LE_SET_EXT_ADV_ENABLE: break; + case BT_HCI_CMD_LE_SET_PA_PARAMS: + break; + case BT_HCI_CMD_LE_SET_PA_ENABLE: + break; default: bthost_debug(bthost, "Unhandled cmd_complete opcode 0x%04x", opcode); @@ -3072,6 +3076,25 @@ void bthost_set_ext_adv_enable(struct bthost *bthost, uint8_t enable) send_command(bthost, BT_HCI_CMD_LE_SET_EXT_ADV_ENABLE, cp, 6); } +void bthost_set_pa_params(struct bthost *bthost) +{ + struct bt_hci_cmd_le_set_pa_params cp; + + memset(&cp, 0, sizeof(cp)); + cp.handle = 0x01; + send_command(bthost, BT_HCI_CMD_LE_SET_PA_PARAMS, &cp, sizeof(cp)); +} + +void bthost_set_pa_enable(struct bthost *bthost, uint8_t enable) +{ + struct bt_hci_cmd_le_set_pa_enable cp; + + memset(&cp, 0, sizeof(cp)); + cp.enable = enable; + cp.handle = 0x01; + send_command(bthost, BT_HCI_CMD_LE_SET_PA_ENABLE, &cp, sizeof(cp)); +} + bool bthost_search_ext_adv_addr(struct bthost *bthost, const uint8_t *addr) { const struct queue_entry *entry; diff --git a/emulator/bthost.h b/emulator/bthost.h index f597d75..fb7b143 100755 --- a/emulator/bthost.h +++ b/emulator/bthost.h @@ -95,6 +95,8 @@ void bthost_set_ext_adv_data(struct bthost *bthost, const uint8_t *data, uint8_t len); void bthost_set_ext_adv_params(struct bthost *bthost); void bthost_set_ext_adv_enable(struct bthost *bthost, uint8_t enable); +void bthost_set_pa_params(struct bthost *bthost); +void bthost_set_pa_enable(struct bthost *bthost, uint8_t enable); bool bthost_search_ext_adv_addr(struct bthost *bthost, const uint8_t *addr); void bthost_set_scan_params(struct bthost *bthost, uint8_t scan_type, -- 2.7.4