diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/lcd-h100.c | 9 | ||||
-rw-r--r-- | firmware/drivers/lcd-recorder.c | 9 | ||||
-rw-r--r-- | firmware/export/lcd.h | 4 |
3 files changed, 8 insertions, 14 deletions
diff --git a/firmware/drivers/lcd-h100.c b/firmware/drivers/lcd-h100.c index db2aba8673..666949ff72 100644 --- a/firmware/drivers/lcd-h100.c +++ b/firmware/drivers/lcd-h100.c | |||
@@ -332,7 +332,7 @@ static void nopixel(int x, int y) | |||
332 | } | 332 | } |
333 | 333 | ||
334 | lcd_pixelfunc_type* pixelfunc[8] = {flippixel, nopixel, setpixel, setpixel, | 334 | lcd_pixelfunc_type* pixelfunc[8] = {flippixel, nopixel, setpixel, setpixel, |
335 | nopixel, clearpixel, nopixel, clearpixel}; | 335 | nopixel, clearpixel, nopixel, clearpixel}; |
336 | 336 | ||
337 | static void flipblock(unsigned char *address, unsigned mask, unsigned bits) | 337 | static void flipblock(unsigned char *address, unsigned mask, unsigned bits) |
338 | { | 338 | { |
@@ -361,10 +361,9 @@ lcd_blockfunc_type* blockfunc[4] = {flipblock, bgblock, fgblock, solidblock}; | |||
361 | /* Clear the whole display */ | 361 | /* Clear the whole display */ |
362 | void lcd_clear_display(void) | 362 | void lcd_clear_display(void) |
363 | { | 363 | { |
364 | if (drawmode & DRMODE_INVERSEVID) | 364 | unsigned bits = (drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0; |
365 | memset (lcd_framebuffer, 0xFF, sizeof lcd_framebuffer); | 365 | |
366 | else | 366 | memset(lcd_framebuffer, bits, sizeof lcd_framebuffer); |
367 | memset (lcd_framebuffer, 0, sizeof lcd_framebuffer); | ||
368 | scrolling_lines = 0; | 367 | scrolling_lines = 0; |
369 | } | 368 | } |
370 | 369 | ||
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c index a83f58e35d..1255516b51 100644 --- a/firmware/drivers/lcd-recorder.c +++ b/firmware/drivers/lcd-recorder.c | |||
@@ -391,7 +391,7 @@ static void nopixel(int x, int y) | |||
391 | } | 391 | } |
392 | 392 | ||
393 | lcd_pixelfunc_type* pixelfunc[8] = {flippixel, nopixel, setpixel, setpixel, | 393 | lcd_pixelfunc_type* pixelfunc[8] = {flippixel, nopixel, setpixel, setpixel, |
394 | nopixel, clearpixel, nopixel, clearpixel}; | 394 | nopixel, clearpixel, nopixel, clearpixel}; |
395 | 395 | ||
396 | static void flipblock(unsigned char *address, unsigned mask, unsigned bits) | 396 | static void flipblock(unsigned char *address, unsigned mask, unsigned bits) |
397 | { | 397 | { |
@@ -420,10 +420,9 @@ lcd_blockfunc_type* blockfunc[4] = {flipblock, bgblock, fgblock, solidblock}; | |||
420 | /* Clear the whole display */ | 420 | /* Clear the whole display */ |
421 | void lcd_clear_display(void) | 421 | void lcd_clear_display(void) |
422 | { | 422 | { |
423 | if (drawmode & DRMODE_INVERSEVID) | 423 | unsigned bits = (drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0; |
424 | memset (lcd_framebuffer, 0xFF, sizeof lcd_framebuffer); | 424 | |
425 | else | 425 | memset(lcd_framebuffer, bits, sizeof lcd_framebuffer); |
426 | memset (lcd_framebuffer, 0, sizeof lcd_framebuffer); | ||
427 | scrolling_lines = 0; | 426 | scrolling_lines = 0; |
428 | } | 427 | } |
429 | 428 | ||
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index c6e0fe0f0e..3824096aba 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h | |||
@@ -122,10 +122,6 @@ extern void lcd_jump_scroll_delay(int ms); | |||
122 | #define DRMODE_SOLID 3 | 122 | #define DRMODE_SOLID 3 |
123 | #define DRMODE_INVERSEVID 4 /* used as bit modifier for basic modes */ | 123 | #define DRMODE_INVERSEVID 4 /* used as bit modifier for basic modes */ |
124 | 124 | ||
125 | #define DRAW_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] |= (1<<((y)&7)) | ||
126 | #define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] &= ~(1<<((y)&7)) | ||
127 | #define INVERT_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] ^= (1<<((y)&7)) | ||
128 | |||
129 | typedef void lcd_pixelfunc_type(int x, int y); /* for b&w */ | 125 | typedef void lcd_pixelfunc_type(int x, int y); /* for b&w */ |
130 | typedef void lcd_blockfunc_type(unsigned char *address, unsigned mask, unsigned bits); | 126 | typedef void lcd_blockfunc_type(unsigned char *address, unsigned mask, unsigned bits); |
131 | 127 | ||