def _add_msg(self, m): '''add a new message''' type = m.get_type() self.messages[type] = m if not type in self.counts: self.counts[type] = 0 else: self.counts[type] += 1 if not type in self.counts_since_gps: self.counts_since_gps[type] = 0 else: self.counts_since_gps[type] += 1 if type == 'TIME' and 'StartTime' in m._fieldnames: self.px4_timebase = m.StartTime * 1.0e-6 self.px4_timestamps = True if type == 'GPS': self._adjust_time_base(m) if type == 'MODE': if isinstance(m.Mode, str): self.flightmode = m.Mode.upper() elif 'ModeNum' in m._fieldnames: self.flightmode = mavutil.mode_string_apm(m.ModeNum) else: self.flightmode = mavutil.mode_string_acm(m.Mode) if type == 'STAT': if 'MainState' in m._fieldnames: self.flightmode = mavutil.mode_string_px4(m.MainState) else: self.flightmode = "UNKNOWN" if type == 'PARM' and getattr(m, 'Name', None) is not None: self.params[m.Name] = m.Value self._set_time(m)
def _add_msg(self, m): '''add a new message''' type = m.get_type() self.messages[type] = m if not type in self.counts: self.counts[type] = 0 else: self.counts[type] += 1 if not type in self.counts_since_gps: self.counts_since_gps[type] = 0 else: self.counts_since_gps[type] += 1 if type == 'TIME' and 'StartTime' in m._fieldnames: self.px4_timebase = m.StartTime * 1.0e-6 self.px4_timestamps = True if type == 'GPS': self._adjust_time_base(m) if type == 'MSG': if m.Message.startswith("ArduRover"): self.mav_type = mavutil.mavlink.MAV_TYPE_GROUND_ROVER elif m.Message.startswith("ArduPlane"): self.mav_type = mavutil.mavlink.MAV_TYPE_FIXED_WING elif m.Message.startswith("ArduCopter"): self.mav_type = mavutil.mavlink.MAV_TYPE_QUADROTOR elif m.Message.startswith("Antenna"): self.mav_type = mavutil.mavlink.MAV_TYPE_ANTENNA_TRACKER if type == 'MODE': if isinstance(m.Mode, str): self.flightmode = m.Mode.upper() elif 'ModeNum' in m._fieldnames: mapping = mavutil.mode_mapping_bynumber(self.mav_type) if mapping is not None and m.ModeNum in mapping: self.flightmode = mapping[m.ModeNum] else: self.flightmode = mavutil.mode_string_acm(m.Mode) if type == 'STAT': if 'MainState' in m._fieldnames: self.flightmode = mavutil.mode_string_px4(m.MainState) else: self.flightmode = "UNKNOWN" if type == 'PARM' and getattr(m, 'Name', None) is not None: self.params[m.Name] = m.Value self._set_time(m)