#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); }