Cargo Features

Maviola has no features set by default.

[dependencies]
maviola = { version = "0.3.0", features = ["full", "unstable", "unsafe", "derive", "definitions", "metadata", "sync", "async", "serde", "specta", "dlct-ardupilotmega", "dlct-asluav", "dlct-avssuas", "dlct-common", "dlct-cs_air_link", "dlct-cubepilot", "dlct-development", "dlct-icarous", "dlct-matrixpilot", "dlct-minimal", "dlct-paparazzi", "dlct-standard", "dlct-ualberta", "dlct-uavionix", "dlct-all", "msrv-all", "msrv-heartbeat", "msrv-mission", "msrv-parameter", "msrv-parameter-ext", "msrv-command", "msrv-manual-control", "msrv-camera", "msrv-gimbal-v1", "msrv-gimbal-v2", "msrv-arm-auth", "msrv-image-transmission", "msrv-ftp", "msrv-landing-target", "msrv-ping", "msrv-path-planning", "msrv-battery", "msrv-terrain", "msrv-tunnel", "msrv-open-drone-id", "msrv-high-latency", "msrv-component-metadata", "msrv-payload", "msrv-traffic-management", "msrv-events-interface", "msrv-time-sync", "msrv-utils-all", "msrv-utils-mission", "msrv", "msrv-utils", "test_utils"] }

Features

default

==========================================================

Generic features

==========================================================

Default features (empty).

full = async, definitions, derive, dlct-all, msrv-all, serde, specta, sync

All stable features (no unsafe features).
This should be used instead of --all-features for most of the production environments

unstable test_utils?

Enables unstable API features.

Enables unstable of mavio

Mavka

Affects asnc::utils, sync::utils

unsafe test_utils?

Unsafe features.

Enables unsafe of mavio

derive full? test_utils?

==========================================================

MAVSpec tools

==========================================================

Includes derive maros from MAVSpec

Enables derive of mavio

definitions full?

Includes MAVLink message definitions

Enables definitions of mavio

metadata

Adds additional metadata to MAVLink entities.

Enables metadata of mavio

sync full? test_utils?

==========================================================
## I/O
==========================================================

Enables synchronous API.

Enables serialport

Affects maviola::sync, maviola::docs

async full? test_utils?

Enables asynchromous API via Tokio.

Enables tokio, tokio-serial, tokio-stream, and tokio-util, tokio of mavio and async-stream and async-trait

async-stream:

Async dependencies

Affects maviola::asnc, maviola::docs

serde full?

==========================================================

Serialization and reflection

========================================================== These features enable serde and specta support.

Enables serde support.

Enables serde and serde_arrays ^0.1.0, serde of mavio

specta full?

Enables specta support.

Enables specta and specta-util, specta of mavio

dlct-ardupilotmega dlct-all? = dlct-common

==========================================================

Dialects

========================================================== Bundle standard MAVLink dialects as defined in XML message definitions generated by MAVSpec.

Include ardupilotmega dialect

The dialect can be found in protocol::dialects::ardupilotmega module.

Enables dlct-ardupilotmega of mavio

dlct-asluav dlct-all?

Include ASLUAV dialect

The dialect can be found in protocol::dialects::asluav module.

Enables dlct-asluav of mavio

dlct-avssuas dlct-all? = dlct-common

Include AVSSUAS dialect

The dialect can be found in protocol::dialects::avssuas module.

Enables dlct-avssuas of mavio

dlct-common dlct-all? dlct-ardupilotmega? dlct-avssuas? dlct-cubepilot? dlct-development? dlct-matrixpilot? dlct-paparazzi? dlct-ualberta? dlct-uavionix? msrv-arm-auth? msrv-battery? msrv-camera? msrv-command? msrv-component-metadata? msrv-events-interface? msrv-ftp? msrv-gimbal-v1? msrv-gimbal-v2? msrv-high-latency? msrv-image-transmission? msrv-landing-target? msrv-manual-control? msrv-mission? msrv-open-drone-id? msrv-parameter? msrv-parameter-ext? msrv-path-planning? msrv-payload? msrv-ping? msrv-terrain? msrv-time-sync? msrv-traffic-management? msrv-tunnel? msrv-utils-mission? = dlct-minimal

Include common dialect

The dialect can be found in protocol::dialects::common module.

Enables dlct-common of mavio

Include csAirLink dialect

The dialect can be found in protocol::dialects::cs_air_link module.

Enables dlct-cs_air_link of mavio

dlct-cubepilot dlct-all? = dlct-common

Include cubepilot dialect

The dialect can be found in protocol::dialects::cubepilot module.

Enables dlct-cubepilot of mavio

dlct-development dlct-all? = dlct-common

Include development dialect

The dialect can be found in protocol::dialects::development module.

Enables dlct-development of mavio

dlct-icarous dlct-all?

Include icarous dialect

The dialect can be found in protocol::dialects::icarous module.

Enables dlct-icarous of mavio

dlct-matrixpilot dlct-all? = dlct-common

Include matrixpilot dialect

The dialect can be found in protocol::dialects::matrixpilot module.

Enables dlct-matrixpilot of mavio

dlct-minimal dlct-all? dlct-common? dlct-standard? msrv-heartbeat?

Include minimal dialect

The dialect can be found in protocol::dialects::minimal module.

Enables mavio

dlct-paparazzi dlct-all? = dlct-common

Include paparazzi dialect

The dialect can be found in protocol::dialects::paparazzi module.

Enables dlct-paparazzi of mavio

dlct-standard dlct-all? = dlct-minimal

Include standard dialect

The dialect can be found in protocol::dialects::ualberta module.

Enables dlct-standard of mavio

dlct-ualberta dlct-all? = dlct-common

Include ualberta dialect

The dialect can be found in protocol::dialects::ualberta module.

Enables dlct-ualberta of mavio

dlct-uavionix dlct-all? = dlct-common

Include uAvionix dialect

The dialect can be found in protocol::dialects::u_avionix module.

Enables dlct-uavionix of mavio

dlct-all full? = dlct-ardupilotmega, dlct-asluav, dlct-avssuas, dlct-common, dlct-cs_air_link, dlct-cubepilot, dlct-development, dlct-icarous, dlct-matrixpilot, dlct-minimal, dlct-paparazzi, dlct-standard, dlct-ualberta, dlct-uavionix

Include all meta-dialect

The dialect can be found in protocol::dialects::all module.

Enables dlct-all of mavio

msrv-all full? = msrv-arm-auth, msrv-battery, msrv-camera, msrv-command, msrv-component-metadata, msrv-events-interface, msrv-ftp, msrv-gimbal-v1, msrv-gimbal-v2, msrv-heartbeat, msrv-high-latency, msrv-image-transmission, msrv-landing-target, msrv-manual-control, msrv-mission, msrv-open-drone-id, msrv-parameter, msrv-parameter-ext, msrv-path-planning, msrv-payload, msrv-ping, msrv-terrain, msrv-time-sync, msrv-traffic-management, msrv-tunnel

==========================================================

========================================================== These features will control generation of MAVLink microservice-specific bindings.

If enabled, microservices can be found in protocol::microservices module.

Support for all MavLink microservices

Enables msrv-all of mavio

msrv-heartbeat msrv-all? = dlct-minimal, msrv

Heartbeat protocol support

This microservice can be found in protocol::microservices::heartbeat module.

Enables msrv-heartbeat of mavio

msrv-mission msrv-all? msrv-utils-mission? = dlct-common, msrv

Mission protocol support

This microservice can be found in protocol::microservices::mission module.

Enables msrv-mission of mavio

msrv-parameter msrv-all? = dlct-common, msrv

Parameter protocol support

This microservice can be found in protocol::microservices::parameter module.

Enables msrv-parameter of mavio

msrv-parameter-ext msrv-all? = dlct-common, msrv

Extended parameter protocol support

This microservice can be found in protocol::microservices::parameter_ext module.

Enables msrv-parameter-ext of mavio

msrv-command msrv-all? = dlct-common, msrv

Command protocol support

This microservice can be found in protocol::microservices::command module.

Enables msrv-command of mavio

msrv-manual-control msrv-all? = dlct-common, msrv

Manual control protocol support

This microservice can be found in protocol::microservices::manual_control module.

Enables msrv-manual-control of mavio

msrv-camera msrv-all? = dlct-common, msrv

Camera protocol v2 support

This microservice can be found in protocol::microservices::camera module.

Enables msrv-camera of mavio

msrv-gimbal-v1 msrv-all? = dlct-common, msrv

Gimbal protocol v1 support

This microservice can be found in protocol::microservices::gimbal_v1 module.

Enables msrv-gimbal-v1 of mavio

msrv-gimbal-v2 msrv-all? = dlct-common, msrv

Gimbal protocol v2 support

This microservice can be found in protocol::microservices::gimbal_v2 module.

Enables msrv-gimbal-v2 of mavio

msrv-arm-auth msrv-all? = dlct-common, msrv

Arm authorization protocol support

This microservice can be found in protocol::microservices::arm_auth module.

Enables msrv-arm-auth of mavio

msrv-image-transmission msrv-all? = dlct-common, msrv

Image transmission protocol support

This microservice can be found in protocol::microservices::image_transmission module.

Enables msrv-image-transmission of mavio

msrv-ftp msrv-all? = dlct-common, msrv

File transfer protocol support

This microservice can be found in protocol::microservices::ftp module.

Enables msrv-ftp of mavio

msrv-landing-target msrv-all? = dlct-common, msrv

Landing target protocol support

This microservice can be found in protocol::microservices::landing_target module.

Enables msrv-landing-target of mavio

msrv-ping msrv-all? = dlct-common, msrv

Ping protocol support

This microservice can be found in protocol::microservices::ping module.

Enables msrv-ping of mavio

msrv-path-planning msrv-all? = dlct-common, msrv

Path planning protocol support

This microservice can be found in protocol::microservices::path_planning module.

Enables msrv-path-planning of mavio

msrv-battery msrv-all? = dlct-common, msrv

Battery protocol support

This microservice can be found in protocol::microservices::battery module.

Enables msrv-battery of mavio

msrv-terrain msrv-all? = dlct-common, msrv

Terrain protocol support

This microservice can be found in protocol::microservices::terrain module.

Enables msrv-terrain of mavio

msrv-tunnel msrv-all? = dlct-common, msrv

Tunnel protocol support

This microservice can be found in protocol::microservices::tunnel module.

Enables msrv-tunnel of mavio

msrv-open-drone-id msrv-all? = dlct-common, msrv

Open Drone ID protocol support

This microservice can be found in protocol::microservices::open_drone_id module.

Enables msrv-open-drone-id of mavio

msrv-high-latency msrv-all? = dlct-common, msrv

High latency protocol support

This microservice can be found in protocol::microservices::high_latency module.

Enables msrv-high-latency of mavio

msrv-component-metadata msrv-all? = dlct-common, msrv

Component metadata protocol support

This microservice can be found in protocol::microservices::component_metadata module.

Enables msrv-component-metadata of mavio

msrv-payload msrv-all? = dlct-common, msrv

Payload protocol support

This microservice can be found in protocol::microservices::payload module.

Enables msrv-payload of mavio

msrv-traffic-management msrv-all? = dlct-common, msrv

Traffic management protocol support

This microservice can be found in protocol::microservices::traffic_management module.

Enables msrv-traffic-management of mavio

msrv-events-interface msrv-all? = dlct-common, msrv

Events interface protocol support

This microservice can be found in protocol::microservices::events_interface module.

Enables msrv-events-interface of mavio

msrv-time-sync msrv-all? = dlct-common, msrv

Time synchronization protocol support

This microservice can be found in protocol::microservices::time_sync module.

Enables msrv-time-sync of mavio

msrv-utils-all = msrv-utils-mission

==========================================================

========================================================== These features will enable additional MAVLink utilities such as *.waypoints files support, mission planninc, etc.

⚠️ All such features require unstable feature to be enabled in order to take effect.

All MAVLink microservices utils

⚠️ Requires unstable feature to take effect.

Enables msrv-utils-all of mavio

msrv-utils-mission msrv-utils-all? = dlct-common, msrv-mission, msrv-utils

Mission protocol utils

These additional utils are packaged into protocol::microservices::mission microservice and can be alternatively accessed through protocol::microservices::utils::mission.

⚠️ Requires unstable feature to take effect.

Enables msrv-utils-mission of mavio

msrv msrv-arm-auth? msrv-battery? msrv-camera? msrv-command? msrv-component-metadata? msrv-events-interface? msrv-ftp? msrv-gimbal-v1? msrv-gimbal-v2? msrv-heartbeat? msrv-high-latency? msrv-image-transmission? msrv-landing-target? msrv-manual-control? msrv-mission? msrv-open-drone-id? msrv-parameter? msrv-parameter-ext? msrv-path-planning? msrv-payload? msrv-ping? msrv-terrain? msrv-time-sync? msrv-traffic-management? msrv-tunnel? msrv-utils?

==========================================================

Technical features

========================================================== These features should not be used directly.

⊛ Enable MAVLink microservices support

Do not use directly as this feature does not give access to any specific functionality by itself. Instead, use one of msrv-* features.

Enables msrv of mavio

msrv-utils msrv-utils-mission? = msrv

⊛️ Enables MAVLink microservices extra utils

Do not use directly as this feature does not give access to any specific functionality by itself. Instead, use one of msrv-utils-* features.

Enables msrv-utils of mavio

test_utils = async, derive, sync, unsafe, unstable

==========================================================

Test utils (⚠️ do not use at production ⚠️)

==========================================================

Add testing utils that allow to run complex tests. Primarily used for documentation but can be utilized by other libraries as well.

Affects maviola::test_utils

Features from optional dependencies

Dependencies