mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-28 13:46:36 +00:00
Remove Backlight fade
This commit is contained in:
parent
70738fb361
commit
9d51e974de
@ -9,7 +9,6 @@
|
||||
#include "esp_system.h"
|
||||
#include <rom/rtc.h> // 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<Esp32Device*>(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
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user