diff --git a/iw/event.c b/iw/event.c index 6e4f041..e771461 100644 --- a/iw/event.c +++ b/iw/event.c @@ -365,9 +365,8 @@ static void parse_ftm_results(struct nlattr **attrs, int status, rssi = tb[NL80211_FTM_RESP_ENTRY_ATTR_RSSI] ? (signed int)nla_get_s8(tb[NL80211_FTM_RESP_ENTRY_ATTR_RSSI]) : 0; - printf("Target: %s, status: %d, " + - "rtt: %lld (±%lld) psec, " + - "distance: %lld (±%lld)cm, rssi: %d dBm", + printf( + "Target: %s, status: %d, rtt: %lld (±%lld) psec, distance: %lld (±%lld) cm, rssi: %d dBm", macbuf, nla_get_u8(tb[NL80211_FTM_RESP_ENTRY_ATTR_STATUS]), rtt, rtt_var, dist, dist_var, rssi); diff --git a/libMeasurement.py b/libMeasurement.py index a760377..4717091 100755 --- a/libMeasurement.py +++ b/libMeasurement.py @@ -45,8 +45,8 @@ class Measurement(object): print(str(e)) self.regex = ( r"Target: (([0-9a-f]{2}:*){6}), " + - r"status: ([0-9]), rtt: ([0-9\-]+) psec, " + - r"distance: ([0-9\-]+) cm" + r"status: ([0-9]), rtt: ([0-9\-]+) \(±([0-9\-]+)\) psec, " + + r"distance: ([0-9\-]+) \(±([0-9\-]+)\) cm, rssi: ([0-9\-]+) dBm" ) self.cali = cali if not self.check_iw_validity(): @@ -111,7 +111,10 @@ class Measurement(object): mac = match.group(1) status = int(match.group(3)) rtt = int(match.group(4)) - raw_distance = int(match.group(5)) + rtt_var = int(match.group(5)) + raw_distance = int(match.group(6)) + raw_distance_var = int(match.group(7)) + rssi = int(match.group(8)) if status is not 0 or raw_distance < -1000: continue distance = self.cali[0] * raw_distance + self.cali[1]