summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-08-13 11:10:11 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-08-13 11:10:11 +0000
commit638184f1a28f6e2fab225d9630baccdcff6dbf16 (patch)
treec590188fd3cc0fcb2d7e265176f19c5bf8ccbca8
parent8b05a002af34dddadc7cf5cc56de75216c0705c7 (diff)
downloadrockbox-638184f1a28f6e2fab225d9630baccdcff6dbf16.tar.gz
rockbox-638184f1a28f6e2fab225d9630baccdcff6dbf16.zip
Added LCD contrast setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1710 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/settings.c6
-rw-r--r--apps/settings.h8
-rw-r--r--apps/settings_menu.c8
-rw-r--r--firmware/drivers/lcd.c36
-rw-r--r--firmware/drivers/lcd.h1
5 files changed, 43 insertions, 16 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 274a124d31..5dd5ea144a 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -276,6 +276,8 @@ int settings_save( void )
276 276
277 rtc_config_block[0x11] = (unsigned char)global_settings.avc; 277 rtc_config_block[0x11] = (unsigned char)global_settings.avc;
278 278
279 rtc_config_block[0x12] = (unsigned char)global_settings.contrast;
280
279 memcpy(&rtc_config_block[0x24], &global_settings.total_uptime, 4); 281 memcpy(&rtc_config_block[0x24], &global_settings.total_uptime, 4);
280 282
281 if(save_config_buffer()) 283 if(save_config_buffer())
@@ -350,9 +352,13 @@ void settings_load(void)
350 if (rtc_config_block[0x11] != 0xFF) 352 if (rtc_config_block[0x11] != 0xFF)
351 global_settings.avc = rtc_config_block[0x11]; 353 global_settings.avc = rtc_config_block[0x11];
352 354
355 if (rtc_config_block[0x12] != 0xff)
356 global_settings.contrast = rtc_config_block[0x12];
357
353 if (rtc_config_block[0x24] != 0xFF) 358 if (rtc_config_block[0x24] != 0xFF)
354 memcpy(&global_settings.total_uptime, &rtc_config_block[0x24], 4); 359 memcpy(&global_settings.total_uptime, &rtc_config_block[0x24], 4);
355 } 360 }
361 lcd_set_contrast(global_settings.contrast);
356 lcd_scroll_speed(global_settings.scroll_speed); 362 lcd_scroll_speed(global_settings.scroll_speed);
357 backlight_time(global_settings.backlight); 363 backlight_time(global_settings.backlight);
358#ifdef HAVE_CHARGE_CTRL 364#ifdef HAVE_CHARGE_CTRL
diff --git a/apps/settings.h b/apps/settings.h
index e0f0571def..1315cdcbd9 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -101,7 +101,13 @@ extern struct user_settings global_settings;
101#define DEFAULT_LOUDNESS_SETTING 0 101#define DEFAULT_LOUDNESS_SETTING 0
102#define DEFAULT_BASS_BOOST_SETTING 0 102#define DEFAULT_BASS_BOOST_SETTING 0
103#define DEFAULT_AVC_SETTING 0 103#define DEFAULT_AVC_SETTING 0
104#define DEFAULT_CONTRAST_SETTING 0 104#ifdef HAVE_LCD_CHARCELLS
105#define MAX_CONTRAST_SETTING 31
106#define DEFAULT_CONTRAST_SETTING 15
107#else
108#define MAX_CONTRAST_SETTING 63
109#define DEFAULT_CONTRAST_SETTING 32
110#endif
105#define DEFAULT_POWEROFF_SETTING 0 111#define DEFAULT_POWEROFF_SETTING 0
106#define DEFAULT_BACKLIGHT_SETTING 5 112#define DEFAULT_BACKLIGHT_SETTING 5
107#define DEFAULT_WPS_DISPLAY 0 113#define DEFAULT_WPS_DISPLAY 0
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index b2ca475619..0dbe50d9cb 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -35,6 +35,13 @@
35#include "powermgmt.h" 35#include "powermgmt.h"
36#include "rtc.h" 36#include "rtc.h"
37 37
38
39static void contrast(void)
40{
41 set_int( "[Contrast]", "", &global_settings.contrast,
42 lcd_set_contrast, 1, 0, MAX_CONTRAST_SETTING );
43}
44
38static void shuffle(void) 45static void shuffle(void)
39{ 46{
40 set_bool( "[Shuffle]", &global_settings.playlist_shuffle ); 47 set_bool( "[Shuffle]", &global_settings.playlist_shuffle );
@@ -133,6 +140,7 @@ void settings_menu(void)
133 { "MP3/M3U filter", mp3_filter }, 140 { "MP3/M3U filter", mp3_filter },
134 { "Sort mode", sort_case }, 141 { "Sort mode", sort_case },
135 { "Backlight Timer", backlight_timer }, 142 { "Backlight Timer", backlight_timer },
143 { "Contrast", contrast },
136 { "Scroll speed", scroll_speed }, 144 { "Scroll speed", scroll_speed },
137 { "While Playing", wps_set }, 145 { "While Playing", wps_set },
138#ifdef HAVE_CHARGE_CTRL 146#ifdef HAVE_CHARGE_CTRL
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 81dc41fff3..b67be4e761 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -38,9 +38,6 @@
38 38
39#define LCDR (PBDR_ADDR+1) 39#define LCDR (PBDR_ADDR+1)
40 40
41/* PA14 : /LCD-BL --- backlight */
42#define LCD_BL 6
43
44#ifdef HAVE_LCD_CHARCELLS 41#ifdef HAVE_LCD_CHARCELLS
45 42
46#define LCD_DS 1 // PB0 = 1 --- 0001 --- LCD-DS 43#define LCD_DS 1 // PB0 = 1 --- 0001 --- LCD-DS
@@ -323,18 +320,7 @@ static void lcd_write(bool command, int byte)
323 PBDR |= LCD_CS; /* disable lcd chip select */ 320 PBDR |= LCD_CS; /* disable lcd chip select */
324} 321}
325#endif /* ASM_IMPLEMENTATION */ 322#endif /* ASM_IMPLEMENTATION */
326 323#endif /* !SIMULATOR */
327/*** BACKLIGHT ***/
328
329void lcd_backlight(bool on)
330{
331 if ( on )
332 PAIOR |= LCD_BL;
333 else
334 PAIOR &= ~LCD_BL;
335}
336
337#endif /* SIMULATOR */
338 324
339unsigned char icon_mirror[11]; 325unsigned char icon_mirror[11];
340 326
@@ -524,6 +510,26 @@ void lcd_init (void)
524} 510}
525#endif 511#endif
526 512
513#ifdef SIMULATOR
514void lcd_set_contrast(int val)
515{
516 val = val;
517}
518#else
519#ifdef HAVE_LCD_BITMAP
520void lcd_set_contrast(int val)
521{
522 lcd_write(true, LCD_CNTL_CONTRAST);
523 lcd_write(true, val);
524}
525#else
526void lcd_set_contrast(int val)
527{
528 lcd_write(true, LCD_CONTRAST_SET);
529 lcd_write(false, 31-val);
530}
531#endif
532#endif
527 533
528#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) /* not CHARCELLS */ 534#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) /* not CHARCELLS */
529 535
diff --git a/firmware/drivers/lcd.h b/firmware/drivers/lcd.h
index 145d858c54..2ce6339b8c 100644
--- a/firmware/drivers/lcd.h
+++ b/firmware/drivers/lcd.h
@@ -35,6 +35,7 @@ extern void lcd_puts_scroll(int x, int y, unsigned char* string );
35extern void lcd_icon(int icon, bool enable); 35extern void lcd_icon(int icon, bool enable);
36extern void lcd_stop_scroll(void); 36extern void lcd_stop_scroll(void);
37extern void lcd_scroll_speed( int speed ); 37extern void lcd_scroll_speed( int speed );
38extern void lcd_set_contrast(int val);
38 39
39#if defined(SIMULATOR) || defined(HAVE_LCD_BITMAP) 40#if defined(SIMULATOR) || defined(HAVE_LCD_BITMAP)
40extern void lcd_update(void); 41extern void lcd_update(void);