feat(led): 添加LED按键淡入淡出效果并重构LED条模块
添加了完整的LED效果系统架构,包括: - 新增主题颜色定义文件theme_color.h - 实现key fade LED效果算法,支持按键触发的渐变效果 - 创建LED效果注册机制和通用接口 - 配置17个LED像素与按键映射关系 - 将原有简单的周期性效果替换为基于按键事件的动态效果 CMakeLists.txt中添加了新的源文件路径和实现文件。 BREAKING CHANGE: LED效果从固定的周期性变化改为响应按键事件的动态效果。
This commit is contained in:
27
src/led_effect/led_effect_registry.c
Normal file
27
src/led_effect/led_effect_registry.c
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <stddef.h>
|
||||
|
||||
#include "led_effect.h"
|
||||
|
||||
extern struct led_effect led_effect_key_fade;
|
||||
|
||||
static struct led_effect *const effect_registry[LED_EFFECT_ID_COUNT] = {
|
||||
[LED_EFFECT_ID_KEY_FADE] = &led_effect_key_fade,
|
||||
};
|
||||
|
||||
const struct led_effect *led_effect_get(enum led_effect_id id)
|
||||
{
|
||||
if (id >= LED_EFFECT_ID_COUNT) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return effect_registry[id];
|
||||
}
|
||||
|
||||
struct led_effect *led_effect_get_mutable(enum led_effect_id id)
|
||||
{
|
||||
if (id >= LED_EFFECT_ID_COUNT) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return effect_registry[id];
|
||||
}
|
||||
Reference in New Issue
Block a user