M3: Make remote LCD hotplug work, and make 'backlight on button hold' use the correct hold switch. * Kill a warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16711 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
ba193a8065
commit
8e66491ffe
4 changed files with 34 additions and 9 deletions
|
@ -30,10 +30,8 @@
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
|
#include "lcd.h"
|
||||||
|
|
||||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
|
||||||
#include "lcd.h" /* for lcd_enable() and lcd_sleep() */
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_REMOTE_LCD
|
#ifdef HAVE_REMOTE_LCD
|
||||||
#include "lcd-remote.h"
|
#include "lcd-remote.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -367,7 +365,13 @@ void backlight_set_fade_out(int value)
|
||||||
static void backlight_update_state(void)
|
static void backlight_update_state(void)
|
||||||
{
|
{
|
||||||
#ifdef HAS_BUTTON_HOLD
|
#ifdef HAS_BUTTON_HOLD
|
||||||
if (button_hold() && (backlight_on_button_hold != 0))
|
if ((backlight_on_button_hold != 0)
|
||||||
|
#ifdef HAVE_REMOTE_LCD_AS_MAIN
|
||||||
|
&& remote_button_hold()
|
||||||
|
#else
|
||||||
|
&& button_hold()
|
||||||
|
#endif
|
||||||
|
)
|
||||||
backlight_timeout = (backlight_on_button_hold == 2) ? 0 : -1;
|
backlight_timeout = (backlight_on_button_hold == 2) ? 0 : -1;
|
||||||
/* always on or always off */
|
/* always on or always off */
|
||||||
else
|
else
|
||||||
|
@ -375,9 +379,9 @@ static void backlight_update_state(void)
|
||||||
#if CONFIG_CHARGING
|
#if CONFIG_CHARGING
|
||||||
if (charger_inserted()
|
if (charger_inserted()
|
||||||
#ifdef HAVE_USB_POWER
|
#ifdef HAVE_USB_POWER
|
||||||
|| usb_powered()
|
|| usb_powered()
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
backlight_timeout = backlight_timeout_plugged;
|
backlight_timeout = backlight_timeout_plugged;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
@ -452,8 +456,9 @@ void backlight_thread(void)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_REMOTE_LCD) && !defined(SIMULATOR)
|
#ifndef SIMULATOR
|
||||||
/* Here for now or else the aggressive init messes up scrolling */
|
/* Here for now or else the aggressive init messes up scrolling */
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
case SYS_REMOTE_PLUGGED:
|
case SYS_REMOTE_PLUGGED:
|
||||||
lcd_remote_on();
|
lcd_remote_on();
|
||||||
lcd_remote_update();
|
lcd_remote_update();
|
||||||
|
@ -462,7 +467,17 @@ void backlight_thread(void)
|
||||||
case SYS_REMOTE_UNPLUGGED:
|
case SYS_REMOTE_UNPLUGGED:
|
||||||
lcd_remote_off();
|
lcd_remote_off();
|
||||||
break;
|
break;
|
||||||
#endif /* defined(HAVE_REMOTE_LCD) && !defined(SIMULATOR) */
|
#elif defined HAVE_REMOTE_LCD_AS_MAIN
|
||||||
|
case SYS_REMOTE_PLUGGED:
|
||||||
|
lcd_on();
|
||||||
|
lcd_update();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SYS_REMOTE_UNPLUGGED:
|
||||||
|
lcd_off();
|
||||||
|
break;
|
||||||
|
#endif /* HAVE_REMOTE_LCD/ HAVE_REMOTE_LCD_AS_MAIN */
|
||||||
|
#endif /* !SIMULATOR */
|
||||||
#ifdef SIMULATOR
|
#ifdef SIMULATOR
|
||||||
/* This one here too for lack of a better place */
|
/* This one here too for lack of a better place */
|
||||||
case SYS_SCREENDUMP:
|
case SYS_SCREENDUMP:
|
||||||
|
|
|
@ -47,6 +47,9 @@
|
||||||
|
|
||||||
#define LCD_PIXELFORMAT VERTICAL_INTERLEAVED
|
#define LCD_PIXELFORMAT VERTICAL_INTERLEAVED
|
||||||
|
|
||||||
|
/* define this if only the remote has an LCD */
|
||||||
|
#define HAVE_REMOTE_LCD_AS_MAIN
|
||||||
|
|
||||||
#define CONFIG_KEYPAD IAUDIO_M3_PAD
|
#define CONFIG_KEYPAD IAUDIO_M3_PAD
|
||||||
|
|
||||||
#define AB_REPEAT_ENABLE 1
|
#define AB_REPEAT_ENABLE 1
|
||||||
|
|
|
@ -331,6 +331,12 @@ static inline unsigned lcd_color_to_native(unsigned color)
|
||||||
extern fb_data lcd_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH];
|
extern fb_data lcd_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH];
|
||||||
|
|
||||||
/** Port-specific functions. Enable in port config file. **/
|
/** Port-specific functions. Enable in port config file. **/
|
||||||
|
#ifdef HAVE_REMOTE_LCD_AS_MAIN
|
||||||
|
void lcd_on(void);
|
||||||
|
void lcd_off(void);
|
||||||
|
void lcd_poweroff(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LCD_ENABLE
|
#ifdef HAVE_LCD_ENABLE
|
||||||
/* Enable/disable the main display. */
|
/* Enable/disable the main display. */
|
||||||
extern void lcd_enable(bool on);
|
extern void lcd_enable(bool on);
|
||||||
|
|
|
@ -21,8 +21,9 @@
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
#include "system.h"
|
#include "lcd.h"
|
||||||
#include "power.h"
|
#include "power.h"
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue