Modular v1

This commit is contained in:
2026-01-15 23:11:17 +00:00
parent 2b9642ebd2
commit 675c6aadcd
8 changed files with 783 additions and 39 deletions
+11
View File
@@ -41,6 +41,7 @@
#include "freertos/queue.h"
#include "esp_zigbee_core.h"
#include "switch_driver.h"
#include "device_config.h"
#include "led_indicator.h"
/* Estado atual do relay */
@@ -208,6 +209,7 @@ bool switch_driver_init(switch_func_pair_t *button_func_pair, uint8_t button_num
void relay_driver_init(void)
{
#ifdef DEVICE_TYPE_RELAY
gpio_config_t io_conf = {};
io_conf.intr_type = GPIO_INTR_DISABLE;
io_conf.mode = GPIO_MODE_OUTPUT;
@@ -220,10 +222,12 @@ void relay_driver_init(void)
gpio_set_level(GPIO_OUTPUT_RELAY, 0);
relay_state = false;
ESP_LOGI(TAG, "Relay inicializado no GPIO %d", GPIO_OUTPUT_RELAY);
#endif
}
void relay_set_state(bool state)
{
#ifdef DEVICE_TYPE_RELAY
relay_state = state;
gpio_set_level(GPIO_OUTPUT_RELAY, state ? 1 : 0);
@@ -231,14 +235,21 @@ void relay_set_state(bool state)
led_indicator_set_state(state ? LED_RELAY_ON : LED_RELAY_OFF);
ESP_LOGI(TAG, "Relay %s", state ? "LIGADO" : "DESLIGADO");
#endif
}
void relay_toggle(void)
{
#ifdef DEVICE_TYPE_RELAY
relay_set_state(!relay_state);
#endif
}
bool relay_get_state(void)
{
#ifdef DEVICE_TYPE_RELAY
return relay_state;
#else
return false;
#endif
}