16 #include "avr_helper.h" 30 static void fade_out(
pixel_t *px){
66 static uint8_t is_light_pix(uint8_t
id){
68 (pixels[
id].r * (pixels[
id].bright+1)) |
69 (pixels[id].
g * (pixels[id].
bright+1)) |
70 (pixels[id].
b * (pixels[id].
bright+1)))>>8
81 sum += is_light_pix(i);
96 pixels[id].
bright = bright;
97 pixels[id].
delta = delta;
113 void set_hsv_color(uint8_t pos,
hsv_t hsv){
125 pixels[pos].
r = fix_colors[fix_cid].r;
126 pixels[pos].
g = fix_colors[fix_cid].g;
127 pixels[pos].
b = fix_colors[fix_cid].b;
146 do id = rand() %
PIXEL_CNT;
while (is_light_pix(
id));
152 void rnd_pix_rgb(uint8_t _r, uint8_t _g, uint8_t _b, int8_t delta){
156 do id = rand() %
PIXEL_CNT;
while (is_light_pix(
id));
void bright_ctrl(uint8_t id, uint8_t bright, int8_t delta)
Управление яркостью
#define GREEN
Чисто зеленый цвет
#define PURPLE
фиолетовый цвет
uint8_t b
синяя составляющая цвета
void off_all_pixels(void)
Выключение всех пикселов
int8_t delta
условная скорость автоматического изменения яркости
void set_rgb_color(uint8_t pos, uint8_t r, uint8_t g, uint8_t b)
Пиксел произвольного цвета
#define YELLOW
Ярко-желтый цвет
void fade(void)
Автоматическое изменение яркости всех пикселов
Структура, описывающая один пиксель
сервисный модуль для реализации эффектов Набор вспомогательных функций для базовых манипуляций над це...
#define ORANGE
Оранжевый цвет
#define PIXEL_CNT
Общее количество пикселов
Тип для представления цвета в HSV-модели
Тип для представления цвета в RGB-модели
#define FIXED_COLORS
Количество предопределенных цветов
#define RED
Чисто красный цвет
uint8_t g
зеленая составляющая цвета
void hsv_to_rgb(hsv_t *src, rgb_t *dst)
uint8_t r
красная составляющая цвета
pixel_t pixels[MAX_TOTAL_PIX]
Массив пикселей предельного размера
#define COLOR1
Оттенок сиреневого
#define FADE_DIV
Условная скорость автоматического изменения яркости (чем больше, тем медленнее)
void rnd_pix(uint8_t fix_cid, int8_t delta)
Случайный пиксел
void set_fix_color(uint8_t pos, uint8_t fix_cid)
Пиксел одного из фиксированных цветов
#define BLUE
Чисто синий цвет
#define LBLUE
Светлоголубой цвет
uint8_t bright
яркость пиксела
uint8_t get_light_cnt(void)
Подсчет светящихся пикселов