This commit is contained in:
2025-10-14 18:45:15 +03:00
parent 10b44f512a
commit f60bbba769
3 changed files with 24 additions and 31 deletions

View File

View File

@@ -9,11 +9,8 @@
#include "esp_log.h"
#include "driver/gpio.h"
// #define ZH_TRIAC_TIME 1 // Triac turn-on time (in microseconds). Depends on the type of triac. Tested on BTA16-600.
#define ZH_AC_DIMMER_INIT_CONFIG_DEFAULT() \
{ \
.ac_dimmer_frequency = ZH_50HZ, \
.zero_cross_gpio = GPIO_NUM_MAX, \
.triac_gpio = GPIO_NUM_MAX, \
.triac_time = 1}
@@ -24,13 +21,6 @@ extern "C"
{
#endif
typedef enum
{
ZH_50HZ = 1,
ZH_60HZ = 2,
ZH_400HZ = 3
} zh_ac_dimmer_frequency_t;
typedef struct // Structure for initial initialization of AC dimmer.
{
uint8_t ac_dimmer_frequency; // AC frequency.

View File

@@ -32,7 +32,6 @@ static esp_err_t _zh_ac_dimmer_validate_config(const zh_ac_dimmer_init_config_t
static esp_err_t _zh_ac_dimmer_gpio_init(const zh_ac_dimmer_init_config_t *config);
static esp_err_t _zh_ac_dimmer_interrupt_init(const zh_ac_dimmer_init_config_t *config);
static esp_err_t _zh_ac_dimmer_resources_init(const zh_ac_dimmer_init_config_t *config);
// static esp_err_t _zh_espnow_register_callbacks(bool battery_mode);
static esp_err_t _zh_ac_dimmer_task_create(const zh_ac_dimmer_init_config_t *config);
static void _zh_ac_dimmer_isr_handler(void *arg);
@@ -66,26 +65,30 @@ esp_err_t zh_ac_dimmer_init(const zh_ac_dimmer_init_config_t *config)
return ESP_OK;
}
// esp_err_t zh_avr_ac_dimmer_start(void)
// {
// ZH_ERROR_CHECK(_is_initialized == true, AVR_ERR_NOT_FOUND);
// _is_dimmer_work = true;
// return AVR_OK;
// }
esp_err_t zh_ac_dimmer_start(void)
{
ZH_ERROR_CHECK(_is_initialized == true, ESP_ERR_INVALID_STATE, "AC dimmer start failed. AC dimmer is not initialized.");
// TODO. Check AC frequency.
_is_dimmer_work = true;
ZH_LOGI("AC dimmer start completed successfully.");
return ESP_OK;
}
// esp_err_t zh_avr_ac_dimmer_stop(void)
// {
// ZH_ERROR_CHECK(_is_initialized == true, AVR_ERR_NOT_FOUND);
// _is_dimmer_work = false;
// return AVR_OK;
// }
esp_err_t zh_ac_dimmer_stop(void)
{
ZH_ERROR_CHECK(_is_initialized == true, ESP_ERR_INVALID_STATE, "AC dimmer stop failed. AC dimmer is not initialized.");
_is_dimmer_work = false;
ZH_LOGI("AC dimmer stop completed successfully.");
return ESP_OK;
}
// esp_err_t zh_avr_ac_dimmer_set(uint8_t value)
// {
// ZH_ERROR_CHECK(value <= 100, AVR_ERR_INVALID_ARG);
// _dimmer_value = value;
// return AVR_OK;
// }
esp_err_t zh_ac_dimmer_set(uint8_t value)
{
ZH_ERROR_CHECK(value <= 100, ESP_ERR_INVALID_ARG, "AC dimmer setup failed. AC dimmer is not initialized.");
_dimmer_value = value;
ZH_LOGI("AC dimmer setup completed successfully.");
return ESP_OK;
}
// void zh_avr_ac_dimmer_isr_handler(void)
// {
@@ -165,7 +168,7 @@ esp_err_t zh_ac_dimmer_init(const zh_ac_dimmer_init_config_t *config)
// ZH_ERROR_CHECK(config->zero_cross_port >= AVR_PORTB && config->zero_cross_port <= AVR_PORTD, AVR_ERR_INVALID_ARG);
// ZH_ERROR_CHECK(config->triac_port >= AVR_PORTB && config->triac_port <= AVR_PORTD, AVR_ERR_INVALID_ARG);
// ZH_ERROR_CHECK(config->ac_dimmer_frequency >= ZH_50HZ && config->ac_dimmer_frequency <= ZH_400HZ, AVR_ERR_INVALID_ARG);
// return AVR_OK;
// return ESP_OK;
// }
// static void _zh_avr_ac_dimmer_gpio_init(void)
@@ -279,7 +282,7 @@ esp_err_t zh_ac_dimmer_init(const zh_ac_dimmer_init_config_t *config)
// return AVR_ERR_INVALID_ARG;
// break;
// }
// return AVR_OK;
// return ESP_OK;
// }
// ISR(TIMER0_COMPA_vect)