Описание
MAVSDK — это набор библиотек, предоставляющих API высокого уровня для MAVLink. Целью проекта является:
- Простота использования благодаря простому API, поддерживающему как синхронные (блокирующие) вызовы API, так и асинхронные вызовы API с использованием обратных вызовов.
- Быстрый и легкий.
- Кроссплатформенность (Linux, macOS, Windows, iOS, Android).
- Расширяемый (с использованием плагина MavlinkPassthrough).
- Полностью соответствует стандарту/определениям MAVLink.
Для поддержки нескольких языков программирования MAVSDK реализует сервер gRPC на C++, который позволяет подключаться клиентам на разных языках программирования. API определяется прототипом IDL (прото-файлами). Эта архитектура позволяет реализовывать клиенты по идиоматическим шаблонам, используя инструменты и синтаксис, ожидаемые конечными пользователями. Например, библиотеку Python можно установить из PyPi с помощью pip
.
Часть MAVSDK C++ состоит из:
- Основная библиотека, реализующая базовую связь MAVLink.
- Библиотеки плагинов, реализующие связь MAVLink, специфичную для конкретной функции.
- mavsdk_server, реализующий сервер gRPC для языковых клиентов.
РЕПО
- MAVSDK — это репозиторий, содержащий исходный код ядра C++.
- MAVSDK-Proto — общие определения интерфейса для API, указанные в виде файлов прототипов, используемых gRPC между языковыми клиентами и mavsdk_server.
- MAVSDK-Python — клиент MAVSDK для Python (впервые выпущен на Pypi 2019).
- MAVSDK-Swift — клиент MAVSDK для Swift (используется в производстве, впервые выпущен в 2018 году).
- MAVSDK-Java — клиент MAVSDK для Java (впервые выпущен на MavenCentral в 2019 году).
- MAVSDK-JavaScript — клиент MAVSDK на JavaScript (проверка концепции, 2019 г.).
- MAVSDK-Rust — клиент MAVSDK для Rust (проверка концепции, 2019 г.).
- MAVSDK-CSharp — клиент MAVSDK для CSharp (проверка концепции, 2019 г.).
- Документы — источник документации MAVSDK.
Документы
Инструкции по использованию библиотеки C++ можно найти в документации MAVSDK (ссылки на другие языки программирования можно найти на боковой панели документации).
Быстрые ссылки:
- Начиная
- Обзор API C++
- Справочник по API
- Установка библиотеки
- Строительство библиотеки
- Примеры
- Часто задаваемые вопросы
Лицензия
Этот проект лицензируется в соответствии с разрешительным пунктом BSD 3, см. LICENSE.md.
Обслуживание
Этот проект поддерживают волонтеры:
- Джулиан Оэс (спонсорство, консалтинг).
- Йонас Вотерин
Техническое обслуживание не спонсируется какой-либо компанией, однако хостинг документации и форума обеспечивается Dronecode Foundation.
Поддержка и проблемы
Если у вас просто есть вопрос, задайте его на форуме.
Если вы столкнулись с проблемой, обнаружили ошибку или хотите запросить функцию, создайте проблему. Если для вас это важно или срочно, подумайте о том, чтобы спонсировать кого-либо из сопровождающих, чтобы поднять проблему в своем списке дел.
Если вам нужна частная поддержка, рассмотрите возможность платной консультации:
(Создайте запрос на включение, если хотите, чтобы вас разместили здесь.)