解耦test,example,重构effect为C(解决 #4 #6)

This commit is contained in:
2023-11-25 16:36:04 +08:00
parent 5024b92298
commit 1d8c7663f1
20 changed files with 242 additions and 217 deletions

View File

@@ -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表示程序正常结束

View File

@@ -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);
}
}