On 11/09/2012 05:07 PM, Mike Giacomelli wrote:
> The WPS is a different screen than the FM radio screen, so it might
> behave differently.
> However, from a quick look at the code it seems to me that the WPS
> screen also does update 5 times per second, even if the display is
> turned off, but my understanding of the code is very basic at best for
> now and I need to find out how to use the debugging and logging
> infrastructure to actually verify my findings.
>
Unless its been broken since then, this is no longer the case as of
SVN revision 20666.
See
FS#8523 - Disable WPS updating when the backlight is off.
I don't think the WPS actually updates, since when you turn the light
back on there's a split second where the screen looks like the state
when the light went off, but skin_wait_for_action in the while loop in
gui_wps_show is definitely called repeatedly, screen on or off. I just
checked it with a DEBUGF right before the call.
Using a patch like the one Stefan proposed for the radio on wps helps
(patch below) but does leave a little niggle where the time-remaining on
a track does not update on first button press, even with the none-event
injection idea included.
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index dbab0d5..4701a86 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -778,7 +778,14 @@ long gui_wps_show(void)
}
}
button = skin_wait_for_action(WPS, CONTEXT_WPS|ALLOW_SOFTLOCK,
- restore ? 1 : HZ/5);
+ restore ? 1 :
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+ (lcd_active() ? HZ/5 : TIMEOUT_BLOCK)
+#else
+ HZ/5
+#endif
+ );
+
/* Exit if audio has stopped playing. This happens e.g. at end of
playlist or if using the sleep timer. */