Namespace MavNet.PX4.Base
Classes
- Vehicle
Logical handle to one MAVLink vehicle: a typed view of its telemetry plus async command helpers built on the canonical MAVLink command pattern (COMMAND_LONG → race ACK against state-change HEARTBEAT, with timeout).
Vehicle is a consumer of MavlinkConnection — it subscribes to the connection's typed events in its constructor and filters by the target SystemId/ComponentId. Multiple Vehicles can in principle share one Connection (they each filter for their own sender), though our factories create one Vehicle per Connection for simplicity.
Thread model. State writes happen on the connection's receive thread. Reads are eventually-consistent — for telemetry display this is fine. StateChanged fires synchronously on the receive thread; consumers must marshal to their UI thread themselves.
Metadata.Id and Name are opt-in, mutable, never read by the library — set them from your fleet/registry if you want them to follow the vehicle around.