- Исправлен перезапуск приложения после замены файлов и добавлено подтверждение запуска новой версии. - Обеспечены откат при ошибке и корректное завершение фоновых задач. - Исключены посторонние DLL из Windows-сборки, обновлены тесты и инструкция ручного перехода с v2.0.1.
206 lines
13 KiB
Markdown
206 lines
13 KiB
Markdown
# Plate Config App
|
||
|
||
Приложение для настройки и тестирования аппаратных плат через COM-порт.
|
||
Позволяет подключаться к плате, проходить авторизацию, отправлять команды,
|
||
тестировать входы, выходы и подсветку, обновлять прошивку и назначать роли.
|
||
|
||
---
|
||
|
||
## Содержание
|
||
|
||
- [Системные требования](#системные-требования)
|
||
- [Установка и запуск](#установка-и-запуск)
|
||
- [Обновление приложения](#обновление-приложения)
|
||
- [Интерфейс приложения](#интерфейс-приложения)
|
||
- [Главная страница](#главная-страница)
|
||
- [Подключение к плате](#подключение-к-плате)
|
||
- [Панель управления](#панель-управления)
|
||
- [Файлы данных](#файлы-данных)
|
||
- [Настройки](#настройки)
|
||
- [Документация для разработчиков](#документация-для-разработчиков)
|
||
|
||
---
|
||
|
||
## Системные требования
|
||
|
||
- Windows 10 / 11
|
||
- Debian 13 x86_64 (для Linux-сборки и запуска Linux-пакета)
|
||
- COM-порт (физический или виртуальный), к которому подключена плата
|
||
|
||
Для запуска из собранного EXE дополнительных зависимостей не требуется.
|
||
|
||
---
|
||
|
||
## Установка и запуск
|
||
|
||
### Из готовой сборки
|
||
|
||
1. Скопируйте сборку для своей платформы в каталог с папками ресурсов.
|
||
2. На Windows запустите `plate_config_app-windows-x86_64.exe`.
|
||
3. На Debian запустите `./plate_config_app-linux-x86_64`.
|
||
|
||
Файл настроек `settings.json` создается автоматически рядом с EXE при первом
|
||
изменении настроек.
|
||
|
||
### Из исходников (для разработки)
|
||
|
||
См. [DEVELOPMENT.md](DEVELOPMENT.md).
|
||
|
||
Для Debian 13 x86_64 используйте [build_linux.sh](build_linux.sh); подробности
|
||
сборки приведены в [BUILD_EXE.md](BUILD_EXE.md).
|
||
|
||
---
|
||
|
||
## Обновление приложения
|
||
|
||
При запуске приложение в фоне переходит по адресу
|
||
`https://git.robotail.pro/Robotail/plate-config-app/releases/latest` и сравнивает
|
||
тег последнего релиза с текущей версией. Кнопка «Скачать обновление» появляется
|
||
под настройками только тогда, когда удалённый тег формата `vX.Y.Z` численно
|
||
новее: сначала сравнивается major, затем minor и patch.
|
||
|
||
Приложение скачивает ZIP-пакет текущей платформы, проверяет его целостность и
|
||
безопасность, завершает старый процесс, заменяет бинарник и все каталоги из
|
||
пакета, а затем запускается заново. Перед заменой создаётся резервная копия;
|
||
она удаляется только после подтверждения запуска новой версии. Если запуск
|
||
не удался, предыдущая версия восстанавливается, а сообщение записывается
|
||
в `update-error.log`. Файл `settings.json` и другие файлы,
|
||
которых нет в архиве, сохраняются. Для работы проверки релизы репозитория должны
|
||
быть доступны без авторизации.
|
||
|
||
Имена release-артефактов:
|
||
|
||
- Windows x86_64: `plate_config_app-windows-x86_64.zip`;
|
||
- Linux x86_64: `plate_config_app-linux-x86_64.zip`.
|
||
|
||
Для перехода с уже установленной v2.0.1 на v2.0.2 обновите приложение вручную:
|
||
закройте его, скачайте ZIP-пакет своей платформы и распакуйте содержимое в
|
||
каталог приложения с заменой прежних файлов. `settings.json` удалять не нужно.
|
||
Начиная с v2.0.2 последующие обновления можно устанавливать кнопкой в приложении.
|
||
|
||
---
|
||
|
||
## Интерфейс приложения
|
||
|
||
### Главная страница
|
||
|
||
При запуске отображается стартовый экран с кнопками:
|
||
|
||
- **Новое соединение** -- открывает вкладку настройки 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](DEVELOPMENT.md) -- настройка окружения, структура проекта,
|
||
запуск из исходников.
|
||
- [BUILD_EXE.md](BUILD_EXE.md) -- сборка EXE-файла через PyInstaller.
|
||
- [Система команд платы v2.x.md](%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%20%D0%BF%D0%BB%D0%B0%D1%82%D1%8B%20v2.x.md) --
|
||
описание протокола и команд платы.
|