Descripción
MAVSDK es un conjunto de bibliotecas que proporcionan una API de alto nivel para MAVLink. Su objetivo es ser:
- Fácil de usar con una API simple que admite llamadas API sincrónicas (de bloqueo) y llamadas API asincrónicas mediante devoluciones de llamada.
- Rápido y ligero.
- Multiplataforma (Linux, macOS, Windows, iOS, Android).
- Extensible (usando el complemento MavlinkPassthrough).
- Totalmente compatible con el estándar/definiciones MAVLink.
Para admitir múltiples lenguajes de programación, MAVSDK implementa un servidor gRPC en C++ que permite conectarse a clientes en diferentes lenguajes de programación. La API está definida por el proto IDL (archivos proto). Esta arquitectura permite que los clientes se implementen en patrones idiomáticos, utilizando así las herramientas y la sintaxis esperadas por los usuarios finales. Por ejemplo, la biblioteca Python se puede instalar desde PyPi usando pip
.
La parte MAVSDK C++ consta de:
- La biblioteca principal que implementa la comunicación MAVLink básica.
- Las bibliotecas de complementos que implementan la comunicación MAVLink específica de una función.
- El mavsdk_server que implementa el servidor gRPC para los clientes de idiomas.
Repos
- MAVSDK: este repositorio que contiene el código fuente del núcleo de C++.
- MAVSDK-Proto: definiciones de interfaz comunes para API especificadas como archivos proto utilizados por gRPC entre clientes de lenguaje y mavsdk_server.
- MAVSDK-Python: cliente MAVSDK para Python (lanzado por primera vez en Pypi 2019).
- MAVSDK-Swift: cliente MAVSDK para Swift (utilizado en producción, lanzado por primera vez en 2018).
- MAVSDK-Java: cliente MAVSDK para Java (lanzado por primera vez en MavenCentral en 2019).
- MAVSDK-JavaScript: cliente MAVSDK en JavaScript (prueba de concepto, 2019).
- MAVSDK-Rust: cliente MAVSDK para Rust (prueba de concepto, 2019).
- MAVSDK-CSharp: cliente MAVSDK para CSharp (prueba de concepto, 2019).
- Documentos: fuente de documentos MAVSDK.
Documentos
Las instrucciones sobre cómo utilizar la biblioteca C++ se pueden encontrar en los documentos MAVSDK (se pueden encontrar enlaces a otros lenguajes de programación en la barra lateral de documentación).
Enlaces rápidos:
- Empezando
- Descripción general de la API de C++
- Referencia de API
- Instalación de la biblioteca
- Construyendo la biblioteca
- Ejemplos
- Preguntas frecuentes
Licencia
Este proyecto tiene licencia según la permisiva cláusula BSD 3, consulte LICENSE.md.
Mantenimiento
Este proyecto es mantenido por voluntarios:
- Julian Oes (patrocinio, consultoría).
- Jonás Vautherin
El mantenimiento no está patrocinado por ninguna empresa; sin embargo, el alojamiento de los documentos y el foro lo proporciona Dronecode Foundation.
Soporte y problemas
Si solo tienes una pregunta, considera preguntar en el foro.
Si se encontró con un problema, descubrió un error o desea solicitar una función, cree un problema. Si es importante o urgente para usted, considere patrocinar a cualquiera de los mantenedores para que ascienda el problema en su lista de tareas pendientes.
Si necesita soporte privado, considere una consultoría paga:
(Cree una solicitud de extracción si desea aparecer aquí).