Hallo,
in der Arduino Version von Lightweight WS2812 gibt es eine HSV
Umrechnung, leider aber nicht für die AVR Version.
Leider kann man das ganze so nicht auf dem AVR nutzen.
Nun die Frage, wie baue ich das ganze auf C um? Ich habe hier ein
Problem, die Struktur richtig zu nutzen.
1 | /*main.c*/
|
2 | //..
|
3 | #define NUM_LEDS 10
|
4 | cRGB leds[NUM_LEDS]; // 10xWS2812B
|
5 | //..
|
6 | void main(void)
|
7 | {
|
8 | int led = 1;
|
9 | ws2812_sethsv(leds, led, 0, 255, 255); // ledarray, led#, hue, sat, val
|
10 | //..
|
11 | }
|
12 |
|
13 | /*lib.c*/
|
14 | void inline ws2812_setled_hsv(struct cRGB *ledarray, uint8_t led_no, uint16_t hue, uint8_t sat, uint8_t val)
|
15 | {
|
16 | // Umrechnung
|
17 | // ..
|
18 |
|
19 | (*ledarray)[led].b = hue;
|
20 | }
|
Wie muss ich das nun richtig anwenden, damit die Funktion mir die 3 RGB
Werte für eine LED umrechnet? Mir geht es hier nur um das Verständnis
des Struct Arrays.