Diff between 195eb65225af0755391f82a51f6ab8deec43cd89 and 50e790bb57337e68e2ee915f7cb6addad7eefdc6

Changed Files

File Additions Deletions Status
monitor/bt.h +7 -0 modified
monitor/ll.c +2 -2 modified
monitor/lmp.c +14 -3 modified
monitor/packet.c +5 -0 modified
monitor/packet.h +1 -0 modified

Full Patch

diff --git a/monitor/bt.h b/monitor/bt.h
index 1758880..5bf37bb 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -112,6 +112,11 @@ struct bt_lmp_not_accepted {
 	uint8_t  error;
 } __attribute__ ((packed));
 
+#define BT_LMP_DETACH			7
+struct bt_lmp_detach {
+	uint8_t  error;
+} __attribute__ ((packed));
+
 #define BT_LMP_VERSION_REQ		37
 struct bt_lmp_version_req {
 	uint8_t  version;
@@ -136,6 +141,8 @@ struct bt_lmp_features_res {
 	uint8_t  features[8];
 } __attribute__ ((packed));
 
+#define BT_LMP_SETUP_COMPLETE		49
+
 #define BT_LMP_ACCEPTED_EXT		LMP_ESC4(1)
 struct bt_lmp_accepted_ext {
 	uint8_t  escape;
diff --git a/monitor/ll.c b/monitor/ll.c
index 1a66572..25a1b7d 100644
--- a/monitor/ll.c
+++ b/monitor/ll.c
@@ -399,7 +399,7 @@ static void terminate_ind(const void *data, uint8_t size)
 {
 	const struct bt_ll_terminate_ind *pdu = data;
 
-	print_field("Error code: 0x%2.2x", pdu->error);
+	packet_print_error("Error code", pdu->error);
 }
 
 static void enc_req(const void *data, uint8_t size)
@@ -457,7 +457,7 @@ static void reject_ind(const void *data, uint8_t size)
 {
 	const struct bt_ll_reject_ind *pdu = data;
 
-	print_field("Error code: 0x%2.2x", pdu->error);
+	packet_print_error("Error code", pdu->error);
 }
 
 struct llcp_data {
diff --git a/monitor/lmp.c b/monitor/lmp.c
index e9cff73..325b712 100644
--- a/monitor/lmp.c
+++ b/monitor/lmp.c
@@ -67,7 +67,14 @@ static void not_accepted(const void *data, uint8_t size)
 	const struct bt_lmp_not_accepted *pdu = data;
 
 	print_opcode(pdu->opcode);
-	print_field("Error code: %u", pdu->error);
+	packet_print_error("Error code", pdu->error);
+}
+
+static void detach(const void *data, uint8_t size)
+{
+	const struct bt_lmp_detach *pdu = data;
+
+	packet_print_error("Error code", pdu->error);
 }
 
 static void version_req(const void *data, uint8_t size)
@@ -102,6 +109,10 @@ static void features_res(const void *data, uint8_t size)
 	packet_print_features_lmp(pdu->features, 0x00);
 }
 
+static void setup_complete(const void *data, uint8_t size)
+{
+}
+
 static void accepted_ext(const void *data, uint8_t size)
 {
 	const struct bt_lmp_accepted_ext *pdu = data;
@@ -168,7 +179,7 @@ static const struct lmp_data lmp_table[] = {
 	{  4, "LMP_not_accepted", not_accepted, 2, true },
 	{  5, "LMP_clkoffset_req" },
 	{  6, "LMP_clkoffset_res" },
-	{  7, "LMP_detach" },
+	{  7, "LMP_detach", detach, 1, true },
 	{  8, "LMP_in_rand" },
 	{  9, "LMP_comb_key" },
 	{ 10, "LMP_unit_key" },
@@ -210,7 +221,7 @@ static const struct lmp_data lmp_table[] = {
 	{ 46, "LMP_max_slot_req" },
 	{ 47, "LMP_timing_accuracy_req" },
 	{ 48, "LMP_timing_accuracy_res" },
-	{ 49, "LMP_setup_complete" },
+	{ 49, "LMP_setup_complete", setup_complete, 0, true },
 	{ 50, "LMP_use_semi_permanent_key" },
 	{ 51, "LMP_host_connection_req" },
 	{ 52, "LMP_slot_offset" },
diff --git a/monitor/packet.c b/monitor/packet.c
index a324a82..b8a9801 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
@@ -397,6 +397,11 @@ static void print_reason(uint8_t reason)
 	print_error("Reason", reason);
 }
 
+void packet_print_error(const char *label, uint8_t error)
+{
+	print_error(label, error);
+}
+
 static void print_addr(const char *label, const uint8_t *addr,
 						uint8_t addr_type)
 {
diff --git a/monitor/packet.h b/monitor/packet.h
index 7d18342..eed417f 100644
--- a/monitor/packet.h
+++ b/monitor/packet.h
@@ -40,6 +40,7 @@ void packet_del_filter(unsigned long filter);
 void packet_select_index(uint16_t index);
 
 void packet_hexdump(const unsigned char *buf, uint16_t len);
+void packet_print_error(const char *label, uint8_t error);
 void packet_print_version(const char *label, uint8_t version,
 				const char *sublabel, uint16_t subversion);
 void packet_print_company(const char *label, uint16_t company);