mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-24 03:27:45 +08:00
为什么要演奏春日影
This commit is contained in:
@@ -31,136 +31,162 @@ uint8_t g = 0;
|
||||
uint8_t b = 0;
|
||||
|
||||
/*---------------------FUNCTIONS---------------------*/
|
||||
|
||||
void robotSelfCheck(void)
|
||||
{
|
||||
WS2812_Ctrl(255, 0, 0);
|
||||
HAL_Delay(300);
|
||||
|
||||
WS2812_Ctrl(0, 0, 255);
|
||||
HAL_Delay(300);
|
||||
|
||||
WS2812_Ctrl(0, 255, 0);
|
||||
HAL_Delay(300);
|
||||
|
||||
WS2812_Ctrl(0, 255, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief WS2812 LED control task
|
||||
* @param argument
|
||||
*/
|
||||
void ws2812Task(void *argument) {
|
||||
(void) argument;
|
||||
while (1) {
|
||||
switch (RobotMode) {
|
||||
case NORMAL_MODE:
|
||||
BlinkGreen();
|
||||
break;
|
||||
case SYS_ERROR_OCCURRED:
|
||||
BlinkRed();
|
||||
break;
|
||||
case REMOTE_NOT_CONNECTED:
|
||||
BlinkYellow();
|
||||
break;
|
||||
case REMOTE_CONNECTED:
|
||||
BlinkBlue();
|
||||
break;
|
||||
case AUTO_SHOOTING_MODE:
|
||||
BlinkCyan();
|
||||
break;
|
||||
case IMU_CALIBERATION_MODE:
|
||||
BlinkPurple();
|
||||
break;
|
||||
default:
|
||||
BlinkYellow();
|
||||
}
|
||||
osDelay(10); // 每个任务最后都要写在while里,要不然会导致任务切换失败
|
||||
void ws2812Task(void *argument)
|
||||
{
|
||||
(void) argument;
|
||||
while (1)
|
||||
{
|
||||
switch (RobotMode)
|
||||
{
|
||||
case NORMAL_MODE:
|
||||
BlinkGreen();
|
||||
break;
|
||||
case SYS_ERROR_OCCURRED:
|
||||
BlinkRed();
|
||||
break;
|
||||
case REMOTE_NOT_CONNECTED:
|
||||
BlinkYellow();
|
||||
break;
|
||||
case REMOTE_CONNECTED:
|
||||
BlinkBlue();
|
||||
break;
|
||||
case AUTO_SHOOTING_MODE:
|
||||
BlinkCyan();
|
||||
break;
|
||||
case IMU_CALIBERATION_MODE:
|
||||
BlinkPurple();
|
||||
break;
|
||||
default:
|
||||
BlinkYellow();
|
||||
}
|
||||
osDelay(10); // 每个任务最后都要写在while里,要不然会导致任务切换失败
|
||||
}
|
||||
}
|
||||
|
||||
void BlinkYellow(void) {
|
||||
r = 255; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为黄色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkYellow(void)
|
||||
{
|
||||
r = 255; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为黄色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkRed(void) {
|
||||
r = 255; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为红色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkRed(void)
|
||||
{
|
||||
r = 255; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为红色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkGreen(void) {
|
||||
r = 0; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为绿色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkGreen(void)
|
||||
{
|
||||
r = 0; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 0; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为绿色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkBlue(void) {
|
||||
r = 0; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为蓝色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkBlue(void)
|
||||
{
|
||||
r = 0; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为蓝色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkWhite(void) {
|
||||
r = 255; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为白色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkWhite(void)
|
||||
{
|
||||
r = 255; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为白色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkCyan(void) {
|
||||
r = 0; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为青色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkCyan(void)
|
||||
{
|
||||
r = 0; // 红色分量
|
||||
g = 255; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为青色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void BlinkPurple(void) {
|
||||
r = 255; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为紫色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
void BlinkPurple(void)
|
||||
{
|
||||
r = 255; // 红色分量
|
||||
g = 0; // 绿色分量
|
||||
b = 255; // 蓝色分量
|
||||
WS2812_Ctrl(r, g, b); // 设置为紫色
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
WS2812_Ctrl(0, 0, 0); // 关闭LED灯
|
||||
delay_ticks(500); // 延时500毫秒
|
||||
}
|
||||
|
||||
void PWMControwLed(void) {
|
||||
//
|
||||
void PWMControwLed(void)
|
||||
{
|
||||
//
|
||||
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// r++;
|
||||
// g += 5;
|
||||
// b += 10;
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// r++;
|
||||
// g += 5;
|
||||
// b += 10;
|
||||
|
||||
// r=0;g=255;b=0;//绿色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500); // 使用延时函数代替osDelay,避免任务切换失败
|
||||
// r=0;g=255;b=0;//绿色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500); // 使用延时函数代替osDelay,避免任务切换失败
|
||||
|
||||
// r=0;g=0;b=255;//蓝色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
// r=0;g=0;b=255;//蓝色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
|
||||
// r=0;g=255;b=255;//青色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
// r=0;g=255;b=255;//青色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
|
||||
// r=255;g=0;b=255;//紫色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
// r=255;g=0;b=255;//紫色
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(500);
|
||||
|
||||
// r=255;g=255;b=255;
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(1000);
|
||||
// osDelay(1);
|
||||
// osDelay(100);
|
||||
// r=255;g=255;b=255;
|
||||
// WS2812_Ctrl(r, g, b);
|
||||
// delay_ticks(1000);
|
||||
// osDelay(1);
|
||||
// osDelay(100);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user