diff --git a/src/SSD1306.cpp b/src/SSD1306.cpp index 367e927..0903db0 100644 --- a/src/SSD1306.cpp +++ b/src/SSD1306.cpp @@ -65,7 +65,7 @@ void SSD1306::InitHardware() SetContrast(GetContrast()); - SendCommand(SSD1306_CMD_ENTIRE_DISPLAY_ON); // 0xA4 - DONT force entire display on + SendCommand(SSD1306_CMD_TEST_DISPLAY_OFF); // 0xA4 - DONT force entire display on SendCommand(SSD1306_CMD_NORMAL_DISPLAY); // 0xA6 = non inverted @@ -129,14 +129,6 @@ void SSD1306::MoveCursorByte(u8 row, u8 col) SendCommand(0x10 | (col >> 4)); // column address upper bits } -void SSD1306::MoveCursorCharacter(u8 row, u8 col) -{ - if (col > 15) { col = 15; } - if (row > 7) { row = 7; } - - MoveCursorByte(row, col << 3); -} - void SSD1306::RefreshScreen() { int i; @@ -146,36 +138,17 @@ void SSD1306::RefreshScreen() } } -/* void SSD1306::RefreshRows(u32 start, u32 numRows) { start <<=1; numRows <<=1; - int i; - for (i = start; i < numRows; i++) + u32 i; + for (i = start; i < start+numRows; i++) { RefreshPage(i); } } -*/ -void SSD1306::RefreshRows(u32 start, u32 amountOfRows) -{ - int i; - - start <<= 1; - amountOfRows <<= 1; - - MoveCursorCharacter(start, 0); - - start *= 128; - int end = start + amountOfRows * 128; - - for (i = start; i < end; i++) - { - SendData(frame[i]); - } -} void SSD1306::RefreshPage(u32 page) { MoveCursorByte(page, 0); diff --git a/src/SSD1306.h b/src/SSD1306.h index 6d5a9f9..47ff9bb 100644 --- a/src/SSD1306.h +++ b/src/SSD1306.h @@ -102,7 +102,6 @@ protected: void Home(); void MoveCursorByte(u8 row, u8 col); - void MoveCursorCharacter(u8 row, u8 col); unsigned char frame[SSD1306_128x64_BYTES]; @@ -122,8 +121,8 @@ protected: #define SSD1306_CMD_ACTIVATE_SCROLL 0x2F #define SSD1306_CMD_SET_CONTRAST_CONTROL 0x81 // Set Contrast Control for BANK0 #define SSD1306_ENABLE_CHARGE_PUMP 0x8D -#define SSD1306_CMD_ENTIRE_DISPLAY_ON 0xA4 -#define SSD1306_CMD_ENTIRE_DISPLAY_OFF 0xA5 +#define SSD1306_CMD_TEST_DISPLAY_OFF 0xA4 +#define SSD1306_CMD_TEST_DISPLAY_ON 0xA5 #define SSD1306_CMD_NORMAL_DISPLAY 0xA6 // 1 = on pixel #define SSD1306_CMD_INVERT_DISPLAY 0xA7 // 0 = on pixel #define SSD1306_CMD_DISPLAY_OFF 0xAE diff --git a/src/main.cpp b/src/main.cpp index f5200c7..679dace 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -372,6 +372,7 @@ void InitialiseLCD() screenLCD = new ScreenLCD(); screenLCD->Open(128, 64, 1, i2cBusMaster, i2cLcdAddress, i2cLcdFlip, i2cLcdModel); screenLCD->SetContrast(i2cLcdOnContrast); + screenLCD->ClearInit(0); bool logo_done = false; if (strcasecmp(options.GetLcdLogoName(), "1541ii") == 0)