#include #include "esp_err.h" #include "esp_log.h" #include "nvs_flash.h" #include "driver/ledc.h" #include "ledController.h" esp_err_t init_led_driver(led_disp_config_t configs[], uint8_t config_nb){ ledc_timer_config_t ledc_timer = { .speed_mode = LEDC_LOW_SPEED_MODE, .timer_num = LEDC_TIMER_0, .duty_resolution = LEDC_TIMER_10_BIT, .freq_hz = 5000, .clk_cfg = LEDC_AUTO_CLK }; ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer)); for(int i=0; i < config_nb; i++){ ESP_LOGI("led setup", "conf n %i, gpio %i, duty %i", i, configs[i].output, configs[i].intensity); ledc_channel_config_t ledc_channel = { .speed_mode = LEDC_LOW_SPEED_MODE, .channel = i, .timer_sel = LEDC_TIMER_0, .intr_type = LEDC_INTR_DISABLE, .gpio_num = configs[i].output, .duty = configs[i].intensity, .hpoint = 0 }; ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel)); } return ESP_OK; } esp_err_t update_led_status(led_disp_config_t configs[], uint8_t config_nb, uint16_t co2){ for(int i=0; i < config_nb; i++){ uint16_t duty = (co2>configs[i].min && co2