summaryrefslogtreecommitdiff
path: root/monitor/broadcom.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2018-06-16 22:27:51 +0200
committerMarcel Holtmann <marcel@holtmann.org>2018-06-16 22:27:51 +0200
commit3a28583216c6f9bd45b8850f6c1fa4004e3d2bb4 (patch)
tree0702feac7cbacd6ad773f203b81395da7e71a921 /monitor/broadcom.c
parentd81794bf4004c13459e557c8c00daaf6fe8d060e (diff)
downloadbluez-3a28583216c6f9bd45b8850f6c1fa4004e3d2bb4.tar.gz
monitor: Add support for decoding Broadcom Raw RSSI command
Diffstat (limited to 'monitor/broadcom.c')
-rw-r--r--monitor/broadcom.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/monitor/broadcom.c b/monitor/broadcom.c
index d2304e244..475a2489f 100644
--- a/monitor/broadcom.c
+++ b/monitor/broadcom.c
@@ -49,6 +49,11 @@ static void print_handle(uint16_t handle)
packet_print_handle(handle);
}
+static void print_rssi(int8_t rssi)
+{
+ packet_print_rssi(rssi);
+}
+
static void print_sco_routing(uint8_t routing)
{
const char *str;
@@ -364,6 +369,24 @@ static void write_uart_clock_setting_cmd(const void *data, uint8_t size)
print_clock_setting(clock);
}
+static void read_raw_rssi_cmd(const void *data, uint8_t size)
+{
+ uint16_t handle = get_le16(data);
+
+ print_handle(handle);
+}
+
+static void read_raw_rssi_rsp(const void *data, uint8_t size)
+{
+ uint8_t status = get_u8(data);
+ uint16_t handle = get_le16(data + 1);
+ int8_t rssi = get_s8(data + 3);
+
+ print_status(status);
+ print_handle(handle);
+ print_rssi(rssi);
+}
+
static void write_ram_cmd(const void *data, uint8_t size)
{
uint32_t addr = get_le32(data);
@@ -540,6 +563,9 @@ static const struct vendor_ocf vendor_ocf_table[] = {
{ 0x045, "Write UART Clock Setting",
write_uart_clock_setting_cmd, 1, true,
status_rsp, 1, true },
+ { 0x048, "Read Raw RSSI",
+ read_raw_rssi_cmd, 2, true,
+ read_raw_rssi_rsp, 4, true },
{ 0x04c, "Write RAM",
write_ram_cmd, 4, false,
status_rsp, 1, true },