options to blank the screen added
This commit is contained in:
Binary file not shown.
@@ -78,21 +78,29 @@
|
||||
<div class="row-title"><span>screensaver</span></div>
|
||||
<div class="flex-row group group_tft group_oled group_nextion hidden" style="margin-top:20px;">
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">screensaver enabled</span>
|
||||
<span class="inputtitle">while not playing</span>
|
||||
<div class="checkbox off nous" id="screensaverenabled" style="padding-top:16px;"></div>
|
||||
</div>
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">screensaver timeout (sec)</span>
|
||||
<span class="inputtitle">blank screen</span>
|
||||
<div class="checkbox off nous" id="screensaverblank"></div>
|
||||
</div>
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">timeout (sec)</span>
|
||||
<input type="number" id="screensavertimeout" class="textinput inputchange" name="screensavertimeout" value="" maxlength="3" min="5" max="65520" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-row group group_tft group_oled group_nextion hidden">
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">screensaver while playing</span>
|
||||
<span class="inputtitle">while playing</span>
|
||||
<div class="checkbox off nous" id="screensaverplayingenabled"></div>
|
||||
</div>
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">screensaver timeout (min)</span>
|
||||
<span class="inputtitle">blank screen</span>
|
||||
<div class="checkbox off nous" id="screensaverplayingblank"></div>
|
||||
</div>
|
||||
<div class="inputwrap">
|
||||
<span class="inputtitle">timeout (min)</span>
|
||||
<input type="number" id="screensaverplayingtimeout" class="textinput inputchange" name="screensaverplayingtimeout" value="" maxlength="3" min="1" max="1080" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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 };
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<bool>(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<bool>(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<bool>(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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user