summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/lcd.c17
-rw-r--r--firmware/drivers/lcd.h1
2 files changed, 18 insertions, 0 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 5240dfda42..8abc638175 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -1163,6 +1163,23 @@ static void scroll_thread(void)
1163 } 1163 }
1164} 1164}
1165 1165
1166#ifndef SIMULATOR
1167#ifdef HAVE_LCD_BITMAP
1168/**
1169 * Rolls up the lcd display by the specified amount of lines.
1170 * Lines that are rolled out over the top of the screen are
1171 * rolled in from the bottom again. This is a hardware
1172 * remapping only and all operations on the lcd are affected.
1173 * ->
1174 * @param int lines - The number of lines that are rolled.
1175 * The value must be 0 <= pixels < LCD_HEIGHT.
1176 */
1177void lcd_roll(int lines)
1178{
1179 lcd_write(true, LCD_SET_DISPLAY_START_LINE | (lines & (LCD_HEIGHT-1)));
1180}
1181#endif
1182#endif
1166 1183
1167/* ----------------------------------------------------------------- 1184/* -----------------------------------------------------------------
1168 * local variables: 1185 * local variables:
diff --git a/firmware/drivers/lcd.h b/firmware/drivers/lcd.h
index 23b3d75e76..8c89d4c057 100644
--- a/firmware/drivers/lcd.h
+++ b/firmware/drivers/lcd.h
@@ -116,6 +116,7 @@ extern void lcd_clearline( int x1, int y1, int x2, int y2 );
116extern void lcd_drawpixel(int x, int y); 116extern void lcd_drawpixel(int x, int y);
117extern void lcd_clearpixel(int x, int y); 117extern void lcd_clearpixel(int x, int y);
118extern void lcd_invertpixel(int x, int y); 118extern void lcd_invertpixel(int x, int y);
119extern void lcd_roll(int pixels);
119 120
120#endif /* CHARCELLS / BITMAP */ 121#endif /* CHARCELLS / BITMAP */
121 122