Revert "On ESP32 fade the backlight"

This commit is contained in:
fvanroie 2024-02-06 04:07:54 +01:00 committed by GitHub
parent b1716fbca1
commit ae074fce1d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 24 deletions

View File

@ -9,7 +9,6 @@
#include "esp_system.h" #include "esp_system.h"
#include <rom/rtc.h> // needed to get the ResetInfo #include <rom/rtc.h> // needed to get the ResetInfo
#include "driver/adc.h" #include "driver/adc.h"
#include "driver/ledc.h"
#include "esp_adc_cal.h" #include "esp_adc_cal.h"
#include "esp_efuse.h" #include "esp_efuse.h"
@ -254,8 +253,7 @@ void Esp32Device::set_backlight_pin(uint8_t pin)
ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10); ledcSetup(BACKLIGHT_CHANNEL, BACKLIGHT_FREQUENCY, 10);
#endif #endif
ledcAttachPin(pin, BACKLIGHT_CHANNEL); ledcAttachPin(pin, BACKLIGHT_CHANNEL);
ledc_fade_func_install(0); update_backlight();
update_backlight(false);
} else { } else {
LOG_VERBOSE(TAG_GUI, F("Backlight : Pin not set")); 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) void Esp32Device::set_backlight_invert(bool invert)
{ {
_backlight_invert = invert; _backlight_invert = invert;
update_backlight(false); update_backlight();
} }
bool Esp32Device::get_backlight_invert() bool Esp32Device::get_backlight_invert()
@ -275,7 +273,7 @@ bool Esp32Device::get_backlight_invert()
void Esp32Device::set_backlight_level(uint8_t level) void Esp32Device::set_backlight_level(uint8_t level)
{ {
_backlight_level = level; _backlight_level = level;
update_backlight(true); update_backlight();
} }
uint8_t Esp32Device::get_backlight_level() uint8_t Esp32Device::get_backlight_level()
@ -286,7 +284,7 @@ uint8_t Esp32Device::get_backlight_level()
void Esp32Device::set_backlight_power(bool power) void Esp32Device::set_backlight_power(bool power)
{ {
_backlight_power = power; _backlight_power = power;
update_backlight(true); update_backlight();
} }
bool Esp32Device::get_backlight_power() bool Esp32Device::get_backlight_power()
@ -294,30 +292,18 @@ bool Esp32Device::get_backlight_power()
return _backlight_power != 0; 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(_backlight_pin < GPIO_NUM_MAX) {
#if !defined(CONFIG_IDF_TARGET_ESP32S2) #if !defined(CONFIG_IDF_TARGET_ESP32S2)
uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0;
if(_backlight_invert) duty = 1023 - duty; if(_backlight_invert) duty = 1023 - duty;
if(fade) { ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value
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
}
#else #else
uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0; uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0;
if(_backlight_invert) duty = 1023 - duty; if(_backlight_invert) duty = 1023 - duty;
if(fade) { ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value
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
}
#endif #endif
last_duty = duty;
} }
// haspTft.tft.writecommand(0x53); // Write CTRL Display // haspTft.tft.writecommand(0x53); // Write CTRL Display

View File

@ -13,8 +13,6 @@
#define BACKLIGHT_FREQUENCY 20000 #define BACKLIGHT_FREQUENCY 20000
#endif #endif
#define BACKLIGHT_FADEMS 200
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@ -69,7 +67,7 @@ class Esp32Device : public BaseDevice {
uint8_t _backlight_power; uint8_t _backlight_power;
uint8_t _backlight_invert; uint8_t _backlight_invert;
void update_backlight(bool fade); void update_backlight();
}; };
} // namespace dev } // namespace dev