Skip to content

Latest commit

 

History

History
67 lines (43 loc) · 3.41 KB

README.md

File metadata and controls

67 lines (43 loc) · 3.41 KB

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:

  • dronecore: 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: 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.
  • 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.