Skip to content

API and library for PX4 Autopilot using MAVLink written in C++11

License

Notifications You must be signed in to change notification settings

rt-2pm2/DronecodeSDK

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dronecode SDK

jenkins build status travis-ci build status appveyor build status Coverage Status

Description

The Dronecode SDK (previously known as "DroneCore") is an API and library for the PX4 flight stack using MAVLink.

It is written in C++ and aiming to be:

  • Easy to use with a simple API.
  • Fast and lightweight.
  • Cross-platform (Linux, Mac, Windows, iOS, Android).
  • Extensible (using compile-time plugins).

Roadmap

The next steps will be:

  • Add language bindings for Android, iOS, and Python

Interfacing

The SDK currently takes care of the MAVLink messaging. Connections over serial, UDP, and TCP are supported on Linux, macOS, and Windows.

The library provides both synchronous (blocking) API calls, as well as asynchronous API calls using callbacks.

API Overview

API consumers use the DronecodeSDK class to discover and manage vehicles (System objects). Using the System object plugins such as e.g. Action, Telemetry, or Mission can be instantiated which provide information about the state of the drone and allow to interact with it.

The links below take you to the respective header files:

  • dronecode_sdk: set up connection, discover devices
  • system: an class representing one drone which can consist of multiple components
  • info: general info about a device
  • telemetry: to receive telemetry data
  • action (and action_result.h): to send commands such as arm, disarm, takeoff, land to drone
  • mission/mission_item: to upload a waypoint mission
  • offboard: for velocity control
  • gimbal: control a gimbal
  • camera: capture images, videos, and set camera settings
  • follow_me: drone tracks a position supplied by the Dronecode SDK.
  • calibration: calibrate drone sensors including gyro, accelerometer, and magnetometer.
  • logging: (not implemented) data logging and streaming from the vehicle.

For more information see the API Overview in the Dronecode SDK Guide.

Docs (Build instructions etc.)

Instructions for how to use the library can be found in the SDK Guide.

Quick Links:

License

This project is licensed under the permissive BSD 3-clause, see LICENSE.md.

About

API and library for PX4 Autopilot using MAVLink written in C++11

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 90.4%
  • Python 4.5%
  • CMake 3.4%
  • Shell 1.1%
  • Other 0.6%