diff options
author | inmarket <andrewh@inmarket.com.au> | 2015-09-18 11:17:19 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2015-09-18 11:17:19 +1000 |
commit | 367089f10d5984e3dec6d455b5871feef01dcfda (patch) | |
tree | ddd11e849f96f87fc1dcc642eeca5575a988caac | |
parent | 2867d6b8f96d899153bc7dd030e0644afe816592 (diff) | |
download | uGFX-367089f10d5984e3dec6d455b5871feef01dcfda.tar.gz uGFX-367089f10d5984e3dec6d455b5871feef01dcfda.tar.bz2 uGFX-367089f10d5984e3dec6d455b5871feef01dcfda.zip |
Add support for SH1106 in the SSD1306 driver
-rw-r--r-- | drivers/gdisp/SSD1306/SSD1306.h | 3 | ||||
-rw-r--r-- | drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gdisp/SSD1306/SSD1306.h b/drivers/gdisp/SSD1306/SSD1306.h index 7d7010e8..8ec8b3ad 100644 --- a/drivers/gdisp/SSD1306/SSD1306.h +++ b/drivers/gdisp/SSD1306/SSD1306.h @@ -44,6 +44,9 @@ #define SSD1306_EXTERNALVCC 0x1
#define SSD1306_SWITCHCAPVCC 0x2
+#define SSD1306_SETLOWCOLUMN 0x00
+#define SSD1306_SETHIGHCOLUMN 0x10
+
// Scrolling #defines
#define SSD1306_SCROLL_ACTIVATE 0x2F
#define SSD1306_SCROLL_DEACTIVATE 0x2E
diff --git a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c index 2313e765..5a950b0d 100644 --- a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c +++ b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c @@ -150,6 +150,12 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) { write_cmd(g, SSD1306_SETSTARTLINE | 0); while (pages--) { + #if SSD1306_SH1106 + write_cmd(g, SSD1306_PAM_PAGE_START + (7 - pages)); + write_cmd(g, SSD1306_SETLOWCOLUMN + 2); + write_cmd(g, SSD1306_SETHIGHCOLUMN); + #endif + write_data(g, ram, SSD1306_PAGE_WIDTH); ram += SSD1306_PAGE_WIDTH; } |