- Добавлена обратная совместимость с прошивками, содержащими маркер no_auth. - Повторная авторизация после команды 04 и успешного обновления прошивки приведена к требуемому порядку. - В терминал команд добавлена ручная кнопка авторизации. - Реализовано OTA-обновление приложения с загрузкой платформенного артефакта, безопасной заменой и перезапуском. - Проверка обновлений учитывает только более новые версии по схеме major, minor и patch. - Обновлены имена Windows и Linux сборок, документация и тестовое покрытие.
Plate Config App
Приложение для настройки и тестирования аппаратных плат через COM-порт. Позволяет подключаться к плате, проходить авторизацию, отправлять команды, тестировать входы, выходы и подсветку, обновлять прошивку и назначать роли.
Содержание
- Системные требования
- Установка и запуск
- Обновление приложения
- Интерфейс приложения
- Файлы данных
- Настройки
- Документация для разработчиков
Системные требования
- Windows 10 / 11
- Debian 13 x86_64 (для Linux-сборки и запуска Linux-пакета)
- COM-порт (физический или виртуальный), к которому подключена плата
Для запуска из собранного EXE дополнительных зависимостей не требуется.
Установка и запуск
Из готовой сборки
- Скопируйте сборку для своей платформы в каталог с папками ресурсов.
- На Windows запустите
plate_config_app-windows-x86_64.exe. - На Debian запустите
./plate_config_app-linux-x86_64.
Файл настроек settings.json создается автоматически рядом с EXE при первом
изменении настроек.
Из исходников (для разработки)
См. DEVELOPMENT.md.
Для Debian 13 x86_64 используйте build_linux.sh; подробности сборки приведены в BUILD_EXE.md.
Обновление приложения
При запуске приложение в фоне переходит по адресу
https://git.robotail.pro/Robotail/plate-config-app/releases/latest и сравнивает
тег последнего релиза с текущей версией. Кнопка «Скачать обновление» появляется
под настройками только тогда, когда удалённый тег формата vX.Y.Z численно
новее: сначала сравнивается major, затем minor и patch.
Приложение скачивает исполняемый release-артефакт текущей платформы, проверяет
его формат, завершает старый процесс, заменяет бинарник и запускается заново.
Файл settings.json и пользовательские папки ресурсов не заменяются. Для
работы проверки релизы репозитория должны быть доступны без авторизации.
Имена release-артефактов:
- Windows x86_64:
plate_config_app-windows-x86_64.exe; - Linux x86_64:
plate_config_app-linux-x86_64.
Интерфейс приложения
Главная страница
При запуске отображается стартовый экран с кнопками:
- Новое соединение -- открывает вкладку настройки COM-порта.
- Команды платы -- справочник поддерживаемых команд платы с поиском.
- Настройки приложения -- выбор цветовой темы (светлая / темная, зеленый / синий акцент).
- Скачать обновление -- появляется под настройками, если версия последнего
релиза формата
vX.Y.Zновее версии запущенного приложения.
Приложение поддерживает несколько одновременных подключений: каждое соединение открывается в отдельной вкладке.
Подключение к плате
Во вкладке соединения выберите параметры:
| Параметр | Значение по умолчанию |
|---|---|
| Port | (первый доступный) |
| Baud rate | 115200 |
| Data bits | 8 |
| Stop bits | 1 |
| Parity | None |
| Flow control | None |
Нажмите OK для подключения. Кнопка Обновить порты обновляет список доступных COM-портов.
Панель управления
После подключения открывается панель с двумя режимами работы:
Базовый режим
В базовом режиме доступны встроенные секции, организованные в сворачиваемые группы:
| Секция | Описание |
|---|---|
| Обновление прошивки | Загрузка файла и OTA-обновление с прогрессом |
| Тест цвета | Управление светодиодами и режимами подсветки |
| Тест ввода | Мониторинг входов, джойстик, калибровка, ADC |
| Тест оплаты и призов | Монетоприёмник, хоппер, автовыдача призов |
PRO-режим
Переключатель «PRO» открывает доступ к расширенным диалогам:
| Действие | Описание |
|---|---|
| Handshake (Авторизация) | AES-256 авторизация на плате (если требуется) |
| Тест ввода | Мониторинг состояния входов в реальном времени |
| Тест подсветки | Управление светодиодами и режимами подсветки |
| Тест силовых выходов | Включение/выключение силовых выходов |
| Обновление прошивки | Загрузка файла прошивки на плату |
| Задание роли | Назначение роли платы |
| Ввод команд | Терминал для отправки произвольных команд вручную |
Статус подключения
Индикатор в заголовке вкладки отображает текущее состояние:
- Красный — нет связи.
- Желтый — подключено, требуется авторизация.
- Зеленый — подключено, плата готова к работе.
Кнопка переподключения (↻) позволяет быстро восстановить связь при обрыве.
При подключении приложение определяет режим по версии в стартовой строке платы.
Если версия содержит маркер no_auth без учёта регистра, AES-256 авторизация
пропускается, а статус отображается как «Готово без авторизации». Для остальных
и неизвестных версий сохраняется строгая обязательная авторизация.
После успешного OTA и перезагрузки приложение повторно читает версию новой
прошивки. Полная AES-256 авторизация выполняется только для прошивок без маркера
no_auth; перед командой 04 повторная авторизация не выполняется. Кнопка
ручной авторизации в терминале использует то же правило совместимости.
Файлы данных
Рядом с EXE (или в корне проекта при запуске из исходников) могут располагаться папки с конфигурациями:
| Папка | Расширение | Назначение |
|---|---|---|
light_modes/ |
.lm |
Режимы подсветки (формат TOML) |
input_mappings/ |
.mapping |
Маппинги входов по играм (формат TOML) |
commands/ |
.csv |
Наборы команд платы (разделитель ;) |
Эти файлы располагаются рядом с EXE (или в корне проекта при запуске из
исходников). При сборке они автоматически копируются в папку dist/ рядом с
EXE. Можно редактировать файлы конфигураций без пересборки — достаточно
изменить нужный файл и перезапустить приложение.
Настройки
Настройки хранятся в settings.json рядом с EXE. Файл создается автоматически.
Доступные параметры (изменяются через диалог в приложении):
| Параметр | Значения | По умолчанию |
|---|---|---|
| Тема | Светлая / Тёмная | Светлая |
| Акцент | Зелёный / Синий | Зелёный |
| Проверка состояния платы | Вкл / Выкл | Выкл |
| Интервал проверки | 5–60 сек | 10 сек |
Документация для разработчиков
- DEVELOPMENT.md -- настройка окружения, структура проекта, запуск из исходников.
- BUILD_EXE.md -- сборка EXE-файла через PyInstaller.
- Система команд платы v2.x.md -- описание протокола и команд платы.