Проектируйте подсветку светодиодной ленты так, как рисуют картину, — задайте цвет, яркость и положение свечения каждого светодиода, добавьте эффекты и посмотрите всю панель ещё до того, как она попадёт на устройство.
Идея
Светодиодная лента — это дисплей. Длинный, узкий и неудобный, разведённый в том порядке, который кто-то выбрал ради удобства пайки, но всё-таки дисплей. А естественный способ проектировать для дисплея — рисовать на нём.
Именно это и даёт редактор. Выберите цвет, щёлкните по пикселю — и светодиод загорится. Растяните фигуру — и она станет элементом, которому можно дать имя, использовать его повторно и анимировать. Порядок разводки, глубину цвета и порядок байтов, которых требует именно ваш компонент, вы описываете один раз, в одном диалоге, а перевод рисунка в эти правила редактор берёт на себя.
Что получается на выходе
Большинство графических редакторов заканчиваются файлом, на который вы смотрите. Этот заканчивается исходным кодом: каждая отмеченная вами область становится массивом const со значениями пикселей — в том порядке, в котором разведены светодиоды, и с той глубиной цвета, которую способен вместить компонент. Прошивка подключает этот файл и зажигает по нему панель.
Ровно поэтому редактор намеренно небольшой. Он рисует пиксели и разбирается в светодиодном железе. Он не занимается ретушью фотографий.
Четыре слова, которые стоит выучить первыми
| Термин | Что это значит здесь |
|---|---|
| Рамка | Прямоугольник на изображении, у которого есть имя. Одна рамка становится одним экспортируемым массивом — обычно это один символ шрифта. |
| Список рамок | Все рамки текущего изображения в том порядке, в котором они будут выгружены. Сохраняется рядом с PNG в виде файла .box. |
| Расположение | Порядок обхода светодиодов рамки: с какого угла начинать, идти по строкам или по столбцам и разворачивается ли каждая вторая линия. |
| Порядок каналов | Порядок, в котором байты цвета уходят в линию, — RGB, GRB и так далее. Неверный порядок означает, что панель загорится не тем оттенком. |
Как выглядит работа
- Откройте или создайте PNG.
- Нарисуйте что-нибудь или вставьте чужой рисунок.
- Отметьте нужные части как рамки и дайте им имена.
- Задайте разрядность, порядок каналов и разводку в разделе Параметры LED.
- Посмотрите результат через анимацию рамок, затем выгрузите исходный код и загрузите его в плату.
💡 Шаги 4 и 5 описывают ваше железо. Настройте их один раз под конкретный стенд — и они останутся такими: они сохраняются, а не запрашиваются при каждом экспорте.