diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index 3882c53d..a5ec6266 100644 --- a/src/dev/esp32/esp32.cpp +++ b/src/dev/esp32/esp32.cpp @@ -9,7 +9,6 @@ #include "esp_system.h" #include // needed to get the ResetInfo #include "driver/adc.h" -#include "driver/ledc.h" #include "esp_adc_cal.h" #include "esp_efuse.h" @@ -110,8 +109,6 @@ Esp32Device::Esp32Device() _backlight_power = 1; _backlight_level = 255; _backlight_pin = 255; // not TFT_BCKL because it is unknown at this stage - _backlight_pending = false; - _backlight_fading = false; /* fill unique identifier with wifi mac */ byte mac[6]; @@ -243,22 +240,6 @@ const char* Esp32Device::get_hardware_id() return _hardware_id.c_str(); } -bool Esp32Device::cb_backlight(const ledc_cb_param_t *param, void *user_arg) { - reinterpret_cast(user_arg)->end_backlight_fade(); - return false; -} - -void Esp32Device::end_backlight_fade() -{ - if (_backlight_pending) { - _backlight_pending = false; - _backlight_fading = false; - update_backlight(_backlight_fade); - } else { - _backlight_fading = false; - } -} - void Esp32Device::set_backlight_pin(uint8_t pin) { _backlight_pin = pin; @@ -272,10 +253,7 @@ void Esp32Device::set_backlight_pin(uint8_t pin) ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10); #endif ledcAttachPin(pin, BACKLIGHT_CHANNEL); - ledc_fade_func_install(0); - ledc_cbs_t cbs = {cb_backlight}; - ledc_cb_register(LEDC_LOW_SPEED_MODE, (ledc_channel_t) BACKLIGHT_CHANNEL, &cbs, this); - update_backlight(false); + update_backlight(); } else { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin not set")); } @@ -284,7 +262,7 @@ void Esp32Device::set_backlight_pin(uint8_t pin) void Esp32Device::set_backlight_invert(bool invert) { _backlight_invert = invert; - update_backlight(false); + update_backlight(); } bool Esp32Device::get_backlight_invert() @@ -295,7 +273,7 @@ bool Esp32Device::get_backlight_invert() void Esp32Device::set_backlight_level(uint8_t level) { _backlight_level = level; - update_backlight(false); + update_backlight(); } uint8_t Esp32Device::get_backlight_level() @@ -306,7 +284,7 @@ uint8_t Esp32Device::get_backlight_level() void Esp32Device::set_backlight_power(bool power) { _backlight_power = power; - update_backlight(false); + update_backlight(); } bool Esp32Device::get_backlight_power() @@ -314,37 +292,17 @@ bool Esp32Device::get_backlight_power() return _backlight_power != 0; } -void Esp32Device::update_backlight(bool fade) +void Esp32Device::update_backlight() { if(_backlight_pin < GPIO_NUM_MAX) { #if !defined(CONFIG_IDF_TARGET_ESP32S2) uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; if(_backlight_invert) duty = 1023 - duty; - if(_backlight_fading) { - _backlight_fade = fade; - _backlight_pending = true; - } else { - if(fade) { - _backlight_fading = true; - ledc_set_fade_time_and_start(LEDC_LOW_SPEED_MODE, (ledc_channel_t) BACKLIGHT_CHANNEL, duty, BACKLIGHT_FADEMS, LEDC_FADE_NO_WAIT); - } else { - ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value - } - } + ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value #else uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; if(_backlight_invert) duty = 1023 - duty; - if(_backlight_fading) { - _backlight_fade = fade; - _backlight_pending = true; - } else { - if(fade) { - _backlight_fading = true; - ledc_set_fade_time_and_start(LEDC_LOW_SPEED_MODE, (ledc_channel_t) BACKLIGHT_CHANNEL, duty, BACKLIGHT_FADEMS, LEDC_FADE_NO_WAIT); - } else { - ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value - } - } + ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value #endif }