From 82fd41f2a550c2872a2e4b8a76532c3b95bb9418 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell <andrew@tridgell.net> Date: Sat, 22 Sep 2018 22:00:37 +1000 Subject: [PATCH] mavutil: added mav_pps on links --- mavutil.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mavutil.py b/mavutil.py index 34e8947a..0c27dd0e 100644 --- a/mavutil.py +++ b/mavutil.py @@ -151,6 +151,9 @@ class mavfile(object): self.last_seq = {} self.missing_seq = {} self.mav_loss = 0 + self.mav_pps_time = time.time() + self.mav_pps_count = 0 + self.mav_pps = 0 self.mav_count = 0 self.stop_on_EOF = False self.portdead = False @@ -236,8 +239,9 @@ class mavfile(object): '''default post message call''' if '_posted' in msg.__dict__: return + now = time.time() msg._posted = True - msg._timestamp = time.time() + msg._timestamp = now type = msg.get_type() if type != 'HEARTBEAT' or self.probably_vehicle_heartbeat(msg): self.messages[type] = msg @@ -285,6 +289,12 @@ class mavfile(object): #print("lost %u seq=%u seq2=%u last_seq=%u src_system=%u %s" % (diff, seq, seq2, last_seq, src_system, msg.get_type())) self.last_seq[src_tuple] = seq2 self.mav_count += 1 + self.mav_pps_count += 1 + if now - self.mav_pps_time >= 1.0: + self.mav_pps = 0.9 * self.mav_pps + 0.1 * self.mav_pps_count / (now - self.mav_pps_time) + self.mav_pps_count = 0 + self.mav_pps_time = now + self.timestamp = msg._timestamp if type == 'HEARTBEAT' and self.probably_vehicle_heartbeat(msg): -- GitLab