15 #include "../avr_helper.h" 17 #include <avr/eeprom.h> 18 #include "../hardware.h" 19 #include "../color_transform.h" 20 #include "../global.h" 22 #include "../main_effect.h" 23 #include "../lcd_show.h" 28 static __flash
const char _name[] =
"LAMP";
48 static void _stop(
void){
52 static void _start(
void){
58 if(color >= HSV_GRADE) color = 0;
59 if(color < 0) color = HSV_GRADE-1;
64 #define hex_nibble(x) ((x) >= 0x0A) ? (((x)-0x0A)+'A') : ((x)+'0') 66 static effect_info_t _info(uint8_t show){
77 char tmp[17] =
"COLOR:";
78 tmp[6] = hex_nibble(rgb.r >> 4);
79 tmp[7] = hex_nibble(rgb.r & 0x0F);
80 tmp[8] = hex_nibble(rgb.g >> 4);
81 tmp[9] = hex_nibble(rgb.g & 0x0F);
82 tmp[10] = hex_nibble(rgb.b >> 4);
83 tmp[11] = hex_nibble(rgb.b & 0x0F);
91 static void _save(
void);
103 static EEMEM uint16_t e_color;
106 color = eeprom_read_word(&e_color);
107 if(color >= HSV_GRADE) color = rand() % HSV_GRADE;
114 static void _save(
void){
116 eeprom_update_word(&e_color, color);
void bright_ctrl(uint8_t id, uint8_t bright, int8_t delta)
Управление яркостью
void center_str(uint8_t row, char *src)
вывод строки по центру дисплея
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)
void register_effect(uint8_t toe, flash_effect_t *eff)
Регистрация эффекта в списках