summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-03-18 17:58:49 +0000
committerJens Arnold <amiconn@rockbox.org>2007-03-18 17:58:49 +0000
commitcb1c9e447ef03ecc7171b512a6aa5754e1e8dd61 (patch)
treed688c8160f70b7a0ce6579a281fefe9fef769c61 /firmware/drivers
parentf1bf798b8aa8af2b366060aa6fee81beafdaf3bb (diff)
Archos player: Introduce lcd_write_command_e (only one data byte) in the lcd driver, for cleaner C code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12835 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/lcd-player.c30
1 files changed, 8 insertions, 22 deletions
diff --git a/firmware/drivers/lcd-player.c b/firmware/drivers/lcd-player.c
index c863c9f188..dd99246611 100644
--- a/firmware/drivers/lcd-player.c
+++ b/firmware/drivers/lcd-player.c
@@ -106,8 +106,6 @@ unsigned short buffer_lcd_mirror[11][2];
#ifdef SIMULATOR
unsigned char hardware_buffer_lcd[11][2];
-#else
-static unsigned char lcd_data_byte; /* global write buffer */
#endif
#define NO_CHAR -1
@@ -133,8 +131,7 @@ static void lcd_free_pat(int map_ch)
#ifdef SIMULATOR
hardware_buffer_lcd[x][y]=substitute_char;
#else
- lcd_write_command(LCD_CURSOR(x, y));
- lcd_write_data(&substitute_char, 1);
+ lcd_write_command_e(LCD_CURSOR(x, y), substitute_char);
#endif
}
}
@@ -231,8 +228,7 @@ void xlcd_update(void)
#ifdef SIMULATOR
hardware_buffer_lcd[x][y]=hw_ch;
#else
- lcd_write_command(LCD_CURSOR(x,y));
- lcd_write_data(&hw_ch, 1);
+ lcd_write_command_e(LCD_CURSOR(x,y), hw_ch);
#endif
}
}
@@ -265,9 +261,7 @@ bool lcdx_putc(int x, int y, unsigned short ch)
#ifdef SIMULATOR
hardware_buffer_lcd[x][y]=lcd_char;
#else
- lcd_data_byte = (unsigned char) lcd_char;
- lcd_write_command(LCD_CURSOR(x, y));
- lcd_write_data(&lcd_data_byte, 1);
+ lcd_write_command_e(LCD_CURSOR(x, y), lcd_char);
#endif
return false;
}
@@ -450,15 +444,13 @@ void lcd_icon(int icon, bool enable)
pos = icon_pos[icon];
mask = icon_mask[icon];
-
- lcd_write_command(LCD_ICON(pos));
-
+
if(enable)
icon_mirror[pos] |= mask;
else
icon_mirror[pos] &= ~mask;
- lcd_write_data(&icon_mirror[pos], 1);
+ lcd_write_command_e(LCD_ICON(pos), icon_mirror[pos]);
}
int lcd_default_contrast(void)
@@ -468,9 +460,7 @@ int lcd_default_contrast(void)
void lcd_set_contrast(int val)
{
- lcd_data_byte = (unsigned char) (31 - val);
- lcd_write_command(lcd_contrast_set);
- lcd_write_data(&lcd_data_byte, 1);
+ lcd_write_command_e(lcd_contrast_set, 31 - val);
}
#endif /* SIMULATOR */
@@ -500,9 +490,7 @@ void lcd_init (void)
or_b(0x0f, &PBDRL); /* ... and high */
lcd_write_command(NEW_LCD_FUNCTION_SET + 1); /* CGRAM selected */
- lcd_write_command(NEW_LCD_CONTRAST_SET);
- lcd_data_byte = 0x08;
- lcd_write_data(&lcd_data_byte, 1);
+ lcd_write_command_e(NEW_LCD_CONTRAST_SET, 0x08);
lcd_write_command(NEW_LCD_POWER_SAVE_MODE_OSC_CONTROL_SET + 2);
/* oscillator on */
lcd_write_command(NEW_LCD_POWER_CONTROL_REGISTER_SET + 7);
@@ -599,9 +587,7 @@ void lcd_init (void)
for (i=0; i<300000; i++) asm volatile ("nop"); /* wait 150 ms */
lcd_write_command(0x31);
- lcd_write_command(0xa8); /* Set contrast control */
- lcd_data_byte = 0;
- lcd_write_data(&lcd_data_byte, 1); /* 0 */
+ lcd_write_command_e(0xa8, 0); /* Set contrast control */
}
#endif
#endif /* !SIMULATOR */