monitor: Decode LE Periodic Advertising Sync Lost Event
authorSzymon Janc <szymon.janc@codecoup.pl>
Wed, 22 May 2019 09:24:03 +0000 (11:24 +0200)
committerhimanshu <h.himanshu@samsung.com>
Tue, 11 Feb 2020 08:57:47 +0000 (14:27 +0530)
> HCI Event: LE Meta Event (0x3e) plen 3
      LE Periodic Advertising Sync Lost (0x10)
        Sync handle: 0

Change-Id: I6297353c871636e5a065bbd3dc038a27cf0aeefe
Signed-off-by: himanshu <h.himanshu@samsung.com>
monitor/bt.h
monitor/packet.c

index 8622ea4..8edc895 100755 (executable)
@@ -3114,6 +3114,11 @@ struct bt_hci_le_per_adv_report {
        uint8_t  data[0];
 } __attribute__ ((packed));
 
+#define BT_HCI_EVT_LE_PER_SYNC_LOST    0x10
+struct bt_hci_evt_le_per_sync_lost {
+       uint16_t handle;
+} __attribute__ ((packed));
+
 #define BT_HCI_EVT_LE_ADV_SET_TERM             0x12
 struct bt_hci_evt_le_adv_set_term {
        uint8_t  status;
index 4b75497..ad23504 100755 (executable)
@@ -9873,6 +9873,13 @@ static void le_per_adv_report_evt(const void *data, uint8_t size)
        packet_hexdump(evt->data, evt->data_len);
 }
 
+static void le_per_adv_sync_lost(const void *data, uint8_t size)
+{
+       const struct bt_hci_evt_le_per_sync_lost *evt = data;
+
+       print_field("Sync handle: %d", evt->handle);
+}
+
 static void le_adv_set_term_evt(const void *data, uint8_t size)
 {
        const struct bt_hci_evt_le_adv_set_term *evt = data;
@@ -9990,7 +9997,8 @@ static const struct subevent_data le_meta_event_table[] = {
                                le_per_adv_sync, 15, true },
        { 0x0f, "LE Periodic Advertising Report",
                                le_per_adv_report_evt, 7, false},
-       { 0x10, "LE Periodic Advertising Sync Lost" },
+       { 0x10, "LE Periodic Advertising Sync Lost",
+                               le_per_adv_sync_lost, 2, true},
        { 0x11, "LE Scan Timeout" },
        { 0x12, "LE Advertising Set Terminated",
                                le_adv_set_term_evt, 5, true},