Descrição
MAVSDK é um conjunto de bibliotecas que fornece uma API de alto nível para MAVLink. Pretende ser:
- Fácil de usar com uma API simples que oferece suporte a chamadas de API síncronas (de bloqueio) e chamadas de API assíncronas usando retornos de chamada.
- Rápido e leve.
- Plataforma cruzada (Linux, macOS, Windows, iOS, Android).
- Extensível (usando o plugin MavlinkPassthrough).
- Totalmente compatível com o padrão/definições MAVLink.
Para suportar múltiplas linguagens de programação, o MAVSDK implementa um servidor gRPC em C++ que permite a conexão de clientes em diferentes linguagens de programação. A API é definida pelo proto IDL (arquivos proto). Essa arquitetura permite que os clientes sejam implementados em padrões idiomáticos, utilizando assim as ferramentas e a sintaxe esperadas pelos usuários finais. Por exemplo, a biblioteca Python pode ser instalada a partir do PyPi usando pip
.
A parte MAVSDK C++ consiste em:
- A biblioteca principal que implementa a comunicação MAVLink básica.
- As bibliotecas de plug-ins que implementam a comunicação MAVLink específica para um recurso.
- O mavsdk_server implementando o servidor gRPC para os clientes de idioma.
Repositórios
- MAVSDK - este repositório que contém o código-fonte do núcleo C++.
- MAVSDK-Proto – Definições de interface comuns para API especificadas como arquivos proto usados pelo gRPC entre clientes de linguagem e mavsdk_server.
- MAVSDK-Python - cliente MAVSDK para Python (lançado pela primeira vez em Pypi 2019).
- MAVSDK-Swift - cliente MAVSDK para Swift (usado em produção, lançado pela primeira vez em 2018).
- MAVSDK-Java – cliente MAVSDK para Java (lançado pela primeira vez no MavenCentral em 2019).
- MAVSDK-JavaScript - cliente MAVSDK em JavaScript (prova de conceito, 2019).
- MAVSDK-Rust - cliente MAVSDK para Rust (prova de conceito, 2019).
- MAVSDK-CSharp - cliente MAVSDK para CSharp (prova de conceito, 2019).
- Documentos - fonte de documentos MAVSDK.
Documentos
Instruções sobre como usar a biblioteca C++ podem ser encontradas na documentação do MAVSDK (links para outras linguagens de programação podem ser encontrados na barra lateral da documentação).
Links rápidos:
- Começando
- Visão geral da API C++
- Referência de API
- Instalando a Biblioteca
- Construindo a Biblioteca
- Exemplos
- Perguntas frequentes
Licença
Este projeto está licenciado sob a cláusula 3 permissiva do BSD, consulte LICENSE.md.
Manutenção
Este projeto é mantido por voluntários:
- Julian Oes (patrocínio, consultoria).
- Jonas Vautherin
A manutenção não é patrocinada por nenhuma empresa, porém a hospedagem da documentação e do fórum é fornecida pela Fundação Dronecode.
Suporte e problemas
Se você tiver apenas uma dúvida, considere perguntar no fórum.
Se você encontrou um problema, descobriu um bug ou deseja solicitar um recurso, crie um problema. Se for importante ou urgente para você, considere patrocinar qualquer um dos mantenedores para colocar o problema em sua lista de tarefas.
Se precisar de suporte privado, considere consultoria paga:
(Crie uma solicitação pull se desejar ser listado aqui.)