PX4-Autopilot/docs/en/mavlink/protocols.md
yulianoifa-mobius 358574f9f6
feat(mavlink): mavlink signing support (#25284)
* Applying PR #17084

* Comitting missing changes

* Adding incoming SETUP_SIGNING handling

* Adding proper message decoding for SETUP_SIGNING

* Adding persistance of sign key in chunks of 32 bits into parameters

* Allowing SETUP_SIGNING to be handled only on usb_uart

* Removing unused type and variable

* Changing the default for Mavlink Timestamp

* Fixing styling

* Merging

* Merging submodules

* Replacing parameters with sdcard storage for secured key and ts

* Fixing styles

* Isolating signing related items in separate class

* Adding new files

* Syncing with main

* Fixing styles

* Changing the signing logic to work only if key and ts properly initialized, adding store the ts on stop

* Updated submodules to latest versions

* Updated gz to proper version

* libfc-sensor-api to proper version

* libcanard to proper version

* Updated fuzztest to proper version

* Updated public_regulated_data_types to proper version

* Updated mip_sdk to proper version

* Updated pydronecan to proper version

* Updated rosidl to proper version

* Fixing styles

* Fixing cyclonedds version

* initializing sign control in the member declaration

* Update src/modules/mavlink/mavlink_main.h

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

* Fixing comments

* Fixing duplicate method

* Fixing defines

* Fixing styles

* Fixing the define errors

* replace duplicate logic with write_key_and_timestamp() function

* add docs

* Update docs/en/mavlink/message_signing.md

Co-authored-by: Julian Oes <julian@oes.ch>

* Update src/modules/mavlink/mavlink_sign_control.cpp

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* Update src/modules/mavlink/mavlink_sign_control.h

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* Update docs/en/mavlink/message_signing.md

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

* rename to MAV_SIGN_CFG, fix copyright dates, fix docs SHA type, rename secrets file

* fix newlines

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Julian Oes <julian@oes.ch>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-03-09 12:47:03 -08:00

53 lines
3.6 KiB
Markdown

# MAVLink Microservices (Protocols)
MAVLink "microservices" are a protocols that use multiple messages exchanged between components to communicate more complicated information.
For example, the [Command Protocol](https://mavlink.io/en/services/command.html) provides an efficient mechanism for packaging a command in a (particular) message and receiving acknowledgement of the command in another message.
MAVLink microservices are documented the [MAVLink Guide](https://mavlink.io/en/services/) (this is not exhaustive: not all messages are grouped into protocols and not all protocols are documented).
This section lists the services known to be supported/not supported by PX4 in this version.
## Supported Microservices
These services are known to be supported in some form:
- [Battery Protocol](https://mavlink.io/en/services/battery.html)
- [BATTERY_STATUS](https://mavlink.io/en/messages/common.html#BATTERY_STATUS) and [BATTERY_INFO](https://mavlink.io/en/messages/common.html#BATTERY_STATUS) are streamed.
- Camera Protocols
- [Camera Protocol v2](https://mavlink.io/en/services/camera.html)
- [Camera Definition](https://mavlink.io/en/services/camera_def.html)
- [Command Protocol](https://mavlink.io/en/services/command.html)
- [Component Metadata Protocol](https://mavlink.io/en/services/component_information.html)
- [Events Interface](https://mavlink.io/en/services/events.html)
- [File Transfer Protocol (FTP)](https://mavlink.io/en/services/ftp.html)
- Gimbal Protocols
- [Gimbal Protocol v2](https://mavlink.io/en/services/gimbal_v2.html)
- Can be enabled by [Gimbal Configuration](../advanced/gimbal_control.md#mavlink-gimbal-mnt-mode-out-mavlink)
- PX4 an act as a MAVLink Gimbal for one FC-connected Gimbal
- [Heartbeat/Connection Protocol](https://mavlink.io/en/services/heartbeat.html)
- [High Latency Protocol](https://mavlink.io/en/services/high_latency.html) — PX4 streams [HIGH_LATENCY2](https://mavlink.io/en/messages/common.html#HIGH_LATENCY2)
- [Image Transmission Protocol](https://mavlink.io/en/services/image_transmission.html)
- [Landing Target Protocol](https://mavlink.io/en/services/landing_target.html)
- [Manual Control (Joystick) Protocol](https://mavlink.io/en/services/manual_control.html)
- [MAVLink Id Assignment (sysid, compid)](https://mavlink.io/en/services/mavlink_id_assignment.html)
- [Message Signing](../mavlink/message_signing.md) ([MAVLink spec](https://mavlink.io/en/guide/message_signing.html))
- [Mission Protocol](https://mavlink.io/en/services/mission.html)
- [Offboard Control Protocol](https://mavlink.io/en/services/offboard_control.html)
- [Remote ID](../peripherals/remote_id.md) ([Open Drone ID Protocol](https://mavlink.io/en/services/opendroneid.html))
- [Parameter Protocol](https://mavlink.io/en/services/parameter.html)
- [Parameter Protocol Extended](https://mavlink.io/en/services/parameter_ext.html) — Allows setting string parameters. Used for setting string parameters set in camera definition files.
- [Payload Protocol](https://mavlink.io/en/services/payload.html)
- [Ping Protocol](https://mavlink.io/en/services/ping.html)
- [Standard Modes Protocol](../mavlink/standard_modes.md)
- [Terrain Protocol](https://mavlink.io/en/services/terrain.html)
- [Time Synchronization](https://mavlink.io/en/services/timesync.html)
- [Traffic Management (UTM/ADS-B)](https://mavlink.io/en/services/traffic_management.html)
- [Arm Authorization Protocol](https://mavlink.io/en/services/arm_authorization.html)
## Unsupported
These services are not supported/used by PX4:
- [Illuminator Protocol](https://mavlink.io/en/services/illuminator.html)
- [Tunnel Protocol](https://mavlink.io/en/services/tunnel.html)