From b160246157157ac08ddeefe237added0039ca439 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 28 Sep 2005 14:57:13 +0000 Subject: [PATCH] hcidump: Update preferred rate decoding --- tools/parser/lmp.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tools/parser/lmp.c b/tools/parser/lmp.c index b6a384075..ef3517f57 100644 --- a/tools/parser/lmp.c +++ b/tools/parser/lmp.c @@ -436,6 +436,59 @@ static inline void preferred_rate_dump(int level, struct frame *frm) p_indent(level, frm); printf("data rate 0x%2.2x\n", rate); + + p_indent(level, frm); + printf("Basic: "); + + printf("%suse FEC, ", rate & 0x01 ? "do not " : ""); + + switch ((rate >> 1) & 0x03) { + case 0x00: + printf("no packet-size preference\n"); + break; + case 0x01: + printf("use 1-slot packets\n"); + break; + case 0x02: + printf("use 3-slot packets\n"); + break; + case 0x03: + printf("use 5-slot packets\n"); + break; + } + + p_indent(level, frm); + printf("EDR: "); + + switch ((rate >> 3) & 0x03) { + case 0x00: + printf("use DM1 packets, "); + break; + case 0x01: + printf("use 2 Mbps packets, "); + break; + case 0x02: + printf("use 3 Mbps packets, "); + break; + case 0x03: + printf("reserved, \n"); + break; + } + + switch ((rate >> 5) & 0x03) { + case 0x00: + printf("no packet-size preference\n"); + break; + case 0x01: + printf("use 1-slot packets\n"); + break; + case 0x02: + printf("use 3-slot packets\n"); + break; + case 0x03: + printf("use 5-slot packets\n"); + break; + } } static inline void version_dump(int level, struct frame *frm) -- 2.47.3