14 #include "../avr_helper.h" 17 #include <avr/eeprom.h> 18 #include "../color_transform.h" 19 #include "../global.h" 21 #include "../main_effect.h" 26 static void _stop(
void);
27 static void _start(
void);
29 static void _save(
void);
32 static __flash
const char _name[] =
"PICASSO";
46 #define DELTA_LIMIT 500 50 static __flash
const uint8_t harm[HARM] = {
55 static uint8_t DIV = 1;
61 uint8_t picture[PIC_SZ];
64 static delta_t delta[HARM];
66 uint16_t rand_range(uint16_t range){
67 return rand() % range;
70 uint16_t rand_deviation(uint16_t center, uint16_t dev_width){
71 return center + dev_width / 2 - rand_range(dev_width);
74 static void local_fade(uint8_t f){
75 for(uint8_t j=0; j<PIC_SZ; j++){
82 if(
pixels[delta[f].picture[j]].delta == 1){
87 if(delta[f].peak >= 0) delta[f].peak -= 50;
92 static void make_picture(uint8_t f, uint16_t peak){
94 hsv_t color = {330,255,255};
97 memset(delta[f].picture, 0, PIC_SZ);
106 color.
h = (HSV_GRADE / HARM) * f;
107 set_hsv_color(delta[f].picture[k-1], color);
114 static uint8_t wait[32];
128 for(uint8_t f=1; f <
F_CNT; f++){
137 if((peak >> 2) > 80) {
139 hsv_t color = {330,255,255};
140 color.
h = offset+(HSV_GRADE / HARM) * (peak_f-1);
141 uint8_t pix = rand_range(PIXEL_CNT);
142 set_hsv_color(pix, color);
149 static uint8_t div = 1;
void bright_ctrl(uint8_t id, uint8_t bright, int8_t delta)
Управление яркостью
int8_t delta
условная скорость автоматического изменения яркости
const __flash effect_t flash_effect_t
тип описания эффекта, размещенного во FLASH.
структура параметров звукового сигнала
uint16_t h
Оттенок цвета, значения в градусах 0...359.
uint16_t harmonics[F_CNT]
амплитуды всех гармоник сигнала
preset_result_t
результат функции смены пресета
#define PIXEL_CNT
Общее количество пикселов
Тип для представления цвета в HSV-модели
#define FOREGROUND_EFFECT
основной эффект
Общее количество гармоник
pixel_t pixels[MAX_TOTAL_PIX]
Массив пикселей предельного размера
void register_effect(uint8_t toe, flash_effect_t *eff)
Регистрация эффекта в списках
uint8_t bright
яркость пиксела