summaryrefslogtreecommitdiff
path: root/monitor/ll.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2019-02-26 19:01:14 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2019-03-07 09:37:13 +0200
commitf09aecdc8a025e081048d5df461b65969eb8378c (patch)
tree1ee9024a68af2bf379cd4d4c3a65068e7c30a48b /monitor/ll.c
parent30ca440e8697f8ecbe0e91c9910bc1b6a798d215 (diff)
downloadbluez-f09aecdc8a025e081048d5df461b65969eb8378c.tar.gz
monitor: Decode LL_CTE_*
This introduces the command passing for LL_CTE_* PDUs added in 5.1.
Diffstat (limited to 'monitor/ll.c')
-rw-r--r--monitor/ll.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/monitor/ll.c b/monitor/ll.c
index ff757725b..34f3e2cfc 100644
--- a/monitor/ll.c
+++ b/monitor/ll.c
@@ -550,6 +550,26 @@ static void min_used_channels(const void *data, uint8_t size)
print_field("MinUsedChannels: 0x%2.2x", pdu->min_channels);
}
+static void cte_req(const void *data, uint8_t size)
+{
+ const struct bt_ll_cte_req *pdu = data;
+
+ print_field("MinCTELenReq: 0x%2.2x", pdu->cte & 0xf8);
+ print_field("CTETypeReq: 0x%2.2x", pdu->cte & 0x03);
+
+ switch (pdu->cte & 0x03) {
+ case 0x00:
+ print_field(" AoA Constant Tone Extension");
+ break;
+ case 0x01:
+ print_field(" AoD Constant Tone Extension with 1 μs slots");
+ break;
+ case 0x02:
+ print_field(" AoD Constant Tone Extension with 2 μs slots");
+ break;
+ }
+}
+
struct llcp_data {
uint8_t opcode;
const char *str;
@@ -585,6 +605,8 @@ static const struct llcp_data llcp_table[] = {
{ 0x17, "LL_PHY_RSP", phy_req_rsp, 2, true },
{ 0x18, "LL_PHY_UPDATE_IND", phy_update_ind, 4, true },
{ 0x19, "LL_MIN_USED_CHANNELS_IND", min_used_channels, 2, true },
+ { 0x1a, "LL_CTE_REQ", cte_req, 1, true },
+ { 0x1b, "LL_CTE_RSP", null_pdu, 0, true },
{ }
};