diff options
author | Ryan Caltabiano <rcalt2vt@gmail.com> | 2019-04-16 18:36:55 -0500 |
---|---|---|
committer | skullydazed <skullydazed@users.noreply.github.com> | 2019-04-20 08:05:10 -0700 |
commit | dd3a813f871b911012da55a499955307c309a7a5 (patch) | |
tree | 80df58d039a9b20283057809925a2351121135d5 /drivers/oled/oled_driver.c | |
parent | 0a645225b9c863a106921185a6c2e0c340f10694 (diff) |
Reducing size of data send in one frame & update Zen rev2 oled usage
Diffstat (limited to 'drivers/oled/oled_driver.c')
-rw-r--r-- | drivers/oled/oled_driver.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index aa025d7a4c..96ea58ccb2 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -203,7 +203,7 @@ bool oled_init(uint8_t rotation) { } __attribute__((weak)) -uint8_t oled_init_user(uint8_t rotation) { +oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } @@ -384,7 +384,10 @@ void oled_write_char(const char data, bool invert) { // Dirty check if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) { - oled_dirty |= (1 << ((oled_cursor - &oled_buffer[0]) / OLED_BLOCK_SIZE)); + uint16_t index = oled_cursor - &oled_buffer[0]; + oled_dirty |= (1 << (index / OLED_BLOCK_SIZE)); + // Edgecase check if the written data spans the 2 chunks + oled_dirty |= (1 << ((index + OLED_FONT_WIDTH) / OLED_BLOCK_SIZE)); } // Finally move to the next char |