From ee756f7e231300cdf8e110441e0699a8de1abdfa Mon Sep 17 00:00:00 2001 From: Edvin Date: Tue, 23 Sep 2025 16:25:37 +0200 Subject: First commit --- rgb_led.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 rgb_led.c (limited to 'rgb_led.c') diff --git a/rgb_led.c b/rgb_led.c new file mode 100644 index 0000000..63d88e5 --- /dev/null +++ b/rgb_led.c @@ -0,0 +1,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); +} -- cgit v1.2.3