MPIO bootloader - turn off backlight when hold is on. Usefull feature when charging during night.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28958 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Marcin Bukat 2011-01-03 13:11:48 +00:00
parent 80b50e7587
commit 67feb81084

View file

@ -344,6 +344,14 @@ void main(void)
bool blink_toggle = false; bool blink_toggle = false;
int button; int button;
/* hold status variables
* this two must have different
* values in the begining
*/
bool hold = false;
bool last_hold = true;
unsigned int event = EVENT_NONE; unsigned int event = EVENT_NONE;
unsigned int last_event = EVENT_NONE; unsigned int last_event = EVENT_NONE;
@ -364,21 +372,20 @@ void main(void)
lcd_init(); lcd_init();
/* only lowlevel functions no queue init */ /* setup font system */
_backlight_init();
_backlight_hw_on();
/* setup font system*/
font_init(); font_init();
lcd_setfont(FONT_SYSFIXED); lcd_setfont(FONT_SYSFIXED);
/* buttons reading init*/ /* buttons reading init */
adc_init(); adc_init();
button_init(); button_init();
usb_init(); usb_init();
cpu_idle_mode(true); cpu_idle_mode(true);
/* lowlevel init only */
_backlight_init();
/* Handle wakeup event. Possibilities are: /* Handle wakeup event. Possibilities are:
* RTC alarm (HD300) * RTC alarm (HD300)
* ON button (PLAY or RC_PLAY on HD200) * ON button (PLAY or RC_PLAY on HD200)
@ -387,6 +394,21 @@ void main(void)
*/ */
while(1) while(1)
{ {
/* check hold status */
hold = button_hold();
/* backlight handling
* change only on hold toggle */
if ( hold != last_hold )
{
if ( hold )
_backlight_hw_off();
else
_backlight_hw_on();
last_hold = hold;
}
/* read buttons */ /* read buttons */
event = EVENT_NONE; event = EVENT_NONE;
button = button_get_w_tmo(HZ); button = button_get_w_tmo(HZ);
@ -407,6 +429,7 @@ void main(void)
if ( _rtc_alarm() ) if ( _rtc_alarm() )
event |= EVENT_RTC; event |= EVENT_RTC;
#endif #endif
reset_screen(); reset_screen();
switch (event) switch (event)
{ {