12 #include "../avr_helper.h" 14 #include <avr/eeprom.h> 15 #include "../global.h" 17 #include "../color_transform.h" 18 #include "../main_effect.h" 22 static __flash
const char _name[] =
"PING-PONG";
32 static int8_t preset_id;
33 static __flash
const preset_t preset[PRESET_CNT] = {
34 {.speed = 2, .fade = 10, .color_speed = 1},
35 {.speed = 2, .fade = 1, .color_speed = 10},
36 {.speed = 5, .fade = 10, .color_speed = 1},
37 {.speed = 5, .fade = 1, .color_speed = 10},
38 {.speed = 5, .fade = 1, .color_speed = 0}
51 static uint8_t sil_cnt=1;
58 sil_cnt = preset[preset_id].speed;
72 if(preset[preset_id].color_speed == 0){
73 h1 = rand() % HSV_GRADE;
75 h1 += preset[preset_id].color_speed;
76 if(h1 >= HSV_GRADE) h1 -= HSV_GRADE;
83 if(preset_id < 0) preset_id = PRESET_CNT-1;
84 if(preset_id >= PRESET_CNT) preset_id = 0;
88 static void _save(
void);
99 static EEMEM uint8_t e_preset;
103 preset_id = eeprom_read_byte(&e_preset);
109 static void _save(
void){
111 eeprom_update_byte(&e_preset, preset_id);
void bright_ctrl(uint8_t id, uint8_t bright, int8_t delta)
Управление яркостью
void set_rgb_color(uint8_t pos, uint8_t r, uint8_t g, uint8_t b)
Пиксел произвольного цвета
const __flash effect_t flash_effect_t
тип описания эффекта, размещенного во FLASH.
структура параметров звукового сигнала
uint16_t h
Оттенок цвета, значения в градусах 0...359.
void fade(void)
Автоматическое изменение яркости всех пикселов
uint8_t s
Насыщенность оттенка
#define BACKGROUND_EFFECT
фоновый эффект
preset_result_t
результат функции смены пресета
#define PIXEL_CNT
Общее количество пикселов
Тип для представления цвета в HSV-модели
Тип для представления цвета в RGB-модели
uint8_t fade
чем больше, тем медленнее гаснут огни
void hsv_to_rgb(hsv_t *src, rgb_t *dst)
pixel_t pixels[MAX_TOTAL_PIX]
Массив пикселей предельного размера
void register_effect(uint8_t toe, flash_effect_t *eff)
Регистрация эффекта в списках
uint8_t bright
яркость пиксела