mavspec 0.6.7

A set of code generation utilities for MAVLink protocol.
Documentation
//! MAVLink [microservices](https://mavlink.io/en/services/).
//!
//! This module provides access to MAVLink microservices support.
//!
//! Microservices are enabled via `msrv-*` feature flags. Additional tools are provided through
//! `msrv-utils-*` feature flags.

#[cfg(feature = "msrv-utils")]
#[cfg(feature = "unstable")]
pub mod utils;

/// MAVLink [heartbeat protocol](https://mavlink.io/en/services/heartbeat.html)
///
/// Set `msrv-heartbeat` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-heartbeat")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::heartbeat;

/// MAVLink [mission protocol](https://mavlink.io/en/services/mission.html)
///
/// Set the `msrv-mission` feature flag to enable this microservice.
///
/// The subdialect is exposed as [`MissionMsrv`](crate::rust::microservices::mission::MissionMsrv).
#[cfg(feature = "msrv-mission")]
pub mod mission {
    use crate::rust::default_dialect::microservices::mission as msrv;

    #[doc(inline)]
    pub use msrv::*;

    #[cfg(feature = "msrv-utils-mission")]
    #[cfg(feature = "unstable")]
    #[doc(inline)]
    pub use super::utils::mission::*;
}

/// MAVLink [parameter protocol](https://mavlink.io/en/services/parameter.html)
///
/// Set `msrv-parameter` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-parameter")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::parameter;

/// MAVLink [extended parameter protocol](https://mavlink.io/en/services/parameter_ext.html)
///
/// Set `msrv-parameter-ext` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-parameter-ext")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::parameter_ext;

/// MAVLink [command protocol](https://mavlink.io/en/services/command.html)
///
/// Set `msrv-command` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-command")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::command;

/// MAVLink [manual control protocol](https://mavlink.io/en/services/manual_control.html)
///
/// Set `msrv-manual-control` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-manual-control")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::manual_control;

/// MAVLink [camera protocol](https://mavlink.io/en/services/camera.html)
///
/// Set `msrv-camera` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-camera")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::camera;

/// MAVLink [gimbal v1 protocol](https://mavlink.io/en/services/gimbal.html)
///
/// Set `msrv-gimbal-v1` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-gimbal-v1")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::gimbal_v1;

/// MAVLink [gimbal v2 protocol](https://mavlink.io/en/services/gimbal_v2.html)
///
/// Set `msrv-gimbal-v2` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-gimbal-v2")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::gimbal_v2;

/// MAVLink [command protocol](https://mavlink.io/en/services/arm_authorization.html)
///
/// Set `msrv-arm-auth` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-arm-auth")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::arm_auth;

/// MAVLink [image transmission protocol](https://mavlink.io/en/services/image_transmission.html)
///
/// Set `msrv-image-transmission` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-image-transmission")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::image_transmission;

/// MAVLink [FTP protocol](https://mavlink.io/en/services/ftp.html)
///
/// Set `msrv-ftp` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-ftp")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::ftp;

/// MAVLink [landing target protocol](https://mavlink.io/en/services/landing_target.html)
///
/// Set `msrv-landing-target` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-landing-target")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::landing_target;

/// MAVLink [ping protocol](https://mavlink.io/en/services/ping.html)
///
/// Set `msrv-ping` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-ping")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::ping;

/// MAVLink [path planning protocol](https://mavlink.io/en/services/trajectory.html)
///
/// Set `msrv-path-planning` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-path-planning")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::path_planning;

/// MAVLink [battery protocol](https://mavlink.io/en/services/battery.html)
///
/// Set `msrv-battery` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-battery")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::battery;

/// MAVLink [terrain protocol](https://mavlink.io/en/services/terrain.html)
///
/// Set `msrv-terrain` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-terrain")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::terrain;

/// MAVLink [tunnel protocol](https://mavlink.io/en/services/tunnel.html)
///
/// Set `msrv-tunnel` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-tunnel")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::tunnel;

/// MAVLink [open drone ID protocol](https://mavlink.io/en/services/opendroneid.html)
///
/// Set `msrv-open-drone-id` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-open-drone-id")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::open_drone_id;

/// MAVLink [high latency protocol](https://mavlink.io/en/services/high_latency.html)
///
/// Set `msrv-high-latency` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-high-latency")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::high_latency;

/// MAVLink [component metadata protocol](https://mavlink.io/en/services/component_information.html)
///
/// Set `msrv-component-metadata` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-component-metadata")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::component_metadata;

/// MAVLink [payload protocol](https://mavlink.io/en/services/payload.html)
///
/// Set `msrv-payload` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-payload")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::payload;

/// MAVLink [traffic management protocol](https://mavlink.io/en/services/traffic_management.html)
///
/// Set `msrv-traffic-management` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-traffic-management")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::traffic_management;

/// MAVLink [events interface protocol](https://mavlink.io/en/services/events.html)
///
/// Set `msrv-events-interface` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-events-interface")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::events_interface;

/// MAVLink [time synchronization protocol](https://mavlink.io/en/services/timesync.html)
///
/// Set `msrv-time-sync` feature flag to enable this microservice.
///
/// ---
#[cfg(feature = "msrv-time-sync")]
#[doc(inline)]
pub use crate::rust::default_dialect::microservices::time_sync;

#[cfg(feature = "unstable")]
#[cfg(feature = "msrv-telemetry")]
pub mod telemetry;