diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/oled/oled_driver.h | 4 | ||||
| -rw-r--r-- | drivers/oled/ssd1306_sh1106.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 13b73ede9..3b56d370d 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h | |||
| @@ -190,6 +190,7 @@ bool oled_init(oled_rotation_t rotation); | |||
| 190 | // Called at the start of oled_init, weak function overridable by the user | 190 | // Called at the start of oled_init, weak function overridable by the user |
| 191 | // rotation - the value passed into oled_init | 191 | // rotation - the value passed into oled_init |
| 192 | // Return new oled_rotation_t if you want to override default rotation | 192 | // Return new oled_rotation_t if you want to override default rotation |
| 193 | oled_rotation_t oled_init_kb(oled_rotation_t rotation); | ||
| 193 | oled_rotation_t oled_init_user(oled_rotation_t rotation); | 194 | oled_rotation_t oled_init_user(oled_rotation_t rotation); |
| 194 | 195 | ||
| 195 | // Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering | 196 | // Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering |
| @@ -285,7 +286,8 @@ uint8_t oled_get_brightness(void); | |||
| 285 | void oled_task(void); | 286 | void oled_task(void); |
| 286 | 287 | ||
| 287 | // Called at the start of oled_task, weak function overridable by the user | 288 | // Called at the start of oled_task, weak function overridable by the user |
| 288 | void oled_task_user(void); | 289 | bool oled_task_kb(void); |
| 290 | bool oled_task_user(void); | ||
| 289 | 291 | ||
| 290 | // Set the specific 8 lines rows of the screen to scroll. | 292 | // Set the specific 8 lines rows of the screen to scroll. |
| 291 | // 0 is the default for start, and 7 for end, which is the entire | 293 | // 0 is the default for start, and 7 for end, which is the entire |
diff --git a/drivers/oled/ssd1306_sh1106.c b/drivers/oled/ssd1306_sh1106.c index e9049438f..d9bd3c14b 100644 --- a/drivers/oled/ssd1306_sh1106.c +++ b/drivers/oled/ssd1306_sh1106.c | |||
| @@ -167,7 +167,7 @@ bool oled_init(oled_rotation_t rotation) { | |||
| 167 | } | 167 | } |
| 168 | #endif | 168 | #endif |
| 169 | 169 | ||
| 170 | oled_rotation = oled_init_user(rotation); | 170 | oled_rotation = oled_init_user(oled_init_kb(rotation)); |
| 171 | if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { | 171 | if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { |
| 172 | oled_rotation_width = OLED_DISPLAY_WIDTH; | 172 | oled_rotation_width = OLED_DISPLAY_WIDTH; |
| 173 | } else { | 173 | } else { |
| @@ -232,6 +232,7 @@ bool oled_init(oled_rotation_t rotation) { | |||
| 232 | return true; | 232 | return true; |
| 233 | } | 233 | } |
| 234 | 234 | ||
| 235 | __attribute__((weak)) oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return rotation; } | ||
| 235 | __attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } | 236 | __attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } |
| 236 | 237 | ||
| 237 | void oled_clear(void) { | 238 | void oled_clear(void) { |
| @@ -741,11 +742,11 @@ void oled_task(void) { | |||
| 741 | if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) { | 742 | if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) { |
| 742 | oled_update_timeout = timer_read(); | 743 | oled_update_timeout = timer_read(); |
| 743 | oled_set_cursor(0, 0); | 744 | oled_set_cursor(0, 0); |
| 744 | oled_task_user(); | 745 | oled_task_kb(); |
| 745 | } | 746 | } |
| 746 | #else | 747 | #else |
| 747 | oled_set_cursor(0, 0); | 748 | oled_set_cursor(0, 0); |
| 748 | oled_task_user(); | 749 | oled_task_kb(); |
| 749 | #endif | 750 | #endif |
| 750 | 751 | ||
| 751 | #if OLED_SCROLL_TIMEOUT > 0 | 752 | #if OLED_SCROLL_TIMEOUT > 0 |
| @@ -776,4 +777,5 @@ void oled_task(void) { | |||
| 776 | #endif | 777 | #endif |
| 777 | } | 778 | } |
| 778 | 779 | ||
| 779 | __attribute__((weak)) void oled_task_user(void) {} | 780 | __attribute__((weak)) bool oled_task_kb(void) { return oled_task_user(); } |
| 781 | __attribute__((weak)) bool oled_task_user(void) { return true; } | ||
