Open Stream Deck

Обзор прошивки

Что делает прошивка AJAZZ AKP153R, какие возможности даёт и как она устроена.

Прошивка заменяет штатную программу AJAZZ AKP153R. Она работает на том же микроконтроллере и тех же кнопках и дисплее, но говорит с хостом по собственному протоколу OSD1. Приложение Open Stream Deck использует этот протокол для рисования кнопок, передачи нажатий и управления яркостью.

Возможности

  • Полноценный USB HID с Full Speed и High Speed. Определяется как OSD AKP153R, VID:PID 1209:0001.
  • 15 кнопок в матрице 3 × 5 с независимым подавлением дребезга 8 мс.
  • Дисплей 480 × 854 с обменом по SPI и DMA. Цвет RGB565.
  • Команды рисования: заливка, линия, окружность, рамка, передача растра, копирование между видеопамятями, управление яркостью.
  • Очередь команд на 23 слота, которая принимает поток от хоста без разрыва между отчётами.
  • Заставка при включении. После неё любая кнопка запускает мини-игру, а первый кадр от приложения её завершает.
  • Вход в загрузчик производителя командой BOOT для обновления прошивки.

Версия

Версия задаётся в tools/version.py в формате MAJOR.MINOR.PATCH. Текущая версия 1.0.0. Она попадает в ответ Feature report, имена файлов сборки и firmware.json.

Документация

РазделЧто внутри
СборкаЗависимости, скрипты и файлы, которые появляются после сборки
УстановкаКак записать образ через приложение или из PowerShell
ЗагрузчикВход в загрузчик, протокол D1, D2, D3 и перезапуск
Протокол OSD1Отчёты USB, команды, Feature report и заставка
Аппаратная частьПамять, матрица кнопок, дисплей и ограничения
РазработкаМодули, тесты, стиль кода и правила при рефакторинге

Лицензия: Open Stream Deck Noncommercial License 1.0. Некоммерческое использование, изменение и распространение разрешены с указанием автора. Коммерческое использование, включая продажу устройств с этой прошивкой, требует отдельной письменной лицензии от автора.