Skip to main content

Module vehicle

Module vehicle 

Source
Expand description

A MAVLink vehicle modelled as a pamoja [Device].

Vehicle wraps a Connection over any ByteLink and presents an autopilot through the core device traits, so a PX4 or ArduPilot vehicle drives like any other pamoja device from any language binding. It maps the three surfaces a ground station needs onto the device model:

  • [Device] - connect waits for the vehicle’s first heartbeat (and learns its system and component id), and the vehicle’s stable id is its MAVLink address.
  • [Telemetry] - next_frame yields the next decoded telemetry Report.
  • [Actuator] - apply streams an offboard Setpoint.

On top of those it offers the mission and command surfaces as async methods that drive the sans-IO protocol machines over the link, applying the mission protocol’s timeout-and-retransmit rules: upload_mission and download_mission run the plan transfer, and send_command (with arm, set_mode, takeoff, and friends) run the command protocol.

This layer is available with the default std feature; the wire core and the protocol machines below it are no_std.

Structs§

Vehicle
A MAVLink vehicle over a ByteLink, exposed through the pamoja device model.

Enums§

Report
A decoded telemetry report from a Vehicle.
Setpoint
An offboard control setpoint, in the local or global frame.

Constants§

GCS_COMPONENT
The conventional ground-station component id.