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 "esp_log.h"
#include "driver/gpio.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() \ #define ZH_AC_DIMMER_INIT_CONFIG_DEFAULT() \
{ \ { \
.ac_dimmer_frequency = ZH_50HZ, \
.zero_cross_gpio = GPIO_NUM_MAX, \ .zero_cross_gpio = GPIO_NUM_MAX, \
.triac_gpio = GPIO_NUM_MAX, \ .triac_gpio = GPIO_NUM_MAX, \
.triac_time = 1} .triac_time = 1}
@@ -24,13 +21,6 @@ extern "C"
{ {
#endif #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. typedef struct // Structure for initial initialization of AC dimmer.
{ {
uint8_t ac_dimmer_frequency; // AC frequency. 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_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_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_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 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); 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; return ESP_OK;
} }
// esp_err_t zh_avr_ac_dimmer_start(void) esp_err_t zh_ac_dimmer_start(void)
// { {
// ZH_ERROR_CHECK(_is_initialized == true, AVR_ERR_NOT_FOUND); ZH_ERROR_CHECK(_is_initialized == true, ESP_ERR_INVALID_STATE, "AC dimmer start failed. AC dimmer is not initialized.");
// _is_dimmer_work = true; // TODO. Check AC frequency.
// return AVR_OK; _is_dimmer_work = true;
// } ZH_LOGI("AC dimmer start completed successfully.");
return ESP_OK;
}
// esp_err_t zh_avr_ac_dimmer_stop(void) esp_err_t zh_ac_dimmer_stop(void)
// { {
// ZH_ERROR_CHECK(_is_initialized == true, AVR_ERR_NOT_FOUND); ZH_ERROR_CHECK(_is_initialized == true, ESP_ERR_INVALID_STATE, "AC dimmer stop failed. AC dimmer is not initialized.");
// _is_dimmer_work = false; _is_dimmer_work = false;
// return AVR_OK; ZH_LOGI("AC dimmer stop completed successfully.");
// } return ESP_OK;
}
// esp_err_t zh_avr_ac_dimmer_set(uint8_t value) esp_err_t zh_ac_dimmer_set(uint8_t value)
// { {
// ZH_ERROR_CHECK(value <= 100, AVR_ERR_INVALID_ARG); ZH_ERROR_CHECK(value <= 100, ESP_ERR_INVALID_ARG, "AC dimmer setup failed. AC dimmer is not initialized.");
// _dimmer_value = value; _dimmer_value = value;
// return AVR_OK; ZH_LOGI("AC dimmer setup completed successfully.");
// } return ESP_OK;
}
// void zh_avr_ac_dimmer_isr_handler(void) // 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->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->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); // 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) // 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; // return AVR_ERR_INVALID_ARG;
// break; // break;
// } // }
// return AVR_OK; // return ESP_OK;
// } // }
// ISR(TIMER0_COMPA_vect) // ISR(TIMER0_COMPA_vect)