Add backlight_invert

This commit is contained in:
fvanroie 2021-04-10 17:33:21 +02:00
parent b4aa18074b
commit cc18ff0a15
9 changed files with 33 additions and 18 deletions

View File

@ -115,6 +115,7 @@ void Esp32Device::update_backlight()
{
if(_backlight_pin < GPIO_NUM_MAX) {
uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 4095) : 0;
if(_backlight_invert) duty = 4095 - duty;
ledcWrite(BACKLIGHT_CHANNEL, duty); // ledChannel and value
}
}

View File

@ -16,12 +16,13 @@ class Esp32Device : public BaseDevice {
Esp32Device()
{
#ifdef MQTT_NODENAME
_hostname = MQTT_NODENAME;
_hostname = MQTT_NODENAME;
#else
_hostname = "plate";
_hostname = "plate";
#endif
_backlight_power = 1;
_backlight_level = 100;
_backlight_power = 1;
_backlight_invert = 0;
_backlight_level = 255;
#ifdef TFT_BCKL
_backlight_pin = TFT_BCKL;
#else
@ -55,6 +56,7 @@ class Esp32Device : public BaseDevice {
uint8_t _backlight_pin;
uint8_t _backlight_level;
uint8_t _backlight_power;
uint8_t _backlight_invert;
void update_backlight();
};

View File

@ -82,9 +82,11 @@ bool Esp8266Device::get_backlight_power()
void Esp8266Device::update_backlight()
{
if(_backlight_pin == -1) return;
analogWrite(_backlight_pin, _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0);
if(_backlight_pin < GPIO_NUM_MAX) {
uint32_t duty = _backlight_power ? map(_backlight_level, 0, 255, 0, 1023) : 0;
if(_backlight_invert) duty = 1023 - duty;
analogWrite(_backlight_pin, duty);
}
}
size_t Esp8266Device::get_free_max_block()

View File

@ -16,10 +16,11 @@ class Esp8266Device : public BaseDevice {
public:
Esp8266Device()
{
_hostname = "plate";
_backlight_power = 1;
_backlight_level = 100;
_core_version = ESP.getCoreVersion().c_str();
_hostname = "plate";
_backlight_power = 1;
_backlight_invert = 0;
_backlight_level = 100;
_core_version = ESP.getCoreVersion().c_str();
#ifdef TFT_BCKL
_backlight_pin = TFT_BCKL;
#else
@ -55,6 +56,7 @@ class Esp8266Device : public BaseDevice {
uint8_t _backlight_pin;
uint8_t _backlight_level;
uint8_t _backlight_power;
uint8_t _backlight_invert;
void update_backlight();
};

View File

@ -38,8 +38,9 @@ PosixDevice::PosixDevice()
_hostname = uts.nodename;
}
_backlight_power = 1;
_backlight_level = 100;
_backlight_power = 1;
_backlight_invert = 0;
_backlight_level = 100;
}
void PosixDevice::reboot()
@ -115,6 +116,7 @@ bool PosixDevice::get_backlight_power()
void PosixDevice::update_backlight()
{
uint8_t level = _backlight_power ? _backlight_level : 0;
if(_backlight_invert) level = 255 - level;
monitor_backlight(level);
// SDL_SetTextureColorMod(monitor.texture, level, level, level);
// window_update(&monitor);

View File

@ -60,6 +60,7 @@ class PosixDevice : public BaseDevice {
uint8_t _backlight_pin;
uint8_t _backlight_level;
uint8_t _backlight_power;
uint8_t _backlight_invert;
void update_backlight();
};

View File

@ -16,9 +16,10 @@ class Stm32f4Device : public BaseDevice {
public:
Stm32f4Device()
{
_hostname = "plate";
_backlight_power = 1;
_backlight_level = 100;
_hostname = "plate";
_backlight_power = 1;
_backlight_invert = 0;
_backlight_level = 100;
#ifdef TFT_BCKL
_backlight_pin = TFT_BCKL;
#else
@ -53,6 +54,7 @@ class Stm32f4Device : public BaseDevice {
uint8_t _backlight_pin;
uint8_t _backlight_level;
uint8_t _backlight_power;
uint8_t _backlight_invert;
void update_backlight();
};

View File

@ -95,6 +95,7 @@ bool Win32Device::get_backlight_power()
void Win32Device::update_backlight()
{
uint8_t level = _backlight_power ? _backlight_level : 0;
if(_backlight_invert) level = 255 - level;
monitor_backlight(level);
}

View File

@ -47,8 +47,9 @@ class Win32Device : public BaseDevice {
_core_version = version;
// _backlight_pin = -1;
_backlight_power = 1;
_backlight_level = 100;
_backlight_power = 1;
_backlight_invert = 0;
_backlight_level = 255;
}
void reboot() override;
@ -79,6 +80,7 @@ class Win32Device : public BaseDevice {
uint8_t _backlight_pin;
uint8_t _backlight_level;
uint8_t _backlight_power;
uint8_t _backlight_invert;
void update_backlight();
};