Add WS2812 status module and config

This commit is contained in:
2025-12-13 12:32:15 +02:00
parent 3218e6039f
commit 5b4691dc53
39 changed files with 2538 additions and 3 deletions

View File

@@ -6,6 +6,7 @@
#include "dcdc_controller.h"
#include "usb_cdc_cli.h"
#include "ws2812_status.h"
static const char *TAG = "watch-watch";
@@ -13,9 +14,17 @@ void app_main(void)
{
if (dcdc_init() != ESP_OK) {
ESP_LOGE(TAG, "Помилка ініціалізації DCDC контролера");
ws2812_status_init();
ws2812_status_set_error(true);
return;
}
if (ws2812_status_init() == ESP_OK) {
ws2812_status_refresh_from_dcdc();
} else {
ESP_LOGW(TAG, "WS2812 статусний індикатор недоступний");
}
if (usb_cdc_cli_init() != ESP_OK) {
ESP_LOGW(TAG, "USB CDC CLI недоступний");
} else {
@@ -30,10 +39,13 @@ void app_main(void)
for (size_t ch = 0; ch < dcdc_channel_count(); ++ch) {
if (prev_channel != ch) {
dcdc_disable(prev_channel);
ws2812_status_set_channel_state(prev_channel, false);
}
ESP_LOGI(TAG, "-> Ввімкнення каналу %d", (int)ch);
dcdc_enable(ch);
ws2812_status_set_channel_state(ch, true);
ws2812_status_mark_active(ch);
vTaskDelay(on_time);
prev_channel = ch;