forked from PAWPAW/lib_rgb
解耦test,example,重构effect为C(解决 #4 #6)
This commit is contained in:
@@ -1,14 +1,19 @@
|
||||
/** @brief 循环输出整个HSV色域
|
||||
/** @brief 持续更新RGB灯条的颜色
|
||||
* 在tile[1]上启动一个永久循环,该循环会持续更新RGB灯条的颜色。
|
||||
* 它初始化一个颜色值,然后在一个无限循环中不断地调用fill_gradient和cycleRGB函数,
|
||||
* 以实现RGB灯条颜色的渐变效果。颜色的变化方向会根据GradientDirection变量进行调整。
|
||||
* @author Vergil Wong
|
||||
* @date 2023-11-11
|
||||
* @date 2023-11-25
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
|
||||
#include "stdint.h"
|
||||
#include <stdio.h> // 包含基本的输入输出函数
|
||||
#include <platform.h> // 包含对封装的定义,引用以使用 on tile[] 语法
|
||||
#include "rgb_effect.h"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
void rgb_cycle_breathing_example();
|
||||
}
|
||||
|
||||
int main() // 定义主函数
|
||||
{
|
||||
@@ -16,7 +21,7 @@ int main() // 定义主函数
|
||||
{
|
||||
on tile[1]:
|
||||
{
|
||||
cycleRGB_driver();
|
||||
rgb_cycle_breathing_example();
|
||||
}
|
||||
}
|
||||
return 0; // 返回0,表示程序正常结束
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h> // 包含基本的输入输出函数
|
||||
#include "rgb_effect.h"
|
||||
#include "timer.h"
|
||||
void rgb_cycle_breathing_example()
|
||||
{
|
||||
uint32_t buf[NUM_RGBS];
|
||||
uint32_t current_color = 0x000000; // Start from black
|
||||
GradientDirection direction = INCREMENTING; // 开始时设置为递增亮度
|
||||
|
||||
while (1)
|
||||
{
|
||||
// 用当前渐变颜色填充RGB数组
|
||||
fill_gradient(buf, NUM_RGBS, current_color);
|
||||
// 延迟以控制显示持续时间
|
||||
delay_milliseconds(DELAY_TIME_RGB);
|
||||
// 更改下一个渐变的基色
|
||||
current_color = cycleRGB(current_color, &direction);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user