Pico Led Controller
1.0.3
A project to control LEDs using Raspberry Pi Pico W
Loading...
Searching...
No Matches
hsv.c
Go to the documentation of this file.
1
#include "
hsv.h
"
2
3
#include "
urgb.h
"
4
5
uint32_t
hsv_to_rgb
(uint16_t h, uint8_t s, uint8_t v)
6
{
7
float
hf = h / 60.0f;
8
float
sf = s / 255.0f;
9
float
vf = v / 255.0f;
10
11
int
i = (int)hf % 6;
12
float
f = hf - (int)hf;
13
uint8_t p = (uint8_t)(vf * (1.0f - sf) * 255);
14
uint8_t q = (uint8_t)(vf * (1.0f - sf * f) * 255);
15
uint8_t t = (uint8_t)(vf * (1.0f - sf * (1.0f - f)) * 255);
16
uint8_t vi = (uint8_t)(vf * 255);
17
18
uint8_t r, g, b;
19
switch
(i) {
20
case
0:
21
r = vi;
22
g = t;
23
b = p;
24
break
;
25
case
1:
26
r = q;
27
g = vi;
28
b = p;
29
break
;
30
case
2:
31
r = p;
32
g = vi;
33
b = t;
34
break
;
35
case
3:
36
r = p;
37
g = q;
38
b = vi;
39
break
;
40
case
4:
41
r = t;
42
g = p;
43
b = vi;
44
break
;
45
case
5:
46
r = vi;
47
g = p;
48
b = q;
49
break
;
50
default
:
51
r = 0;
52
g = 0;
53
b = 0;
54
break
;
55
}
56
return
URGB
(r, g, b);
57
}
hsv_to_rgb
uint32_t hsv_to_rgb(uint16_t h, uint8_t s, uint8_t v)
Convert HSV to RGB.
Definition
hsv.c:5
hsv.h
urgb.h
URGB
#define URGB(r, g, b)
Definition
urgb.h:6
led_controller
src
hsv.c
Generated by
1.9.8