2011-01-24 19:32:38

by Andre Dieb Martins

[permalink] [raw]
Subject: [PATCH 1/2] Fix time intervals dumping of LE commands.

Add missing btohs() convertions and spec. constants for converting time
intervals for LE Set Scan Parameters and LE Set Advertising Parameters.
---
parser/hci.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/parser/hci.c b/parser/hci.c
index d9bac9b..41a19b4 100644
--- a/parser/hci.c
+++ b/parser/hci.c
@@ -1582,7 +1582,8 @@ static inline void le_set_advertising_parameters_dump(int level, struct frame *f
le_set_advertising_parameters_cp *cp = frm->ptr;

p_indent(level, frm);
- printf("min 0x%04xms max 0x%04xms\n", cp->min_interval, cp->max_interval);
+ printf("min %.3fms, max %.3fms\n", btohs(cp->min_interval) * 0.625,
+ btohs(cp->max_interval) * 0.625);

p_indent(level, frm);
printf("type 0x%02x (%s) ownbdaddr 0x%02x (%s)\n", cp->advtype,
@@ -1608,7 +1609,8 @@ static inline void le_set_scan_parameters_dump(int level, struct frame *frm)
cp->type == 0x00 ? "passive" : "active");

p_indent(level, frm);
- printf("interval %04xms window %04xms\n", cp->interval, cp->window);
+ printf("interval %.3fms window %.3fms\n", btohs(cp->interval) * 0.625,
+ btohs(cp->window) * 0.625);

p_indent(level, frm);
printf("own address: 0x%02x (%s) policy: %s\n", cp->own_bdaddr_type,
--
1.7.1



2011-01-31 08:36:24

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH 2/2] Implement dumping for evnet LE Connection Update Complete.

Hi Andr?

On Mon, Jan 24, 2011, Andr? Dieb Martins wrote:
> ---
> parser/hci.c | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)

Both patches have been pushed upstream. Thanks.

Johan

2011-01-24 19:32:39

by Andre Dieb Martins

[permalink] [raw]
Subject: [PATCH 2/2] Implement dumping for evnet LE Connection Update Complete.

---
parser/hci.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/parser/hci.c b/parser/hci.c
index 41a19b4..64c3b0c 100644
--- a/parser/hci.c
+++ b/parser/hci.c
@@ -3532,6 +3532,19 @@ static inline void evt_le_advertising_report_dump(int level, struct frame *frm)
}
}

+static inline void evt_le_conn_update_complete_dump(int level, struct frame *frm)
+{
+ evt_le_connection_update_complete *uevt = frm->ptr;
+
+ p_indent(level, frm);
+ printf("status 0x%2.2x handle %d\n", uevt->status, btohs(uevt->handle));
+
+ p_indent(level, frm);
+ printf("interval %.2fms, latency %.2fms, superv. timeout %.2fms\n",
+ btohs(uevt->interval) * 1.25, btohs(uevt->latency) * 1.25,
+ btohs(uevt->supervision_timeout) * 10.0);
+}
+
static inline void le_meta_ev_dump(int level, struct frame *frm)
{
evt_le_meta_event *mevt = frm->ptr;
@@ -3552,6 +3565,9 @@ static inline void le_meta_ev_dump(int level, struct frame *frm)
case EVT_LE_ADVERTISING_REPORT:
evt_le_advertising_report_dump(level + 1, frm);
break;
+ case EVT_LE_CONN_UPDATE_COMPLETE:
+ evt_le_conn_update_complete_dump(level + 1, frm);
+ break;
default:
raw_dump(level, frm);
break;
--
1.7.1