13 #include "../avr_helper.h" 15 #include <avr/eeprom.h> 16 #include "../global.h" 18 #include "../color_transform.h" 19 #include "../main_effect.h" 23 static int16_t h1, h2;
25 static void ini(
void){
37 h1 = rand() % HSV_GRADE;
38 h2 = rand() % HSV_GRADE;
48 static __flash
const preset_t preset[PRESET_CNT] = {
49 {.speed1 = 20, .speed2 = 20},
50 {.speed1 = 5, .speed2 = 20},
51 {.speed1 = 20, .speed2 = 5},
52 {.speed1 = 5, .speed2 = 5}
63 static uint8_t d1=1, d2=1;
66 if(
pixels[0].bright == 0) ini();
72 d1 = preset[id].speed1;
74 if(h1 >= HSV_GRADE) h1 = 0;
77 d2 = preset[id].speed2;
79 if(h2 < 0) h2 = HSV_GRADE-1;
94 static __flash
const char _name[] =
"DOUBLE SPECTRE";
98 if(
id >= PRESET_CNT)
id = 0;
99 if(
id < 0)
id = PRESET_CNT-1;
103 static EEMEM uint8_t e_id;
105 static void _save(
void){
107 eeprom_update_byte(&e_id,
id);
121 id = eeprom_read_byte(&e_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.
uint8_t s
Насыщенность оттенка
#define BACKGROUND_EFFECT
фоновый эффект
preset_result_t
результат функции смены пресета
#define PIXEL_CNT
Общее количество пикселов
Тип для представления цвета в HSV-модели
Тип для представления цвета в RGB-модели
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)
Регистрация эффекта в списках