diff --git a/src/dev/esp32/esp32.cpp b/src/dev/esp32/esp32.cpp index 049f3c1b..88d34460 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" @@ -254,8 +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); - update_backlight(false); + update_backlight(); } else { LOG_VERBOSE(TAG_GUI, F("Backlight : Pin not set")); } @@ -264,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() @@ -275,7 +273,7 @@ bool Esp32Device::get_backlight_invert() void Esp32Device::set_backlight_level(uint8_t level) { _backlight_level = level; - update_backlight(true); + update_backlight(); } uint8_t Esp32Device::get_backlight_level() @@ -286,7 +284,7 @@ uint8_t Esp32Device::get_backlight_level() void Esp32Device::set_backlight_power(bool power) { _backlight_power = power; - update_backlight(true); + update_backlight(); } bool Esp32Device::get_backlight_power() @@ -294,30 +292,18 @@ bool Esp32Device::get_backlight_power() return _backlight_power != 0; } -void Esp32Device::update_backlight(bool fade) +void Esp32Device::update_backlight() { - static uint32_t last_duty = 0; 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(fade) { - ledcWrite(BACKLIGHT_CHANNEL, last_duty); // this will stop an in-progress fade - 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(fade) { - ledcWrite(BACKLIGHT_CHANNEL, last_duty); // this will stop an in-progress fade - 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 - last_duty = duty; } // haspTft.tft.writecommand(0x53); // Write CTRL Display diff --git a/src/dev/esp32/esp32.h b/src/dev/esp32/esp32.h index e3a8bd17..62276c58 100644 --- a/src/dev/esp32/esp32.h +++ b/src/dev/esp32/esp32.h @@ -13,8 +13,6 @@ #define BACKLIGHT_FREQUENCY 20000 #endif -#define BACKLIGHT_FADEMS 200 - #ifdef __cplusplus extern "C" { #endif @@ -69,7 +67,7 @@ class Esp32Device : public BaseDevice { uint8_t _backlight_power; uint8_t _backlight_invert; - void update_backlight(bool fade); + void update_backlight(); }; } // namespace dev