16 #include "../avr_helper.h" 19 #include <avr/eeprom.h> 21 #include "../global.h" 22 #include "../main_effect.h" 27 static __flash
const char _name[] =
"PLASMA";
29 static uint8_t get_rand(
void){
42 static __flash
const preset_t preset[PRESET_NUM] = {
43 {.
divider = 250, .shift = 1, .fade = 15},
44 {.divider = 250, .shift = 2, .fade = 15},
45 {.divider = 250, .shift = 3, .fade = 15},
47 {.divider = 250, .shift = 1, .fade = 75},
48 {.divider = 250, .shift = 2, .fade = 75},
49 {.divider = 250, .shift = 3, .fade = 75},
51 {.divider = 500, .shift = 1, .fade = 15},
52 {.divider = 500, .shift = 2, .fade = 15},
53 {.divider = 500, .shift = 3, .fade = 15},
55 {.divider = 500, .shift = 1, .fade = 75},
56 {.divider = 500, .shift = 2, .fade = 75},
57 {.divider = 500, .shift = 3, .fade = 75}
72 uint8_t id, _r, _g, _b;
73 static uint8_t div =1;
109 if(pr_num < 0) pr_num = PRESET_NUM-1;
110 if(pr_num >= PRESET_NUM) pr_num = 0;
114 static void _save(
void);
125 static EEMEM uint8_t e_preset;
129 pr_num = eeprom_read_byte(&e_preset);
130 if((pr_num < 0) || (pr_num >= PRESET_NUM)) pr_num = 0;
135 static void _save(
void){
137 eeprom_update_byte(&e_preset, pr_num);
void bright_ctrl(uint8_t id, uint8_t bright, int8_t delta)
Управление яркостью
uint8_t b
синяя составляющая цвета
uint8_t shift
чем больше, интенсивнее основные цвета
power_t band[BAND_CNT]
"мощности" полос сигнала
const __flash effect_t flash_effect_t
тип описания эффекта, размещенного во FLASH.
uint16_t divider
чем больше, тем меньше количество огней
структура параметров звукового сигнала
void fade(void)
Автоматическое изменение яркости всех пикселов
preset_result_t
результат функции смены пресета
#define PIXEL_CNT
Общее количество пикселов
#define FOREGROUND_EFFECT
основной эффект
uint8_t g
зеленая составляющая цвета
uint8_t r
красная составляющая цвета
pixel_t pixels[MAX_TOTAL_PIX]
Массив пикселей предельного размера
void register_effect(uint8_t toe, flash_effect_t *eff)
Регистрация эффекта в списках