summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c46
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) */
148static void lcd_write_table(uint8_t val) 148static 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