diff options
author | Bertrik Sikken <bertrik@sikken.nl> | 2011-09-16 14:21:08 +0000 |
---|---|---|
committer | Bertrik Sikken <bertrik@sikken.nl> | 2011-09-16 14:21:08 +0000 |
commit | d20f803af0283b7a7b247bf72a28a01eff779c93 (patch) | |
tree | b9e278cf301821964982d3327a9001185dc0cd12 | |
parent | 769996654b54209f85ab5bdf852e06def713de36 (diff) | |
download | rockbox-d20f803af0283b7a7b247bf72a28a01eff779c93.tar.gz rockbox-d20f803af0283b7a7b247bf72a28a01eff779c93.zip |
sansa clipzip: fix rectangle setup of type 1 lcd
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30560 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c | 46 |
1 files changed, 17 insertions, 29 deletions
diff --git a/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c b/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c index a8aa538751..2b982be081 100644 --- a/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c +++ b/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c | |||
@@ -5,7 +5,7 @@ | |||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
7 | * \/ \/ \/ \/ \/ | 7 | * \/ \/ \/ \/ \/ |
8 | * $Id$ | 8 | * $Id: lcd-clipzip.c 30465 2011-09-06 16:55:52Z bertrik $ |
9 | * | 9 | * |
10 | * Copyright (C) 2011 Bertrik Sikken | 10 | * Copyright (C) 2011 Bertrik Sikken |
11 | * | 11 | * |
@@ -145,7 +145,7 @@ static void lcd_init_type0(void) | |||
145 | } | 145 | } |
146 | 146 | ||
147 | /* writes a table entry (for type 1 LCDs) */ | 147 | /* writes a table entry (for type 1 LCDs) */ |
148 | static void lcd_write_table(uint8_t val) | 148 | static void lcd_write_nibbles(uint8_t val) |
149 | { | 149 | { |
150 | lcd_write_dat((val >> 4) & 0x0F); | 150 | lcd_write_dat((val >> 4) & 0x0F); |
151 | lcd_write_dat((val >> 0) & 0x0F); | 151 | lcd_write_dat((val >> 0) & 0x0F); |
@@ -202,16 +202,11 @@ static void lcd_init_type1(void) | |||
202 | lcd_write_cmd(0x09); | 202 | lcd_write_cmd(0x09); |
203 | lcd_write_dat(0x07); | 203 | lcd_write_dat(0x07); |
204 | 204 | ||
205 | /* lcd width/height */ | ||
206 | lcd_write_cmd(0x0A); | 205 | lcd_write_cmd(0x0A); |
207 | lcd_write_dat(0x00); | 206 | lcd_write_nibbles(0); |
208 | lcd_write_dat(0x00); | 207 | lcd_write_nibbles(LCD_WIDTH - 1); |
209 | lcd_write_dat(0x05); | 208 | lcd_write_nibbles(0); |
210 | lcd_write_dat(0x0F); | 209 | lcd_write_nibbles(LCD_HEIGHT - 1); |
211 | lcd_write_dat(0x00); | ||
212 | lcd_write_dat(0x00); | ||
213 | lcd_write_dat(0x05); | ||
214 | lcd_write_dat(0x0F); | ||
215 | 210 | ||
216 | lcd_write_cmd(0x0B); | 211 | lcd_write_cmd(0x0B); |
217 | lcd_write_dat(0x00); | 212 | lcd_write_dat(0x00); |
@@ -220,12 +215,9 @@ static void lcd_init_type1(void) | |||
220 | lcd_write_dat(0x00); | 215 | lcd_write_dat(0x00); |
221 | 216 | ||
222 | lcd_write_cmd(0x0E); | 217 | lcd_write_cmd(0x0E); |
223 | lcd_write_dat(0x04); | 218 | lcd_write_nibbles(0x42); |
224 | lcd_write_dat(0x02); | 219 | lcd_write_nibbles(0x25); |
225 | lcd_write_dat(0x02); | 220 | lcd_write_nibbles(0x3F); |
226 | lcd_write_dat(0x05); | ||
227 | lcd_write_dat(0x03); | ||
228 | lcd_write_dat(0x0F); | ||
229 | 221 | ||
230 | lcd_write_cmd(0x0F); | 222 | lcd_write_cmd(0x0F); |
231 | lcd_write_dat(0x0A); | 223 | lcd_write_dat(0x0A); |
@@ -251,7 +243,7 @@ static void lcd_init_type1(void) | |||
251 | 243 | ||
252 | lcd_write_cmd(0x3A); | 244 | lcd_write_cmd(0x3A); |
253 | for (i = 0; i < 256; i++) { | 245 | for (i = 0; i < 256; i++) { |
254 | lcd_write_table(curve[i]); | 246 | lcd_write_nibbles(curve[i]); |
255 | } | 247 | } |
256 | 248 | ||
257 | lcd_write_cmd(0x3C); | 249 | lcd_write_cmd(0x3C); |
@@ -336,14 +328,10 @@ static void lcd_setup_rect(int x, int x_end, int y, int y_end) | |||
336 | } | 328 | } |
337 | else { | 329 | else { |
338 | lcd_write_cmd(0x0A); | 330 | lcd_write_cmd(0x0A); |
339 | lcd_write_dat((x >> 8) & 0xFF); | 331 | lcd_write_nibbles(x); |
340 | lcd_write_dat((x >> 0) & 0xFF); | 332 | lcd_write_nibbles(x_end); |
341 | lcd_write_dat((x_end >> 8) & 0xFF); | 333 | lcd_write_nibbles(y); |
342 | lcd_write_dat((x_end >> 0) & 0xFF); | 334 | lcd_write_nibbles(y_end); |
343 | lcd_write_dat((y >> 8) & 0xFF); | ||
344 | lcd_write_dat((y >> 0) & 0xFF); | ||
345 | lcd_write_dat((y_end >> 8) & 0xFF); | ||
346 | lcd_write_dat((y_end >> 0) & 0xFF); | ||
347 | } | 335 | } |
348 | } | 336 | } |
349 | 337 | ||
@@ -357,9 +345,9 @@ void lcd_brightness(uint8_t red, uint8_t green, uint8_t blue) | |||
357 | } | 345 | } |
358 | else { | 346 | else { |
359 | lcd_write_cmd(0x0E); | 347 | lcd_write_cmd(0x0E); |
360 | lcd_write_table(red); | 348 | lcd_write_nibbles(red); |
361 | lcd_write_table(green); | 349 | lcd_write_nibbles(green); |
362 | lcd_write_table(blue); | 350 | lcd_write_nibbles(blue); |
363 | } | 351 | } |
364 | } | 352 | } |
365 | 353 | ||