16 бит: coarse и fine
256 шагов на 540° pan — это два градуса за шаг. Coarse и fine: как разложить, как проверить Trail CHOP и где 16 бит обязательны, а где лишние.
Канал DMX — 256 значений, и на pan в 540° это шаг больше двух градусов, заметный скачок. Поэтому параметр раскладывают на два канала: старший байт (coarse, MSB) и младший (fine, LSB).
значение = coarse × 256 + fine диапазон 0 … 65535
coarse = значение // 256
fine = значение % 256
Где какой канал, решает профиль прибора: обычно coarse первым, fine следом или в другом месте футпринта. Параметр держат в 0…1, а раскладывают в самом конце:
v = значение 0..1
v16 = v * 65535
coarse = floor(v16 / 256)
fine = v16 % 256
В Math CHOP и Expression CHOP это две строки: масштаб в 0…65535, целое деление на 256 — coarse, остаток — fine. Проверка: при плавном входе coarse растёт ступенями, а fine бежит пилой от 0 до 255 и сбрасывается. Ведёт себя иначе — ошибка в округлении.
| Параметр | 16 бит |
|---|---|
| Pan, tilt головы | Обязательно |
| Диммер в театре, медленные фейды | Очень желательно |
| Зум, фокус | Желательно |
| RGB пикселя | Обычно нет |
| Гобо, призма, шаттер | Нет, значения дискретные |
Восьмибитный диммер на медленном фейде проседает ступенями, особенно в нижней трети и особенно на светодиодах; 16 бит это снимают. Нет fine-канала — помогает кривая отклика, которая отдаёт больше градаций тёмной части, где глаз чувствительнее.
Неверное округление заставляет fine прыгать на границе байтов, и на медленном движении голова мелко дрожит. Разложение проверяют Trail CHOP на обоих каналах, а не взглядом на прибор.
Принимая DMX с пульта, собирают обратно тем же coarse * 256 + fine;
16 бит нужны там, где 256 шагов мало: положение, масштаб, точная скорость,
TD как прибор.
«0…1 на входе, coarse и fine на выходе, параметр порядка байтов» — десять минут работы на всю жизнь, Свои компоненты.
Нашли в статье ошибку, устаревшее или непонятное место?