MAVLink Support
The Micro Air Vehicle Link (MAVLink) communication protocol is a message protocol for sending and receiving messages between UAVs. The protocol uses a publish-subscribe pattern for data streams with specified topics and message types. There are different sub-protocols for missions and parameters. Use the MAVLink supported functions to specify predefined or custom dialects, setup clients, and send or receive messages.
To protect UAVs from unauthorized messages, MAVLink uses message signing. Note that message signing is not the same as message encryption and MAVLink does not provide message encryption. For more information about MAVLink message signing, see MAVLink Message Signing (Authentication).
The MAVLink message definitions (dialects) and MAVLink serialization helper functions in UAV Toolbox are obtained from mavlink/message_definitions/v1.0/ and mavlink/c_library_v2 version of repositories respectively.
The message definition XML files and the C-language version of serialization helper functions are made available under the MIT license.
Functions
mavlinktlog | Read MAVLink message from TLOG file |
mavlinkio | Connect with MAVLink clients to exchange messages |
mavlinkclient | MAVLink client information |
mavlinksub | Receive MAVLink messages |
mavlinkdialect | Parse and store MAVLink dialect XML |
mavlinksigning | Store MAVLink signing channel information (Since R2022a) |
addmavlinkkeys | Add MAVLink keys from .env file (Since R2023a) |
lsmavlinkkeys | List MAVLink keys in MATLAB session (Since R2023a) |
rmmavlinkkeys | Remove MAVLink key from MATLAB session (Since R2023a) |
Blocks
MAVLink Blank Message | Create blank MAVLink message bus by specifying payload information and MAVLink message type (Since R2020b) |
MAVLink Deserializer | Convert serialized uint8 MAVLink data stream to Simulink
nonvirtual bus (Since R2020b) |
MAVLink Serializer | Serialize messages of MAVLink packet by converting Simulink nonvirtual bus to
uint8 data stream (Since R2020b) |