MAVLink SDK Library
A lightweight, standalone C++17 MAVLink SDK for communicating with ArduPilot-based autopilots. This SDK provides a clean, event-driven API for connecting to drones via UDP, TCP, or Serial interfaces.
The MAVLink SDK can be used as a standalone library in your own C++ projects, independent of the full DroneEngage system.
Overview
The MAVLink SDK provides:
Multiple Connection Types: UDP, TCP, and Serial port support
Event-Driven Architecture: Callback-based notifications for vehicle state changes
Vehicle State Management: Automatic parsing and storage of MAVLink messages
Mission Management: Upload, download, and monitor waypoint missions
Parameter Management: Read and write autopilot parameters
Command Interface: High-level API for common drone operations
C++17: Modern C++ with smart pointers and RAII patterns
Singleton Pattern: Easy access to SDK components
ArduPilot & PX4 Support: Compatible with both autopilot firmwares
Documentation Sections
Introduction - SDK overview, features, and project structure
Building the SDK - Build instructions and requirements
Quick Start Guide - Get started with your first application
API Reference - Detailed API documentation
Code Examples - Complete application examples
Integration Guide - CMake integration and linking
Source Code
The MAVLink SDK source code is available at:
droneengage_mavlink - MAVLink interface with standalone SDK
The SDK is located in the mavlink_sdk/ subdirectory of the repository.