Перейти к содержанию

Команды raw и scan

raw

Отправляет произвольный payload в штатной транзакции. Команда не разбирает и не проверяет байты: payload уходит как есть.

./katana.py raw <64 байта hex> [--no-save]

Payload короче 64 байт дополняется нулями, длиннее — обрезается. Пробелы в строке допустимы.

Байты payload

Байт Назначение Значения
[0] режим 0x00 — выключено, 0x01–0x13 — режимы, 0x80 — таблица
[1..3] цвет R G B 0x00–0xff
[4..7] не используются 0x00
[8] моно/спектр 0x00 — цвет, 0x01 — спектр
[9] яркость 0x01–0x0f
[10] скорость 0x01–0x0f, для static всегда 0x0a
[11] направление 0x00–0x03
[12..13] не используются 0x00
[14..15] признак payload aa 55
[16..63] не используются 0x00

Неиспользуемые байты вендор всегда отправляет нулями, и перебор значений в них на анимацию не влиял. Payload выключения — все нули, включая [0], [8]–[11] и признак aa55. Как прошивка реагирует на значения вне диапазонов, не проверялось.

Пример

./katana.py raw "01 ff0000 00000000 00 0f 0a 00 0000 aa55" --no-save

Команда полезна для экспериментов с неописанными байтами.

scan

Перебирает режимы подсветки, чтобы визуально определить, какой номер какому эффекту соответствует.

./katana.py scan --from 1 --to 19 --delay 2
Аргумент Значения По умолчанию Описание
--from 1–19 1 первый режим
--to 1–19 19 последний режим
--color hex или имя ff0000 цвет для всех режимов
--brightness 1–15 15 яркость
--speed 2–15 10 скорость
--delay секунды, float 2.0 пауза между режимами

Каждый режим отправляется с записью во флеш. В конце печатается список принятых и отклонённых режимов.

Режимы и их названия описаны в разделе Режимы подсветки. Низкоуровневый формат payload'а — в разделе Подсветка.