blob: 63d88e5f8b0594ac54b2e9afa74a8e731dabee81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "driver/gpio.h"
#include "rgb_led.h"
void rgb_init_LED(rgb_led *LED, int R_pin, int G_pin, int B_pin)
{
LED->R_pin = R_pin;
LED->G_pin = G_pin;
LED->B_pin = B_pin;
LED->color = rgb_black;
// Clear previous pin configuration.
gpio_reset_pin(LED->R_pin);
gpio_set_direction(LED->R_pin, GPIO_MODE_OUTPUT);
gpio_reset_pin(LED->G_pin);
gpio_set_direction(LED->G_pin, GPIO_MODE_OUTPUT);
gpio_reset_pin(LED->B_pin);
gpio_set_direction(LED->B_pin, GPIO_MODE_OUTPUT);
gpio_set_level(LED->R_pin, LED->color.R);
gpio_set_level(LED->G_pin, LED->color.G);
gpio_set_level(LED->B_pin, LED->color.B);
}
void rgb_set_color(rgb_led *LED, rgb_color color)
{
LED->color = color;
gpio_set_level(LED->R_pin, LED->color.R);
gpio_set_level(LED->G_pin, LED->color.G);
gpio_set_level(LED->B_pin, LED->color.B);
}
|