HSV Funktion Light WS2812

Gast #4335216
Lesenswert?

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.
#4335227
Lesenswert?

Sollte so funktionieren
1
#define NUM_LEDS 10
2
cRGB leds[NUM_LEDS];//..
3
void main(void)
4
{
5
int led = 1;
6
ws2812_sethsv(leds, led, 0, 255, 255);
7
//..
8
}
9

10
/*lib.c*/
11
void inline ws2812_setled_hsv(struct cRGB *ledarray, uint8_t led, uint16_t hue, uint8_t sat, uint8_t val)
12
{
13
// Umrechnung
14
// ..
15

16
  ledarray[led].b = hue;
17
//..
18
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren