feat: Adiciona suporte para controle de LED RGB e animações de estado
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
#include "freertos/queue.h"
|
||||
#include "esp_zigbee_core.h"
|
||||
#include "switch_driver.h"
|
||||
#include "led_indicator.h"
|
||||
|
||||
/* Estado atual do relay */
|
||||
static bool relay_state = false;
|
||||
@@ -123,13 +124,9 @@ static void switch_driver_button_detected(void *arg)
|
||||
if ((current_time - press_start_time) >= LONG_PRESS_DURATION_MS) {
|
||||
ESP_LOGI(TAG, "Botão pressionado por 5 segundos - Iniciando factory reset...");
|
||||
ESP_LOGI(TAG, "Dispositivo entrará em modo de pareamento após reiniciar");
|
||||
/* Piscar relay para feedback visual */
|
||||
for (int i = 0; i < 5; i++) {
|
||||
relay_set_state(true);
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
relay_set_state(false);
|
||||
vTaskDelay(pdMS_TO_TICKS(100));
|
||||
}
|
||||
/* Animação arco-íris no LED para feedback visual */
|
||||
led_indicator_set_state(LED_FACTORY_RESET);
|
||||
vTaskDelay(pdMS_TO_TICKS(2000)); /* 2 segundos de animação */
|
||||
/* Factory reset - limpa NVS e reinicia */
|
||||
esp_zb_factory_reset();
|
||||
switch_state = SWITCH_IDLE;
|
||||
@@ -229,6 +226,10 @@ void relay_set_state(bool state)
|
||||
{
|
||||
relay_state = state;
|
||||
gpio_set_level(GPIO_OUTPUT_RELAY, state ? 1 : 0);
|
||||
|
||||
/* Atualiza LED para refletir estado do relay */
|
||||
led_indicator_set_state(state ? LED_RELAY_ON : LED_RELAY_OFF);
|
||||
|
||||
ESP_LOGI(TAG, "Relay %s", state ? "LIGADO" : "DESLIGADO");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user