Example #1
0
 def incomingPacket(self, vehname: str, pkt):
     """
     Incoming packet
     """
     # Send statustext to UI
     if pkt.get_type() == "STATUSTEXT":
         self.printVeh(pkt.text, vehname)
     # Mode change - update prompt (mode and arm status)
     if pkt.get_type() == "HEARTBEAT":
         if pkt.base_mode & self.vehObj(vehname).mod.MAV_MODE_FLAG_SAFETY_ARMED:
             self.changePrompt(vehname, "A|" + mode_toString(pkt, self.getMav(vehname)))
         else:
             self.changePrompt(vehname, "D|" + mode_toString(pkt, self.getMav(vehname)))
         self.application._redraw()
Example #2
0
 def incomingPacket(self, vehname: str, pkt):
     """
     On new packet
     """
     # if heartbeat
     if pkt.get_type() == "HEARTBEAT":
         # if mode changed, tell user
         if pkt.custom_mode != self.lastMode[vehname]:
             self.printer(vehname, "Mode changed to: " +
                          str(mode_toString(pkt, self.getMav(vehname))))
             self.lastMode[vehname] = pkt.custom_mode
Example #3
0
 def incomingPacket(self, vehname: str, pkt):
     """
     Incoming packet
     """
     # Send statustext to UI
     if pkt.get_type() == "STATUSTEXT":
         self.printVeh(pkt.text, vehname)
     # Mode change - update prompt
     if pkt.get_type() == "HEARTBEAT":
         self.changePrompt(vehname, mode_toString(pkt, self.mod))
         self.application._redraw()
Example #4
0
    def test_modemappings(self):
        """Test the mode_toString() method"""
        mavlink = getpymavlinkpackage('ardupilotmega', 2.0)

        # PX4
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_QUADROTOR, mavlink.MAV_AUTOPILOT_PX4, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "MANUAL"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_QUADROTOR, mavlink.MAV_AUTOPILOT_PX4, 0, 5, 0, 2)
        assert mode_toString(pktIn, mavlink) == "AUTO_RTL"

        # APM:Copter
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_QUADROTOR, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "STABILIZE"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_QUADROTOR, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 5, 0, 2)
        assert mode_toString(pktIn, mavlink) == "LOITER"

        # APM:Rover
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_GROUND_ROVER, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "MANUAL"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_GROUND_ROVER, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 10, 0, 2)
        assert mode_toString(pktIn, mavlink) == "AUTO"

        # APM:Sub
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_SUBMARINE, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "STABILIZE"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_SUBMARINE, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 4, 0, 2)
        assert mode_toString(pktIn, mavlink) == "GUIDED"

        # APM:Plane
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_FIXED_WING, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "MANUAL"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_FIXED_WING, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 20, 0, 2)
        assert mode_toString(pktIn, mavlink) == "QLAND"

        # APM:Antenna Tracker
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_ANTENNA_TRACKER, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 0, 0, 2)
        assert mode_toString(pktIn, mavlink) == "MANUAL"
        pktIn = mavlink.MAVLink_heartbeat_message(
            mavlink.MAV_TYPE_ANTENNA_TRACKER, mavlink.MAV_AUTOPILOT_ARDUPILOTMEGA, 0, 2, 0, 2)
        assert mode_toString(pktIn, mavlink) == "SCAN"