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).
The next steps will be:
- Add Camera settings and actions interface.
- Add language bindings for Android, iOS, and Python
DroneCore currently takes care of the mavlink messaging using a UDP network connection to the drone. Connecting via TCP, or serial is planned but not implemeted yet.
The library provides both synchronous (blocking) API calls, as well as asynchronous API calls using callbacks.
-
dronecore: set up connection, discover devices
-
device: a device providing access to modules below using ...
-
device_plugin_container.h.in which is auto-generated on build.
-
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 or position control
Instructions how to build the library and how to write an example can be found in docs/build.md.
Find a FAQ in docs/faq.md.
The DroneCore project is licensed under the permissive BSD 3-clause, see LICENSE.md.
See AUTHORS.md.