1
0
Fork 0
forked from len0rd/rockbox

Fixed a long-standing bug in the charging screen. The charging screen froze when OFF was pressed. The intention was to powerdown, but this cannot work on archos, so the charging screen must not react on OFF. Made the charging screen react on the ON press instead of the release for better feedback. Bootbox uses SYS_POWEROFF for powering down.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7104 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2005-07-11 19:14:26 +00:00
parent fbd4088df8
commit 7c7dd43ccf
3 changed files with 12 additions and 41 deletions

View file

@ -42,12 +42,6 @@
#include "usb.h"
#include "powermgmt.h"
#ifdef BUTTON_OFF
static const int offbutton = BUTTON_OFF;
#else
static const int offbutton = BUTTON_STOP;
#endif
void usb_screen(void)
{
lcd_clear_display();
@ -88,21 +82,12 @@ int charging_screen(void)
do
{
button = button_get_w_tmo(HZ/2);
#ifdef BUTTON_ON
if (button == (BUTTON_ON | BUTTON_REL))
#else
if (button == (BUTTON_RIGHT | BUTTON_REL))
#endif
rc = 3;
else if (button == offbutton)
rc = 2;
else
{
if (usb_detect())
rc = 4;
else if (!charger_inserted())
rc = 1;
}
else if (usb_detect())
rc = 3;
else if (!charger_inserted())
rc = 1;
} while (!rc);
return rc;
@ -133,7 +118,7 @@ void prompt_usb(const char* msg1, const char* msg2)
do
{
button = button_get(true);
if (button == offbutton)
if (button == SYS_POWEROFF)
{
power_off();
}
@ -166,7 +151,7 @@ void main(void)
)
{
rc = charging_screen(); /* display a "charging" screen */
if (rc == 1 || rc == 2) /* charger removed or "Off/Stop" pressed */
if (rc == 1) /* charger removed */
power_off();
/* "On" pressed or USB connected: proceed */
show_logo(); /* again, to provide better visual feedback */