bthost: Add support for Periodic Advertising
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Sat, 5 Mar 2022 01:22:28 +0000 (17:22 -0800)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:53 +0000 (14:55 +0530)
This adds bthost_set_pa_params and bthost_set_pa_enable.

Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
emulator/bthost.c
emulator/bthost.h

index b43eb59..ab317ea 100755 (executable)
@@ -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;
index f597d75..fb7b143 100755 (executable)
@@ -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,