VOLKOV — СИСТЕМА УПРАВЛЕНИЯ БЕСПИЛОТНИКОМ
Расширенная настройка · Диагностика в реальном времени · Телеметрия БПЛА
Высокопроизводительное настольное приложение для настройки, диагностики и телеметрии коммерческих контроллеров полёта. Многопоточная архитектура, нативная поддержка Betaflight и INAV, связь по протоколу MSP v1/v2.
Волков — это продвинутое настольное приложение, разработанное для настройки, диагностики и телеметрии контроллеров полёта (FC) коммерческих БПЛА. Создано с акцентом на надёжность, параллелизм и расширяемость.
Система использует PySide6 (Qt для Python) во фронтенде в сочетании с асинхронными транспортными абстракциями на бэкенде. Развязанная событийная архитектура обеспечивает плавность визуализации без задержек даже при интенсивной телеметрии в реальном времени.
Главный оркестратор FlightController хранит состояние приложения,
управляет подключением, внедряет транспортные зависимости и отправляет
сигналы Qt в UI при критических событиях или обновлениях телеметрии.
Каждый модуль системы разработан с тактической точностью для максимального контроля над БПЛА. Модульный, расширяемый интерфейс, ориентированный на задачу.
Аналитический движок состояния в реальном времени. Интерпретирует MSP_RAW_IMU, MSP_STATUS и MSP_ANALOG для проверки готовности БПЛА к взлёту. Индикаторы CPU Load, конфликтов I2C, GPS 3D Fix, VBAT и качества RSSI.
Глубокое обнаружение маршрутизации периферии через MSP_SERIAL_CONFIG. Предотвращает перенаправления, вызывающие состояние hard-brick. Визуализация конфликтов взаимоисключающих назначений.
Иммерсивная визуальная панель с 3D-графиками Roll, Pitch и Yaw. Ток в реальном времени и накопленное потребление. Плавный логарифмический рендеринг без задержек интерфейса.
Прямая SSH-консоль к низкоуровневой ОС БПЛА. Перехват ASCII, отправка сырых строк UTF-8 и управление приостановками при вводе 'exit' для возврата в обычный цикл MSP.
Асинхронное двунаправленное чтение и запись конфигураций PID. Упаковка MSP_SET_PID и MSP_SET_RC_TUNING с мгновенной обратной связью. Предупреждение при отключении без сохранения Flash EEPROM.
Совместная экосистема расширений: пользовательские визуализаторы Blackbox, автоматизированные скрипты LUA. Внедрение функций без переписывания монолитного ядра Flight Configurator.
Автоматическое определение прошивки БПЛА через начальные запросы MSP_API_VERSION, MSP_FC_VARIANT и MSP_FC_VERSION. Система прозрачно инициализирует нужный профиль.
Полная поддержка гоночных и фристайл-дронов. Нативный профиль со всеми возможностями MSP экосистемы Betaflight.
Полная поддержка дронов с автономной навигацией, самолётов и GPS-систем. Профиль InavFirmware со специализированной логикой.
Управление потоком ввода/вывода через две абстрактных ветки на основе протокола MSP (Multiwii Serial Protocol) версий 1 и 2.
Чтение/запись на COM-порты с динамическими буферами без узких мест. Сканирование на 115200 и 57600 бод. Без блокировок потока UI.
Беспроводная настройка и телеметрия через встроенные серийные мосты (ESP32, ESP-Link, ExpressLRS). Протокол MSP инкапсулирован в TCP/UDP сокеты.
Предотвращение гонок данных с синхронизированной очередью. Бинарный парсер с автодетекцией заголовков V1/V2 и валидацией CRC8-DVB-S2.
Развязанная событийная архитектура с независимыми вторичными потоками для каждой критической подсистемы связи и анализа.
Всё последовательное, UDP/TCP-сокетное и дейтаграммное обрабатывается в вторичных Workers/QThread, обеспечивая плавную частоту обновления UI без визуальных прерываний.
Система автоматически определяет ОС дрона через MSP_API_VERSION, MSP_FC_VARIANT и MSP_FC_VERSION. Полиморфная инициализация профилей BetaflightFirmware или InavFirmware через schema_loader.py.
Бинарный парсер со структурированным декодированием (struct.unpack). Автодетекция заголовков V1 ($M<) и V2 ($X<). Проверка целостности через XOR и CRC8-DVB-S2 каждого полученного кадра.
Локальная запись несохранённого состояния с предупреждением при отключении без сохранения. Окончательная запись через write_params_to_eeprom с мгновенной обратной связью от контроллера полёта.
Инфраструктура визуальной кастомизации во время выполнения. Нативная многоязычная поддержка в главном окне для адаптации к международным командам.
Система включает несколько уровней защиты для обеспечения целостности БПЛА и предотвращения невосстановимых состояний при конфигурации.
Порт UUID 0 (USB VCP) заблокирован на программном уровне. Интеллектуальный UART-сканер предотвращает любое перенаправление, способное вызвать постоянную блокировку USB-доступа.
Реализация threading.Lock() и конкурентного Event Loop предотвращает повреждение двунаправленного потока связи при несвоевременном или неупорядоченном получении PID-данных.
Защитные обработчики выдают контролируемые предупреждения при переполнении TCP-сокетов. Система автономно восстанавливает состояние связи вместо аварийного завершения (CTD) интерфейса.
Строгая проверка циклической избыточности через алгоритмы XOR и CRC8-DVB-S2 для каждого полученного кадра. Автоматическое обнаружение повреждённых данных до их обработки контроллером.
PluginMarketplaceWidget и PluginManager открывают двери совместной экосистеме для внедрения пользовательских функций без переписывания ядра Flight Configurator.
Разработчики могут создавать расширения, нативно интегрирующиеся с системой сигналов Qt, протоколом MSP и телеметрическими данными контроллера полёта в реальном времени.
Пользовательские визуализаторы лётных журналов.
Автоматизация последовательностей конфигурации.
Визуализация маршрутов и GPS-миссий.
Криминалистический анализ данных после аварии.
Скачайте последнюю версию Flight Configurator. Совместимо с Windows, Linux и macOS. Требуется Python 3.10+ с PySide6.