Hello,
First proposal is simple: instead (or parallel) of screensaver, which is implemented, I think it would be good to add automatic return to main screen after idle time. I did it by own just by modifying a code:
if (SLEEP_INTERVAL_SECS && millis() - timerPress >= SLEEP_INTERVAL_SECS * 1000){ // after 2 minutes go to sleep
#ifdef DEEP_SLEEP
[...]
#else
// screen = screenCount; //original code -> screensaver
screen = 0; //my modification -> go to main screen
#endif
}
but maybe more elegant would be add such choice in config?
Second modification proposal is connected to NTP synchronization and "1970" problem. As I noticed some times, time&date is updating during every update, regardless fact if NTP server answered or not. So, if we meet any kind of problem with receiving NTP (network problem, or just too busy NTP server didn't answer on time), we have 01-01-1970 and 00:00 on the screen, until next update.
So, my proposal is to add condition and do update date&time only if received data from NTP is non zero. Maybe also we could indicate this fact by additional icon on the top of screen? NTP icon or something when date&time was updated and no icon (or crossed icon if it will be readable) when last update was failed.
What do you think?