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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.