mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-09 05:05:20 -05:00
IRiver: (1)Setting some remote lcd settings via menu (2) added driver to main.c (3) updated english.lang
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6291 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
a6a01903e6
commit
7c1879bdd0
6 changed files with 99 additions and 5 deletions
|
|
@ -3069,3 +3069,9 @@ new:
|
||||||
id: LANG_RECORD_TRIGGER_ACTIVE
|
id: LANG_RECORD_TRIGGER_ACTIVE
|
||||||
eng: "Trigger active"
|
eng: "Trigger active"
|
||||||
new:
|
new:
|
||||||
|
|
||||||
|
id: LANG_LCD_REMOTE_MENU
|
||||||
|
desc: in the display sub menu
|
||||||
|
eng: "Remote-LCD Settings"
|
||||||
|
voice: ""
|
||||||
|
new:
|
||||||
|
|
@ -71,6 +71,10 @@
|
||||||
#include "ata_mmc.h"
|
#include "ata_mmc.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
#include "lcd-remote.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */
|
/*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */
|
||||||
|
|
||||||
const char appsversion[]=APPSVERSION;
|
const char appsversion[]=APPSVERSION;
|
||||||
|
|
@ -139,6 +143,10 @@ void init(void)
|
||||||
settings_reset();
|
settings_reset();
|
||||||
|
|
||||||
lcd_init();
|
lcd_init();
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
lcd_remote_init();
|
||||||
|
#endif
|
||||||
|
|
||||||
font_init();
|
font_init();
|
||||||
show_logo();
|
show_logo();
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,10 @@ const char rec_base_directory[] = REC_BASE_DIR;
|
||||||
#define MAX_LINES 2
|
#define MAX_LINES 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
#include "lcd-remote.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
long lasttime = 0;
|
long lasttime = 0;
|
||||||
static long config_sector = 0; /* mark uninitialized */
|
static long config_sector = 0; /* mark uninitialized */
|
||||||
static unsigned char config_block[CONFIG_BLOCK_SIZE];
|
static unsigned char config_block[CONFIG_BLOCK_SIZE];
|
||||||
|
|
@ -244,6 +248,12 @@ static const struct bit_entry rtc_bits[] =
|
||||||
{1, S_O(battery_type), 0, "battery type", "alkaline,nimh" },
|
{1, S_O(battery_type), 0, "battery type", "alkaline,nimh" },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
/* remote lcd */
|
||||||
|
{6, S_O(remote_contrast), 32, "remote_contrast", NULL },
|
||||||
|
{1, S_O(remote_invert), false, "remote_invert", off_on },
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Current sum of bits: 259 (worst case) */
|
/* Current sum of bits: 259 (worst case) */
|
||||||
/* Sum of all bit sizes must not grow beyond 288! */
|
/* Sum of all bit sizes must not grow beyond 288! */
|
||||||
};
|
};
|
||||||
|
|
@ -763,6 +773,10 @@ void settings_apply(void)
|
||||||
|
|
||||||
lcd_set_contrast(global_settings.contrast);
|
lcd_set_contrast(global_settings.contrast);
|
||||||
lcd_scroll_speed(global_settings.scroll_speed);
|
lcd_scroll_speed(global_settings.scroll_speed);
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
lcd_remote_set_contrast(global_settings.remote_contrast);
|
||||||
|
lcd_remote_set_invert_display(global_settings.remote_invert);
|
||||||
|
#endif
|
||||||
backlight_set_timeout(global_settings.backlight_timeout);
|
backlight_set_timeout(global_settings.backlight_timeout);
|
||||||
backlight_set_on_when_charging(global_settings.backlight_on_when_charging);
|
backlight_set_on_when_charging(global_settings.backlight_on_when_charging);
|
||||||
ata_spindown(global_settings.disk_spindown);
|
ata_spindown(global_settings.disk_spindown);
|
||||||
|
|
|
||||||
|
|
@ -301,6 +301,17 @@ struct user_settings
|
||||||
/* file browser sorting */
|
/* file browser sorting */
|
||||||
int sort_file; /* 0=alpha, 1=date, 2=date (new first), 3=type */
|
int sort_file; /* 0=alpha, 1=date, 2=date (new first), 3=type */
|
||||||
int sort_dir; /* 0=alpha, 1=date (old first), 2=date (new first) */
|
int sort_dir; /* 0=alpha, 1=date (old first), 2=date (new first) */
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
/* remote lcd */
|
||||||
|
int remote_contrast; /* lcd contrast: 0-63 0=low 63=high */
|
||||||
|
bool remote_invert; /* invert display */
|
||||||
|
bool remote_flip_display; /* turn display (and button layout) by 180 degrees */
|
||||||
|
int remote_backlight_timeout; /* backlight off timeout: 0-18 0=never,
|
||||||
|
1=always,
|
||||||
|
then according to timeout_values[] */
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum optiontype { INT, BOOL };
|
enum optiontype { INT, BOOL };
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,10 @@ void dac_line_in(bool enable);
|
||||||
#include "alarm_menu.h"
|
#include "alarm_menu.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
#include "lcd-remote.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARGING
|
#ifdef HAVE_CHARGING
|
||||||
static bool car_adapter_mode(void)
|
static bool car_adapter_mode(void)
|
||||||
{
|
{
|
||||||
|
|
@ -75,6 +79,26 @@ static bool contrast(void)
|
||||||
MAX_CONTRAST_SETTING );
|
MAX_CONTRAST_SETTING );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
static bool remote_contrast(void)
|
||||||
|
{
|
||||||
|
return set_int( str(LANG_CONTRAST), "", UNIT_INT,
|
||||||
|
&global_settings.remote_contrast,
|
||||||
|
lcd_remote_set_contrast, 1, MIN_CONTRAST_SETTING,
|
||||||
|
MAX_CONTRAST_SETTING );
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool remote_invert(void)
|
||||||
|
{
|
||||||
|
bool rc = set_bool_options(str(LANG_INVERT),
|
||||||
|
&global_settings.remote_invert,
|
||||||
|
STR(LANG_INVERT_LCD_INVERSE),
|
||||||
|
STR(LANG_INVERT_LCD_NORMAL),
|
||||||
|
lcd_remote_set_invert_display);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BACKLIGHT
|
#ifdef CONFIG_BACKLIGHT
|
||||||
static bool caption_backlight(void)
|
static bool caption_backlight(void)
|
||||||
{
|
{
|
||||||
|
|
@ -1178,6 +1202,27 @@ static bool lcd_settings_menu(void)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
static bool lcd_remote_settings_menu(void)
|
||||||
|
{
|
||||||
|
int m;
|
||||||
|
bool result;
|
||||||
|
|
||||||
|
static const struct menu_item items[] = {
|
||||||
|
{ ID2P(LANG_CONTRAST), remote_contrast },
|
||||||
|
{ ID2P(LANG_INVERT), remote_invert },
|
||||||
|
/* { ID2P(LANG_FLIP_DISPLAY), remote_flip_display },
|
||||||
|
{ ID2P(LANG_INVERT_CURSOR), invert_cursor },*/
|
||||||
|
};
|
||||||
|
|
||||||
|
m=menu_init( items, sizeof(items) / sizeof(*items), NULL,
|
||||||
|
NULL, NULL, NULL);
|
||||||
|
result = menu_run(m);
|
||||||
|
menu_exit(m);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
static bool bars_settings_menu(void)
|
static bool bars_settings_menu(void)
|
||||||
{
|
{
|
||||||
|
|
@ -1214,6 +1259,9 @@ static bool display_settings_menu(void)
|
||||||
#endif
|
#endif
|
||||||
{ ID2P(LANG_WHILE_PLAYING), custom_wps_browse },
|
{ ID2P(LANG_WHILE_PLAYING), custom_wps_browse },
|
||||||
{ ID2P(LANG_LCD_MENU), lcd_settings_menu },
|
{ ID2P(LANG_LCD_MENU), lcd_settings_menu },
|
||||||
|
#ifdef HAVE_REMOTE_LCD
|
||||||
|
{ ID2P(LANG_LCD_REMOTE_MENU), lcd_remote_settings_menu },
|
||||||
|
#endif
|
||||||
{ ID2P(LANG_SCROLL_MENU), scroll_settings_menu },
|
{ ID2P(LANG_SCROLL_MENU), scroll_settings_menu },
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
{ ID2P(LANG_BARS_MENU), bars_settings_menu },
|
{ ID2P(LANG_BARS_MENU), bars_settings_menu },
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,11 @@
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "font.h"
|
#include "font.h"
|
||||||
|
|
||||||
unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH];
|
unsigned char lcd_remote_framebuffer[LCD_REMOTE_HEIGHT/8][LCD_REMOTE_WIDTH]
|
||||||
|
#ifndef SIMULATOR
|
||||||
|
__attribute__ ((section(".idata")))
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
||||||
#define CS_LO GPIO1_OUT &= ~0x00000004
|
#define CS_LO GPIO1_OUT &= ~0x00000004
|
||||||
#define CS_HI GPIO1_OUT |= 0x00000004
|
#define CS_HI GPIO1_OUT |= 0x00000004
|
||||||
|
|
@ -176,6 +180,11 @@ void lcd_remote_set_invert_display(bool yesno)
|
||||||
lcd_remote_write_command(LCD_REMOTE_CNTL_REVERSE_ON_OFF | yesno);
|
lcd_remote_write_command(LCD_REMOTE_CNTL_REVERSE_ON_OFF | yesno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int lcd_remote_default_contrast(void)
|
||||||
|
{
|
||||||
|
return 32;
|
||||||
|
}
|
||||||
|
|
||||||
void lcd_remote_bitmap(const unsigned char *src, int x, int y, int nx, int ny, bool clear) __attribute__ ((section (".icode")));
|
void lcd_remote_bitmap(const unsigned char *src, int x, int y, int nx, int ny, bool clear) __attribute__ ((section (".icode")));
|
||||||
void lcd_remote_bitmap(const unsigned char *src, int x, int y, int nx, int ny, bool clear)
|
void lcd_remote_bitmap(const unsigned char *src, int x, int y, int nx, int ny, bool clear)
|
||||||
{
|
{
|
||||||
|
|
@ -317,7 +326,7 @@ void lcd_remote_drawrect(int x, int y, int nx, int ny)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_remote_clear(void)
|
void lcd_remote_clear_display(void)
|
||||||
{
|
{
|
||||||
memset(lcd_remote_framebuffer, 0, sizeof lcd_remote_framebuffer);
|
memset(lcd_remote_framebuffer, 0, sizeof lcd_remote_framebuffer);
|
||||||
}
|
}
|
||||||
|
|
@ -360,7 +369,6 @@ void lcd_remote_init(void)
|
||||||
lcd_remote_write_command(LCD_REMOTE_CNTL_POWER_CONTROL | 0x7);
|
lcd_remote_write_command(LCD_REMOTE_CNTL_POWER_CONTROL | 0x7);
|
||||||
|
|
||||||
lcd_remote_write_command(LCD_REMOTE_CNTL_SELECT_REGULATOR | 0x4); // 0x4 Select regulator @ 5.0 (default);
|
lcd_remote_write_command(LCD_REMOTE_CNTL_SELECT_REGULATOR | 0x4); // 0x4 Select regulator @ 5.0 (default);
|
||||||
lcd_remote_set_contrast(32);
|
|
||||||
|
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
||||||
|
|
@ -370,7 +378,6 @@ void lcd_remote_init(void)
|
||||||
|
|
||||||
lcd_remote_write_command(LCD_REMOTE_CNTL_DISPLAY_ON_OFF | 1);
|
lcd_remote_write_command(LCD_REMOTE_CNTL_DISPLAY_ON_OFF | 1);
|
||||||
|
|
||||||
lcd_remote_clear();
|
lcd_remote_clear_display();
|
||||||
lcd_remote_drawrect(0, 0, 10, 20);
|
|
||||||
lcd_remote_update();
|
lcd_remote_update();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue