From 3e965fd6c3d9a02a48eef4d647145cec65e04e81 Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Tue, 25 Nov 2008 22:29:17 +0000 Subject: Enable display contrast setting and implement flip for the Clip. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19219 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/config-clip.h | 7 +++++++ firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c | 14 +++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'firmware') diff --git a/firmware/export/config-clip.h b/firmware/export/config-clip.h index 7fb6c41fba..4266b59a7f 100644 --- a/firmware/export/config-clip.h +++ b/firmware/export/config-clip.h @@ -61,6 +61,13 @@ /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP +/* Define this if your LCD can set contrast */ +#define HAVE_LCD_CONTRAST + +#define MIN_CONTRAST_SETTING 0 +#define MAX_CONTRAST_SETTING 50 +#define DEFAULT_CONTRAST_SETTING 30 + /* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */ #define CONFIG_KEYPAD SANSA_CLIP_PAD diff --git a/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c b/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c index a794589647..f1e1c24b85 100644 --- a/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c +++ b/firmware/target/arm/as3525/sansa-clip/lcd-ssd1303.c @@ -123,7 +123,7 @@ static bool display_on; /* used by lcd_enable */ int lcd_default_contrast(void) { - return 0x1f; + return DEFAULT_CONTRAST_SETTING; } void lcd_set_contrast(int val) @@ -143,8 +143,16 @@ void lcd_set_invert_display(bool yesno) /* turn the display upside down (call lcd_update() afterwards) */ void lcd_set_flip(bool yesno) { - (void)yesno; - /* TODO */ + if (yesno) + { + lcd_write_command(LCD_SET_SEGMENT_REMAP); + lcd_write_command(LCD_SET_COM_OUTPUT_SCAN_DIRECTION); + } + else + { + lcd_write_command(LCD_SET_SEGMENT_REMAP_INV); + lcd_write_command(LCD_SET_COM_OUTPUT_SCAN_DIRECTION_INV); + } } void lcd_enable(bool enable) -- cgit v1.2.3