21 Commits

Author SHA1 Message Date
35c9693740 fix: stabilize OTA updates in v2.0.2
- Исправлен перезапуск приложения после замены файлов и добавлено подтверждение запуска новой версии.
- Обеспечены откат при ошибке и корректное завершение фоновых задач.
- Исключены посторонние DLL из Windows-сборки, обновлены тесты и инструкция ручного перехода с v2.0.1.
2026-09-17 10:30:18 +03:00
3a4491f0c4 feat: add ZIP package updates
- Сборки Windows и Linux теперь дополнительно формируют ZIP-архивы с бинарником и ресурсами.

- OTA-проверка выбирает ZIP-артефакт текущей платформы вместо отдельного исполняемого файла.

- Добавлена безопасная проверка архивов, защита от traversal, ссылок, повреждений и превышения лимитов.

- Обновление транзакционно заменяет все верхнеуровневые файлы и каталоги пакета с резервным копированием и откатом.

- Пользовательские файлы, отсутствующие в ZIP, включая settings.json, сохраняются.

- Версия приложения повышена до 2.0.1, документация и кроссплатформенные тесты обновлены.
2026-09-16 14:07:01 +03:00
add8aff0af feat: release version 2.0.0
- Добавлена обратная совместимость с прошивками, содержащими маркер no_auth.

- Повторная авторизация после команды 04 и успешного обновления прошивки приведена к требуемому порядку.

- В терминал команд добавлена ручная кнопка авторизации.

- Реализовано OTA-обновление приложения с загрузкой платформенного артефакта, безопасной заменой и перезапуском.

- Проверка обновлений учитывает только более новые версии по схеме major, minor и patch.

- Обновлены имена Windows и Linux сборок, документация и тестовое покрытие.
2026-09-16 10:01:35 +03:00
e163b63666 fix: authenticate after firmware update
- удалена повторная авторизация перед отправкой команды 04

- полный AES-256 handshake запускается только после успешного OTA и перезагрузки контроллера

- обновлены сообщения интерфейса и документация порядка обновления

- тесты теперь проверяют, что команда 04 предшествует команде авторизации 07

- версия приложения повышена до 1.5.1

- локальные каталоги релизных артефактов исключены из Git
2026-09-15 13:33:38 +03:00
c34cb0cd7e feat: add authenticated firmware update flow
- добавлена полная повторная авторизация перед командой 04

- добавлена авторизация после успешного обновления и перезагрузки платы

- общий OTA-сценарий подключён к базовому и PRO-интерфейсам

- в терминал команд добавлена кнопка ручной авторизации

- состояние авторизации синхронизировано с основной вкладкой

- добавлены тесты порядка авторизации и обработки ошибок OTA

- версия приложения повышена до 1.5.0

- обновлена документация
2026-09-15 10:49:51 +03:00
5513eb8a56 Improve controller startup handshake and builds
- Добавлен стартовый handshake: ожидание строки версии контроллера, пауза 2000 мс и подтверждение готовности только по READY!.

- Исправлена работа COM-буфера и аппаратного сброса через RTS, добавлены модульные тесты протокола.

- Добавлена нативная сборка для Debian 13 x86_64 и обновлена документация.

- Улучшена очистка Windows-сборки и кроссплатформенная обработка devnull.
2026-09-11 15:01:45 +03:00
7f73d2814b Improve OTA update logging and add vertically resizable log panels
- Изменен процесс OTA-обновления (команда 04) в FirmwareDialog (PRO-режим): убрано всплывающее информационное окно, заменено на подробное фоновое логирование процесса (получение прогресса прошивки и перезапуска платы) в реальном времени.
- Внедрен QSplitter во все окна с логами (FirmwareDialog, FirmwareSection, CommandTerminalDialog) для обеспечения возможности ручного изменения высоты панели логов.
- Версия приложения обновлена до 1.4.2.
2026-07-17 15:30:58 +03:00
0ce06fc7f8 Rename physical channels in WS2812 settings and bump version to 1.4.1
- Переименованы элементы выбора физического канала в настройках WS2812: "1-й канал" -> "2-й канал", "2-й" -> "3-й", "3-й" -> "4-й".
- Удален неиспользуемый "4-й канал (4)", так как команды 894XY не существует.
- Изменения внесены в LedTestDialog и LedTestSection.
- Версия приложения обновлена до 1.4.1.
2026-07-02 11:03:16 +03:00
318342947b Bump version to 1.4.0
- Обновлена версия приложения до 1.4.0 в файле инициализации пакета.
2026-07-01 16:39:48 +03:00
4ce9eb7689 Switch to standard OS windows, resizable dialogs, and channel-aware pixel test
- Удален кастомный безрамочный режим (FramelessWindowHint) главного окна и диалогов.
- Внедрено нативное управление окнами операционной системы (изменение размеров, максимизация, минимизация).
- Добавлено применение QPalette под выбранную тему (темную/свелую) и акцент для покраски системных элементов окон.
- Внутреннее содержимое диалогов (StyledDialog) обернуто в QScrollArea с автоскроллом и ограничением по высоте до 720px во избежание выхода окон за пределы экрана.
- TitleBar упрощен до простой верхней панели вкладок (sub-header/tabs).
- В диалог теста подсветки добавлен выбор номера ленты (1..4) при тесте пикселя виртуальной матрицы, обновлена логика генерации и отправки тестовой команды.
- Раздел "Бродяга морей" переименован в "Бродяги морей".
2026-07-01 14:58:11 +03:00
dfd4f0e0ba Import QWidget in led_test_dialog.py to fix NameError
- Добавлен импорт QWidget из PySide6.QtWidgets в led_test_dialog.py.
- Устранена ошибка NameError: name 'QWidget' is not defined при открытии диалога тестирования подсветки.
2026-06-30 10:06:28 +03:00
f8cf28143a Fix NameError: name 'Qt' is not defined in led_test_section.py
- Импортирован модуль Qt из PySide6.QtCore в файле led_test_section.py, чтобы исправить ошибку при вызове QColorDialog.getColor.
- Проект успешно пересобран в dist.
2026-06-30 09:56:29 +03:00
448b9bb07a Add board v2.x commands support to UI dialogs and sections
- Добавлена поддержка выбора произвольного цвета (QColorDialog) с отправкой команды 8008RRRGGGBBB.
- Реализована панель управления GPIO25/GPIO26 (команда 50) в output_test_dialog.py.
- Добавлена поддержка direct-объектов и эффектов Бродяги морей (команда 81) в led_test_dialog.py.
- Реализованы тесты матриц и direct-шкалы (команда 85) в led_test_dialog.py.
- Создан новый диалог prize_showcase_dialog.py для ячеек призовой витрины (команда 25).
- Добавлена кнопка «Витрина призов» в PRO-кнопки connection_tab.py.
- В payment_section.py добавлен показ накопительного счетчика монет global_summa (команда 93).
2026-06-30 09:22:36 +03:00
85a7b4db55 Update app functions and configs for board command system v2.x
- Обновлены коды базовых эффектов в Морской бой VR.lm с 0..12 на 10..22.
- Создан новый файл настроек подсветки Резервная панель RZ.lm.
- Полностью обновлен справочник команд Основные.csv с поддержкой новых команд v2.x.
- Добавлен выпадающий список стандартных ролей/матриц в диалог role_dialog.py.
- В led_test_dialog.py и led_test_section.py добавлены контролы для выбора физического канала, настройки яркости и гамма-коррекции WS2812.
2026-06-29 16:13:29 +03:00
9fd10a3acd v1.3.0: simple mode backlight and UI polish
- обновлён простой режим: тест цвета и проверка подсветки кнопок объединены в раздел «Тест подсветки»

- добавлена проверка подсветки кнопок через 8-й силовой выход с автоматическим коротким тестом

- упрощены описания пользовательских проверок и убраны лишние технические подробности из простого режима

- изменена раскладка теста цвета, увеличена длительность шага до 1 секунды и убраны описания из PRO-блока

- добавлена защита выпадающих списков от случайного изменения колесом мыши

- улучшены немодальные PRO-диалоги, настройки соединения и обработка событий COM-порта

- обновлены визуальные детали приложения, пользовательские ресурсы, инструкции AGENTS и Release Notes 1.3.0
2026-05-26 12:59:21 +03:00
763913ffb8 v1.2.0: OTA fix for basic mode, version display in title bar 2026-03-20 11:11:57 +03:00
76272433f8 fix: health-check tolerant to boards without auth, retry before disconnect 2026-03-19 16:49:57 +03:00
ad3342c0f2 feat: theme-aware icon colors — white icons in dark mode 2026-03-19 16:40:59 +03:00
9ea3c32c64 fix: keep resource folders external alongside EXE instead of embedding 2026-03-19 16:15:18 +03:00
348298d6f6 fix: use sys._MEIPASS for bundled data in onefile build 2026-03-19 15:58:47 +03:00
0b3b66a38b Initial commit: Plate Config App v1.0.0 2026-03-19 15:49:00 +03:00