更新README

This commit is contained in:
2023-11-25 16:55:26 +08:00
parent 8d3e445541
commit ab84321fd6

View File

@@ -6,6 +6,9 @@
`lib_rgb` 是一个用于控制RGB灯条的C语言库提供了一系列功能比如颜色渐变、呼吸灯效果和色调循环等。它支持通过RGB和HSV颜色空间来控制灯条的颜色输出。 `lib_rgb` 是一个用于控制RGB灯条的C语言库提供了一系列功能比如颜色渐变、呼吸灯效果和色调循环等。它支持通过RGB和HSV颜色空间来控制灯条的颜色输出。
## 功能 ## 功能
- **响度可视化**通过检测音频样本中的响度实现RGB跟随音量大小跳动
- **颜色渐变**通过逐步调整RGB值来模拟呼吸灯效果。 - **颜色渐变**通过逐步调整RGB值来模拟呼吸灯效果。
- **色调循环**在HSV颜色空间中循环改变色调以实现颜色渐变。 - **色调循环**在HSV颜色空间中循环改变色调以实现颜色渐变。
@@ -14,17 +17,12 @@
- **颜色填充**将单一颜色填充到整个RGB条中也可以将RGB条分组同时输出不同的颜色或响应 - **颜色填充**将单一颜色填充到整个RGB条中也可以将RGB条分组同时输出不同的颜色或响应
- **音量响应**:根据响度值(-xdB~0dB),获取音量等级,以实现响度可视化 - **音量响应**:根据响度值(-xdB~0dB),获取音量等级
- **RGB灯条驱动**启动一个永久循环持续更新RGB灯条的颜色。
- **HSV颜色循环驱动**驱动HSV颜色空间中的颜色循环以实现连续的颜色渐变效果。
## 使用方法 ## 使用方法
### 包含头文件 ### 包含头文件
在你的项目中包含`rgb_effect.h`文件。 在你的项目中包含`rgb_effect.h`文件。
```c ```c
@@ -33,26 +31,30 @@
### 快速开始 ### 快速开始
如果你想要一个开箱即用的持续的颜色渐变效果,可以使用`cycleRGB_driver``cycleHSV_driver`函数 如果你想要尝试开箱即用的持续的颜色渐变效果,可以使用`examples/app_hsv_cycle_example/src/hsv_cycle_example.c`中的`hsv_cycle_example`函数,具体的用法可以参考该示例
注意当前用于驱动LED组的默认的IO定义在`Tile[1]``4A3`端口上因此你需要添加对tile的声明。 注意当前用于驱动LED组的默认的IO定义在`Tile[1]``4A3`端口上因此你需要添加对tile的声明。
```c ```c
par #include <platform.h> // 包含对封装的定义,引用以使用 on tile[] 语法
{
// 启动RGB颜色渐变驱动
on tile[1]: cycleRGB_driver();
}
```
或者: extern "C"
```c
par
{ {
// 启动HSV颜色循环驱动 void hsv_cycle_example();
on tile[1]: cycleHSV_driver();
} }
int main() // 定义主函数
{
par
{
on tile[1]:
{
hsv_cycle_example();
}
}
return 0; // 返回0表示程序正常结束
}
``` ```
### 初始化颜色和方向 ### 初始化颜色和方向
@@ -93,8 +95,7 @@ output_rgb_array(rgb_array, 3);
## 路线图 ## 路线图
- [ ] 当RGB_MAX等值超限时raise error - [x] 为绘制RGB的函数添加可合并选项以减少资源占用
- [ ] 为绘制RGB的函数添加可合并选项以减少资源占用
- [ ] 添加更多应用光效 - [ ] 添加更多应用光效
- [x] RGB渐变 - [x] RGB渐变
- [x] HSV渐变 - [x] HSV渐变
@@ -104,6 +105,6 @@ output_rgb_array(rgb_array, 3);
- [ ] 使用fp/s32以增加`HSV_to_RGB`的计算效率 - [ ] 使用fp/s32以增加`HSV_to_RGB`的计算效率
## 贡献 ## 贡献
如果你有任何改进意见或者发现了bug请通过issues或pull requests来提交。 如果你有任何改进意见或者发现了bug请通过issues或pull requests来提交或贡献
感谢使用`lib_rgb` 感谢使用`lib_rgb`