SP63BE (MixUp Backlight v2): протокол
Интерфейс
Заголовок раздела «Интерфейс»- BLE name обычно содержит
SP63, ноSPStellar— подтверждённый alias, см. ниже; - рекламируемый service (сканирование):
E0FF; - GATT service (после подключения):
FFE0; - characteristic:
FFE1; - protocol: binary;
- terminator и checksum отсутствуют.
Формат пакета
Заголовок раздела «Формат пакета»53 CMD 00 01 00 LEN PAYLOAD...| Offset | Поле |
|---|---|
| 0 | header 53 |
| 1 | command |
| 2..4 | constants 00 01 00 |
| 5 | payload length |
| 6..N | payload |
Команды
Заголовок раздела «Команды»| Command | Payload | Назначение |
|---|---|---|
02 |
01 |
status query (подтверждён на FV4.0.27) |
50 |
00 / 01 |
power off / on |
53 |
01 01 |
static RGB mode |
52 |
RR GG BB FF |
RGB |
53 |
01 02 |
static white mode |
51 |
01 WW |
white brightness |
54 |
SS |
скорость эффекта, SS = 0…10 |
53 |
03 01 |
выбрать scene 0 |
53 |
03 NN |
выбрать scene NN > 0 |
58 |
01 |
завершить выбор scene 0 |
58 |
00 |
завершить выбор scene NN > 0 |
Power on: 53 50 00 01 00 01 01Power off: 53 50 00 01 00 01 00Команда задаёт абсолютное состояние и является идемпотентной.
Для включения белой подсветки нужно выполнить три шага:
Power on: 53 50 00 01 00 01 01Static white mode: 53 53 00 01 00 02 01 02White 80%: 53 51 00 01 00 02 01 CCПреобразование:
WW = ceil(percent * 2.55)Отправка только 51 / 01 WW без выбора white mode может не изменить видимый результат.
RGB также требует выбора режима:
Power on: 53 50 00 01 00 01 01Static RGB: 53 53 00 01 00 02 01 01RGB(255,0,0): 53 52 00 01 00 04 FF 00 00 FFScene 5:
53 53 00 01 00 02 03 0553 58 00 01 00 01 00Scene 0:
53 53 00 01 00 02 03 0153 58 00 01 00 01 01Скорость эффекта
Заголовок раздела «Скорость эффекта»53 54 00 01 00 01 SSSS — продуктовая шкала 0…10, а не произвольный байт. Интерфейс отображается на неё напрямую:
0, 10, 20, … 100% → SS 0, 1, 2, … 10Применённую скорость показывает offset 42 в status. На FV4.0.27 наблюдались две нормализации:
отправленный SS = 00 мог читаться обратно как 01, а всё выше 0A — как 0A. Прошивка
ограничивает сохранённое значение десятью, поэтому значения выше 0A считайте выходом за
диапазон. С семантикой нуля будьте осторожны — на разных режимах она неодинакова.
Status и coexistence
Заголовок раздела «Status и coexistence»Status query:
53 02 00 01 00 01 01На физическом SPStellar / FV4.0.27 он стабильно возвращает пакет 186 байт:
53 02 00 01 00 B4 <180 байт payload>Дифференциальными трассами — когда за раз меняется ровно один параметр — подтверждены абсолютные offsets в полном пакете:
| Offset | Поле |
|---|---|
10…18 |
firmware ASCII, например FV4.0.27 |
29 |
power: 00 OFF, 01 ON |
32 |
mode: 01 static, 03 scene |
33 |
scene ID при mode 03 |
36 |
white brightness WW |
37…39 |
RGB |
42 |
скорость эффекта |