Skip to content

Communication Flow

Description of the high level communication flow which takes place during a vehicle auto-connect.

  • LinkManager always has a UDP port open waiting for a vehicle heartbeat
  • LinkManager detects a new known device type (Pixhawk, SiK Radio, PX4 Flow) that makes a UDP connection to the computer
    • LinkManager creates a new SerialLink between the computer and the device
  • Incoming bytes from the Link are sent to MAVLinkProtocol
  • MAVLinkProtocol converts the bytes into a MAVLink message
  • If the message is a HEARTBEAT the MultiVehicleManager is notified
  • MultiVehicleManager is notified of the HEARTBEAT and creates a new vehicle object based on the information in the HEARTBEAT message
  • The vehicle object instantiates the plugins that matches the vehicle
  • The ParameterLoader associated with the vehicle object sends a PARAM_REQUEST_LIST to the connected device to load parameters using the parameter protocol
  • Once the parameter load is complete, the MissionManager associated with the vehicle object requests the mission items from the connected device using the mission protocol
  • Once parameter load is complete, the VehicleComponents display their UI in the Setup view