解决RGB灯每10次闪烁存在一次触发亮灯的情况
This commit is contained in:
@@ -99,39 +99,44 @@ void rgb_update_cyle(uint8_t index, uint16_t cyle)
|
||||
}
|
||||
void rgb_color_change(uint8_t index, uint8_t color)
|
||||
{
|
||||
switch(color)
|
||||
{
|
||||
case RGB_COLOR_RAD:
|
||||
memcpy(&expression[index], &rgb_color_rad, sizeof(rgb_color_rad));
|
||||
break;
|
||||
case RGB_COLOR_ORANGE:
|
||||
memcpy(&expression[index], &rgb_color_orange, sizeof(rgb_color_orange));
|
||||
break;
|
||||
case RGB_COLOR_GREEN:
|
||||
memcpy(&expression[index], &rgb_color_green, sizeof(rgb_color_green));
|
||||
break;
|
||||
case RGB_COLOR_WHITE:
|
||||
memcpy(&expression[index], &rgb_color_white, sizeof(rgb_color_white));
|
||||
break;
|
||||
case RGB_COLOR_PURPLE:
|
||||
memcpy(&expression[index], &rgb_color_purple, sizeof(rgb_color_purple));
|
||||
break;
|
||||
case RGB_COLOR_CYAN:
|
||||
memcpy(&expression[index], &rgb_color_cyan, sizeof(rgb_color_cyan));
|
||||
break;
|
||||
case RGB_COLOR_BLUE:
|
||||
memcpy(&expression[index], &rgb_color_blue, sizeof(rgb_color_blue));
|
||||
break;
|
||||
case RGB_COLOR_GREEN_WHITE:
|
||||
memcpy(&expression[index], &rgb_color_green_white, sizeof(rgb_color_green_white));
|
||||
break;
|
||||
case RGB_COLOR_GREEN_PURPLE:
|
||||
memcpy(&expression[index], &rgb_color_green_purple, sizeof(rgb_color_green_purple));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
expression[index].index = index;
|
||||
static uint8_t rgb_color_lat[EXAMPLE_LED_NUMBERS] = {0};
|
||||
if(rgb_color_lat[index] != color)
|
||||
{
|
||||
switch(color)
|
||||
{
|
||||
case RGB_COLOR_RAD:
|
||||
memcpy(&expression[index], &rgb_color_rad, sizeof(rgb_color_rad));
|
||||
break;
|
||||
case RGB_COLOR_ORANGE:
|
||||
memcpy(&expression[index], &rgb_color_orange, sizeof(rgb_color_orange));
|
||||
break;
|
||||
case RGB_COLOR_GREEN:
|
||||
memcpy(&expression[index], &rgb_color_green, sizeof(rgb_color_green));
|
||||
break;
|
||||
case RGB_COLOR_WHITE:
|
||||
memcpy(&expression[index], &rgb_color_white, sizeof(rgb_color_white));
|
||||
break;
|
||||
case RGB_COLOR_PURPLE:
|
||||
memcpy(&expression[index], &rgb_color_purple, sizeof(rgb_color_purple));
|
||||
break;
|
||||
case RGB_COLOR_CYAN:
|
||||
memcpy(&expression[index], &rgb_color_cyan, sizeof(rgb_color_cyan));
|
||||
break;
|
||||
case RGB_COLOR_BLUE:
|
||||
memcpy(&expression[index], &rgb_color_blue, sizeof(rgb_color_blue));
|
||||
break;
|
||||
case RGB_COLOR_GREEN_WHITE:
|
||||
memcpy(&expression[index], &rgb_color_green_white, sizeof(rgb_color_green_white));
|
||||
break;
|
||||
case RGB_COLOR_GREEN_PURPLE:
|
||||
memcpy(&expression[index], &rgb_color_green_purple, sizeof(rgb_color_green_purple));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
expression[index].index = index;
|
||||
rgb_color_lat[index] = color;
|
||||
}
|
||||
}
|
||||
void rgb_toggle(uint8_t index, rgb_color_t* rgb_color)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user