Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: target/dartuinoP0/display/memory_lcd_mono.c

Issue 1741463002: [target][dartuinoP0] Allow for varying framebuffer format and stride. (Closed) Base URL: https://github.com/littlekernel/lk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « target/dartuinoP0/display/LS027B7DH01.c ('k') | target/dartuinoP0/include/target/display/LS013B7DH03.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: target/dartuinoP0/display/memory_lcd_mono.c
diff --git a/target/dartuinoP0/display/LS027B7DH01.c b/target/dartuinoP0/display/memory_lcd_mono.c
similarity index 77%
rename from target/dartuinoP0/display/LS027B7DH01.c
rename to target/dartuinoP0/display/memory_lcd_mono.c
index 6e275caf8f90d47031add6c38a71322d63c655b8..7c09c07bad28eafe1f42b621a711f3251ab72c9c 100644
--- a/target/dartuinoP0/display/LS027B7DH01.c
+++ b/target/dartuinoP0/display/memory_lcd_mono.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015 Gurjant Kalsi <me@gurjantkalsi.com>
+ * Copyright (c) 2016 Craig Stout <cstout@chromium.org>
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files
@@ -21,24 +21,37 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-// 2.7 Inch Monocromatic Sharp Memory LCD
-
+#if defined (LCD_LS027B7DH01)
#include <target/display/LS027B7DH01.h>
+#elif defined (LCD_LS013B7DH03)
+#include <target/display/LS013B7DH03.h>
+#else
+#error Undefined display header
+#endif
+
#include <string.h>
+#include <assert.h>
#define SET_BIT(BUF, BITNUM) ((BUF)[(BITNUM) >> 3] |= (0xff & (0x1 << ((BITNUM) & 0x07))))
uint8_t lcd_get_line(uint8_t *framebuffer, uint8_t idx, uint8_t *result)
{
- framebuffer += MLCD_WIDTH * idx;
+ framebuffer += FB_STRIDE * idx;
- memset(result, 0, MLCD_BYTES_LINE);
+#if FB_FORMAT == DISPLAY_FORMAT_MONO_1
+ memcpy(result, framebuffer, MLCD_BYTES_LINE);
+#elif FB_FORMAT == DISPLAY_FORMAT_MONO_8
+ memset(result, 0, MLCD_BYTES_LINE);
for (uint i = 0; i < MLCD_WIDTH; ++i) {
if (framebuffer[i] > 128) {
SET_BIT(result, i);
}
}
+#else
+#error Unhandled FB_FORMAT
+#endif
+
return MLCD_BYTES_LINE;
-}
+}
« no previous file with comments | « target/dartuinoP0/display/LS027B7DH01.c ('k') | target/dartuinoP0/include/target/display/LS013B7DH03.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698