mavkit 0.3.0

Async MAVLink SDK for vehicle control, missions, and parameters
Documentation
use mavkit::Vehicle;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let bind_addr =
        std::env::var("MAVKIT_EXAMPLE_UDP_BIND").unwrap_or_else(|_| "0.0.0.0:14550".to_string());

    let vehicle = Vehicle::connect_udp(&bind_addr).await?;
    println!("listening for status messages (Ctrl+C to stop)...\n");

    let mut st_rx = vehicle.statustext();

    loop {
        st_rx.changed().await?;
        if let Some(msg) = st_rx.borrow().clone() {
            println!("[{}] {}", msg.severity, msg.text);
        }
    }
}