Change display timing splash screen with display modes 1 to 5

This commit is contained in:
Theo Arends 2024-06-08 15:33:44 +02:00
parent 7c48ab710a
commit ff961df336
5 changed files with 28 additions and 14 deletions

View File

@ -14,7 +14,8 @@ All notable changes to this project will be documented in this file.
- Matter refactoring of bridged devices (#21575) - Matter refactoring of bridged devices (#21575)
- ESP32 Core3 platform update from 2024.05.13 to 2024.06.10 (#21569) - ESP32 Core3 platform update from 2024.05.13 to 2024.06.10 (#21569)
- Optional MQTT_TELE_RETAIN to Energy Margins message replaced by ``SensorRetain`` - Optional MQTT_TELE_RETAIN to Energy Margins message replaced by ``SensorRetain``
- Matter filter suffix automatically added for sensors - Matter filter suffix automatically added for sensors (#21589)
- Display timing splash screen with display modes 1 to 5
### Fixed ### Fixed
- Berry `input()` returns empty string and does not crash (#21565) - Berry `input()` returns empty string and does not crash (#21565)

View File

@ -126,8 +126,10 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
### Changed ### Changed
- Optional MQTT_TELE_RETAIN to Energy Margins message replaced by ``SensorRetain`` - Optional MQTT_TELE_RETAIN to Energy Margins message replaced by ``SensorRetain``
- Display timing splash screen with display modes 1 to 5
- ESP32 Core3 platform update from 2024.05.13 to 2024.06.10 [#21569](https://github.com/arendst/Tasmota/issues/21569) - ESP32 Core3 platform update from 2024.05.13 to 2024.06.10 [#21569](https://github.com/arendst/Tasmota/issues/21569)
- Matter refactoring of bridged devices [#21575](https://github.com/arendst/Tasmota/issues/21575) - Matter refactoring of bridged devices [#21575](https://github.com/arendst/Tasmota/issues/21575)
- Matter filter suffix automatically added for sensors [#21589](https://github.com/arendst/Tasmota/issues/21589)
### Fixed ### Fixed
- Berry `input()` returns empty string and does not crash [#21565](https://github.com/arendst/Tasmota/issues/21565) - Berry `input()` returns empty string and does not crash [#21565](https://github.com/arendst/Tasmota/issues/21565)

View File

@ -290,6 +290,10 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
col_type = uCOLOR_BW; col_type = uCOLOR_BW;
} else { } else {
col_type = uCOLOR_COLOR; col_type = uCOLOR_COLOR;
if (bpp == 16) {
fg_col = GetColorFromIndex(fg_col);
bg_col = GetColorFromIndex(bg_col);
}
} }
str2c(&lp1, ibuff, sizeof(ibuff)); str2c(&lp1, ibuff, sizeof(ibuff));
if (!strncmp(ibuff, "I2C", 3)) { if (!strncmp(ibuff, "I2C", 3)) {
@ -368,11 +372,9 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
splash_font = next_val(&lp1); splash_font = next_val(&lp1);
splash_size = next_val(&lp1); splash_size = next_val(&lp1);
fg_col = next_val(&lp1); fg_col = next_val(&lp1);
if (bpp == 16) {
fg_col = GetColorFromIndex(fg_col);
}
bg_col = next_val(&lp1); bg_col = next_val(&lp1);
if (bpp == 16) { if (bpp == 16) {
fg_col = GetColorFromIndex(fg_col);
bg_col = GetColorFromIndex(bg_col); bg_col = GetColorFromIndex(bg_col);
} }
splash_xp = next_val(&lp1); splash_xp = next_val(&lp1);

View File

@ -2943,8 +2943,7 @@ void AddValue(uint8_t num,float fval) {
* Interface * Interface
\*********************************************************************************************/ \*********************************************************************************************/
bool Xdrv13(uint32_t function) bool Xdrv13(uint32_t function) {
{
bool result = false; bool result = false;
if (XdspPresent()) { if (XdspPresent()) {
@ -2958,7 +2957,9 @@ bool Xdrv13(uint32_t function)
} }
break; break;
case FUNC_EVERY_50_MSECOND: case FUNC_EVERY_50_MSECOND:
if (Settings->display_model) { XdspCall(FUNC_DISPLAY_EVERY_50_MSECOND); } if (Settings->display_model) {
XdspCall(FUNC_DISPLAY_EVERY_50_MSECOND);
}
break; break;
case FUNC_SET_POWER: case FUNC_SET_POWER:
DisplaySetPower(); DisplaySetPower();
@ -2966,20 +2967,27 @@ bool Xdrv13(uint32_t function)
case FUNC_EVERY_SECOND: case FUNC_EVERY_SECOND:
#ifdef USE_GRAPH #ifdef USE_GRAPH
DisplayCheckGraph(); DisplayCheckGraph();
#endif #endif // USE_GRAPH
#ifdef USE_DT_VARS #ifdef USE_DT_VARS
get_dt_mqtt(); get_dt_mqtt();
draw_dt_vars(); draw_dt_vars();
#endif // USE_DT_VARS #endif // USE_DT_VARS
#ifdef USE_DISPLAY_MODES1TO5 #ifdef USE_DISPLAY_MODES1TO5
if (Settings->display_model && Settings->display_mode) { XdspCall(FUNC_DISPLAY_EVERY_SECOND); } if (Settings->display_model && Settings->display_mode) {
#endif uint32_t wait = 0;
if (!Settings->flag5.display_no_splash) { // SetOption135 - (Display & LVGL) force disabling default 5 second splash screen
wait = 6;
}
if (TasmotaGlobal.uptime > wait) { // Allow time to display splash screen
XdspCall(FUNC_DISPLAY_EVERY_SECOND);
}
}
#endif // USE_DISPLAY_MODES1TO5
break; break;
case FUNC_AFTER_TELEPERIOD: case FUNC_AFTER_TELEPERIOD:
#ifdef USE_DT_VARS #ifdef USE_DT_VARS
DisplayDTVarsTeleperiod(); DisplayDTVarsTeleperiod();
#endif // USE_DT_VARS #endif // USE_DT_VARS
break; break;
#ifdef USE_DISPLAY_MODES1TO5 #ifdef USE_DISPLAY_MODES1TO5
case FUNC_MQTT_SUBSCRIBE: case FUNC_MQTT_SUBSCRIBE:

View File

@ -483,6 +483,7 @@ int8_t cs;
color_type = renderer->color_type(); color_type = renderer->color_type();
renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, inirot, Settings->display_font); renderer->DisplayInit(DISPLAY_INIT_MODE, Settings->display_size, inirot, Settings->display_font);
renderer->clearDisplay();
Settings->display_width = renderer->width(); Settings->display_width = renderer->width();
Settings->display_height = renderer->height(); Settings->display_height = renderer->height();
@ -504,7 +505,7 @@ int8_t cs;
ApplyDisplayDimmer(); ApplyDisplayDimmer();
#ifdef SHOW_SPLASH #ifdef SHOW_SPLASH
if (!Settings->flag5.display_no_splash) { if (!Settings->flag5.display_no_splash) { // SetOption135 - (Display & LVGL) force disabling default splash screen
renderer->Splash(); renderer->Splash();
} }
#endif // SHOW_SPLASH #endif // SHOW_SPLASH