From e339e820fc1e9c0abb66e5b267997e0fba1fe69a Mon Sep 17 00:00:00 2001 From: darkpoet78 Date: Mon, 30 Dec 2024 19:22:24 +0900 Subject: [PATCH] options to blank the screen added --- yoRadio/data/www/script.js.gz | Bin 5940 -> 5965 bytes yoRadio/data/www/settings.html | 16 ++++++++++++---- yoRadio/src/core/common.h | 2 +- yoRadio/src/core/config.cpp | 2 ++ yoRadio/src/core/config.h | 2 ++ yoRadio/src/core/display.cpp | 3 ++- yoRadio/src/core/netserver.cpp | 24 ++++++++++++++++++++++-- yoRadio/src/core/network.cpp | 18 ++++++++++++++++-- 8 files changed, 57 insertions(+), 10 deletions(-) diff --git a/yoRadio/data/www/script.js.gz b/yoRadio/data/www/script.js.gz index 09a7f6b222a1bc8038d334de1bdcb78a957ecdf0..7b1037315a8f1b3a42c90bb60710a30a17a96e48 100644 GIT binary patch literal 5965 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 literal 5940 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 WTKRx9Kx(PSpZ@?FJqv&&X8-`Qgpf=C diff --git a/yoRadio/data/www/settings.html b/yoRadio/data/www/settings.html index ac0b77d..edd2560 100644 --- a/yoRadio/data/www/settings.html +++ b/yoRadio/data/www/settings.html @@ -78,21 +78,29 @@
screensaver
diff --git a/yoRadio/src/core/common.h b/yoRadio/src/core/common.h index 2c20da4..30a7fbf 100644 --- a/yoRadio/src/core/common.h +++ b/yoRadio/src/core/common.h @@ -1,7 +1,7 @@ #ifndef COMMON_H #define COMMON_H -enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS, LOST, UPDATING, INFO, SETTINGS, TIMEZONE, WIFI, CLEAR, SLEEPING, SDCHANGE, SCREENSAVER }; +enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS, LOST, UPDATING, INFO, SETTINGS, TIMEZONE, WIFI, CLEAR, SLEEPING, SDCHANGE, SCREENSAVER, SCREENBLANK }; enum pages_e : uint8_t { PG_PLAYER=0, PG_DIALOG=1, PG_PLAYLIST=2, PG_SCREENSAVER=3 }; enum displayRequestType_e { BOOTSTRING, NEWMODE, CLOCK, NEWTITLE, NEWSTATION, NEXTSTATION, DRAWPLAYLIST, DRAWVOL, DBITRATE, AUDIOINFO, SHOWVUMETER, DSPRSSI, SHOWWEATHER, NEWWEATHER, PSTOP, PSTART, DSP_START, WAITFORSD, SDFILEINDEX, NEWIP, NOPE }; diff --git a/yoRadio/src/core/config.cpp b/yoRadio/src/core/config.cpp index 693763f..1a5862e 100644 --- a/yoRadio/src/core/config.cpp +++ b/yoRadio/src/core/config.cpp @@ -99,8 +99,10 @@ void Config::_setupVersion(){ saveValue(&store.skipPlaylistUpDown, false); break; case 3: + saveValue(&store.screensaverBlank, false); saveValue(&store.screensaverPlayingEnabled, false); saveValue(&store.screensaverPlayingTimeout, (uint16_t)5); + saveValue(&store.screensaverPlayingBlank, false); break; default: break; diff --git a/yoRadio/src/core/config.h b/yoRadio/src/core/config.h index 8cf9516..d9e1787 100644 --- a/yoRadio/src/core/config.h +++ b/yoRadio/src/core/config.h @@ -136,8 +136,10 @@ struct config_t bool rotate90; bool screensaverEnabled; uint16_t screensaverTimeout; + bool screensaverBlank; bool screensaverPlayingEnabled; uint16_t screensaverPlayingTimeout; + bool screensaverPlayingBlank; char mdnsname[24]; bool skipPlaylistUpDown; }; diff --git a/yoRadio/src/core/display.cpp b/yoRadio/src/core/display.cpp index 5b3d911..ce058c1 100644 --- a/yoRadio/src/core/display.cpp +++ b/yoRadio/src/core/display.cpp @@ -284,9 +284,10 @@ void Display::_swichMode(displayMode_e newmode) { _pager.setPage( pages[PG_PLAYER]); pm.on_display_player(); } - if (newmode == SCREENSAVER) { + if (newmode == SCREENSAVER || newmode == SCREENBLANK) { config.isScreensaver = true; _pager.setPage( pages[PG_SCREENSAVER]); + if (newmode == SCREENBLANK) dsp.clearClock(); }else{ config.screensaverTicks=SCREENSAVERSTARTUPDELAY; config.screensaverPlayingTicks=SCREENSAVERSTARTUPDELAY; diff --git a/yoRadio/src/core/netserver.cpp b/yoRadio/src/core/netserver.cpp index a7bc469..0ec3c36 100644 --- a/yoRadio/src/core/netserver.cpp +++ b/yoRadio/src/core/netserver.cpp @@ -298,7 +298,7 @@ void NetServer::processQueue(){ config.vuThreshold, config.store.mdnsname); break; - case GETSCREEN: sprintf (wsbuf, "{\"flip\":%d,\"inv\":%d,\"nump\":%d,\"tsf\":%d,\"tsd\":%d,\"dspon\":%d,\"br\":%d,\"con\":%d,\"scre\":%d,\"scrt\":%d,\"scrpe\":%d,\"scrpt\":%d}", + case GETSCREEN: sprintf (wsbuf, "{\"flip\":%d,\"inv\":%d,\"nump\":%d,\"tsf\":%d,\"tsd\":%d,\"dspon\":%d,\"br\":%d,\"con\":%d,\"scre\":%d,\"scrt\":%d,\"scrb\":%d,\"scrpe\":%d,\"scrpt\":%d,\"scrpb\":%d}", config.store.flipscreen, config.store.invertdisplay, config.store.numplaylist, @@ -309,8 +309,10 @@ void NetServer::processQueue(){ config.store.contrast, config.store.screensaverEnabled, config.store.screensaverTimeout, + config.store.screensaverBlank, config.store.screensaverPlayingEnabled, - config.store.screensaverPlayingTimeout); + config.store.screensaverPlayingTimeout, + config.store.screensaverPlayingBlank); break; case GETTIMEZONE: sprintf (wsbuf, "{\"tzh\":%d,\"tzm\":%d,\"sntp1\":\"%s\",\"sntp2\":\"%s\"}", config.store.tzHour, @@ -516,6 +518,14 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client #endif return; } + if (strcmp(cmd, "screensaverblank") == 0) { + bool valb = static_cast(atoi(val)); + config.saveValue(&config.store.screensaverBlank, valb); + #ifndef DSP_LCD + display.putRequest(NEWMODE, PLAYER); + #endif + return; + } if (strcmp(cmd, "screensaverplayingenabled") == 0) { bool valb = static_cast(atoi(val)); config.saveValue(&config.store.screensaverPlayingEnabled, valb); @@ -533,6 +543,14 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client #endif return; } + if (strcmp(cmd, "screensaverplayingblank") == 0) { + bool valb = static_cast(atoi(val)); + config.saveValue(&config.store.screensaverPlayingBlank, valb); + #ifndef DSP_LCD + display.putRequest(NEWMODE, PLAYER); + #endif + return; + } if (strcmp(cmd, "tzh") == 0) { int8_t vali = atoi(val); config.saveValue(&config.store.tzHour, vali); @@ -632,8 +650,10 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client config.saveValue(&config.store.numplaylist, false); config.saveValue(&config.store.screensaverEnabled, false); config.saveValue(&config.store.screensaverTimeout, (uint16_t)20); + config.saveValue(&config.store.screensaverBlank, false); config.saveValue(&config.store.screensaverPlayingEnabled, false); config.saveValue(&config.store.screensaverPlayingTimeout, (uint16_t)5); + config.saveValue(&config.store.screensaverPlayingBlank, false); display.putRequest(NEWMODE, CLEAR); display.putRequest(NEWMODE, PLAYER); requestOnChange(GETSCREEN, clientId); return; diff --git a/yoRadio/src/core/network.cpp b/yoRadio/src/core/network.cpp index 50a102c..20d4b56 100644 --- a/yoRadio/src/core/network.cpp +++ b/yoRadio/src/core/network.cpp @@ -51,10 +51,24 @@ void ticks() { } #ifndef DSP_LCD if(config.store.screensaverEnabled && display.mode()==PLAYER && !player.isRunning()){ - if(config.screensaverTicks++ > config.store.screensaverTimeout+SCREENSAVERSTARTUPDELAY) display.putRequest(NEWMODE, SCREENSAVER); + config.screensaverTicks++; + if(config.screensaverTicks > config.store.screensaverTimeout+SCREENSAVERSTARTUPDELAY){ + if(config.store.screensaverBlank){ + display.putRequest(NEWMODE, SCREENBLANK); + }else{ + display.putRequest(NEWMODE, SCREENSAVER); + } + } } if(config.store.screensaverPlayingEnabled && display.mode()==PLAYER && player.isRunning()){ - if(config.screensaverPlayingTicks++ > config.store.screensaverPlayingTimeout*60+SCREENSAVERSTARTUPDELAY) display.putRequest(NEWMODE, SCREENSAVER); + config.screensaverPlayingTicks++; + if(config.screensaverPlayingTicks > config.store.screensaverPlayingTimeout*60+SCREENSAVERSTARTUPDELAY){ + if(config.store.screensaverPlayingBlank){ + display.putRequest(NEWMODE, SCREENBLANK); + }else{ + display.putRequest(NEWMODE, SCREENSAVER); + } + } } #endif #if RTCSUPPORTED