From db493ac0d37f77f070f84ebb8ba91dfc339e9ea8 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 8 Nov 2012 18:01:34 +0100 Subject: [PATCH] monitor: Add decoding for command to set advertising --- monitor/bt.h | 5 +++++ monitor/packet.c | 24 +++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/monitor/bt.h b/monitor/bt.h index e6f148801..fcd79d7cd 100644 --- a/monitor/bt.h +++ b/monitor/bt.h @@ -752,6 +752,11 @@ struct bt_hci_rsp_le_read_adv_tx_power { int8_t level; } __attribute__ ((packed)); +#define BT_HCI_CMD_LE_SET_ADV_ENABLE 0x200a +struct bt_hci_cmd_le_set_adv_enable { + uint8_t enable; +} __attribute__ ((packed)); + #define BT_HCI_CMD_LE_SET_SCAN_PARAMETERS 0x200b struct bt_hci_cmd_le_set_scan_parameters { uint8_t type; diff --git a/monitor/packet.c b/monitor/packet.c index 4cf246e23..5574c8c08 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -2602,6 +2602,26 @@ static void le_set_random_address_cmd(const void *data, uint8_t size) print_addr(cmd->addr, 0x01); } +static void le_set_adv_enable_cmd(const void *data, uint8_t size) +{ + const struct bt_hci_cmd_le_set_adv_enable *cmd = data; + const char *str; + + switch (cmd->enable) { + case 0x00: + str = "Disabled"; + break; + case 0x01: + str = "Enabled"; + break; + default: + str = "Reserved"; + break; + } + + print_field("Advertising: %s (0x%2.2x)", str, cmd->enable); +} + static void le_set_scan_parameters_cmd(const void *data, uint8_t size) { const struct bt_hci_cmd_le_set_scan_parameters *cmd = data; @@ -3178,7 +3198,9 @@ static const struct opcode_data opcode_table[] = { { 0x2007, "LE Read Advertising Channel TX Power"}, { 0x2008, "LE Set Advertising Data" }, { 0x2009, "LE Set Scan Response Data" }, - { 0x200a, "LE Set Advertise Enable" }, + { 0x200a, "LE Set Advertise Enable", + le_set_adv_enable_cmd, 1, true, + status_rsp, 1, true }, { 0x200b, "LE Set Scan Parameters", le_set_scan_parameters_cmd, 7, true, status_rsp, 1, true }, -- 2.47.3