Use anonymous struct in ws2812_rgb_t.
This commit is contained in:
parent
e97dca4859
commit
b0e683b909
2 changed files with 14 additions and 16 deletions
|
@ -40,12 +40,12 @@ void demo_single(void)
|
|||
|
||||
// note: This would be _WAY_ easier with HSL
|
||||
|
||||
while(x.c.g < 0xFF) { x.c.g++; ws2812_set(pin, x.num); delay_ms(delay); } // R->RG
|
||||
while(x.c.r > 0x00) { x.c.r--; ws2812_set(pin, x.num); delay_ms(delay); } // RG->G
|
||||
while(x.c.b < 0xFF) { x.c.b++; ws2812_set(pin, x.num); delay_ms(delay); } // G->GB
|
||||
while(x.c.g > 0x00) { x.c.g--; ws2812_set(pin, x.num); delay_ms(delay); } // GB->B
|
||||
while(x.c.r < 0xFF) { x.c.r++; ws2812_set(pin, x.num); delay_ms(delay); } // B->BR
|
||||
while(x.c.b > 0x00) { x.c.b--; ws2812_set(pin, x.num); delay_ms(delay); } // BR->R
|
||||
while(x.g < 0xFF) { x.g++; ws2812_set(pin, x.num); delay_ms(delay); } // R->RG
|
||||
while(x.r > 0x00) { x.r--; ws2812_set(pin, x.num); delay_ms(delay); } // RG->G
|
||||
while(x.b < 0xFF) { x.b++; ws2812_set(pin, x.num); delay_ms(delay); } // G->GB
|
||||
while(x.g > 0x00) { x.g--; ws2812_set(pin, x.num); delay_ms(delay); } // GB->B
|
||||
while(x.r < 0xFF) { x.r++; ws2812_set(pin, x.num); delay_ms(delay); } // B->BR
|
||||
while(x.b > 0x00) { x.b--; ws2812_set(pin, x.num); delay_ms(delay); } // BR->R
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -97,12 +97,12 @@ void demo_strip(void *pvParameters)
|
|||
}
|
||||
|
||||
switch (step) {
|
||||
case 0: color.c.g += anim_step; if (color.c.g >= anim_max) step++; break;
|
||||
case 1: color.c.r -= anim_step; if (color.c.r == 0) step++; break;
|
||||
case 2: color.c.b += anim_step; if (color.c.b >= anim_max) step++; break;
|
||||
case 3: color.c.g -= anim_step; if (color.c.g == 0) step++; break;
|
||||
case 4: color.c.r += anim_step; if (color.c.r >= anim_max) step++; break;
|
||||
case 5: color.c.b -= anim_step; if (color.c.b == 0) step = 0; break;
|
||||
case 0: color.g += anim_step; if (color.g >= anim_max) step++; break;
|
||||
case 1: color.r -= anim_step; if (color.r == 0) step++; break;
|
||||
case 2: color.b += anim_step; if (color.b >= anim_max) step++; break;
|
||||
case 3: color.g -= anim_step; if (color.g == 0) step++; break;
|
||||
case 4: color.r += anim_step; if (color.r >= anim_max) step++; break;
|
||||
case 5: color.b -= anim_step; if (color.b == 0) step = 0; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -115,8 +115,6 @@ void demo_strip(void *pvParameters)
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void user_init(void)
|
||||
{
|
||||
uart_set_baud(0, 115200);
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
/**
|
||||
* @brief Struct for easy manipulation of RGB colors.
|
||||
*
|
||||
* Set components in the xrgb.c.r (etc.) and you will get
|
||||
* Set components in the xrgb.r (etc.) and you will get
|
||||
* the hex in xrgb.num.
|
||||
*/
|
||||
typedef union {
|
||||
|
@ -48,7 +48,7 @@ typedef union {
|
|||
uint8_t b;
|
||||
uint8_t g;
|
||||
uint8_t r;
|
||||
} c;
|
||||
};
|
||||
|
||||
/** RGB color as a single uint32_t */
|
||||
uint32_t num;
|
||||
|
|
Loading…
Reference in a new issue