From 2543b87ade224975ab4055eb5e1e8f4fa6fd2b83 Mon Sep 17 00:00:00 2001 From: armlabs Date: Mon, 24 Feb 2020 12:32:54 +0800 Subject: [PATCH] fix hardware pin for supporting 64 or 32 lines --- ssd1306.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ssd1306.c b/ssd1306.c index 0e3f527..2590b7c 100644 --- a/ssd1306.c +++ b/ssd1306.c @@ -291,7 +291,10 @@ uint8_t ssd1306_oled_default_config(uint8_t oled_lines, uint8_t oled_columns) data_buf[i++] = SSD1306_COMM_HORIZ_NORM; //SEGREMAP Mirror screen horizontally (A0) data_buf[i++] = SSD1306_COMM_SCAN_NORM; //COMSCANDEC Rotate screen vertically (C0) data_buf[i++] = SSD1306_COMM_COM_PIN; //HARDWARE PIN - data_buf[i++] = 0x02; //normal + if (oled_lines == 32) + data_buf[i++] = 0x02; // for 32 lines + else + data_buf[i++] = 0x12; // for 64 lines or 48 lines data_buf[i++] = SSD1306_COMM_CONTRAST; //SETCONTRAST data_buf[i++] = 0x7f; // default contract value data_buf[i++] = SSD1306_COMM_PRECHARGE; //SETPRECHARGE