aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-11-01 15:42:50 -0700
committerGitHub <noreply@github.com>2021-11-02 09:42:50 +1100
commit9d235d4fc5c34f372b0c393f41686b5ef4f8dc13 (patch)
treec155fae4cd6043c3c32aa185eb05c5d1a4a5700e /drivers
parentf775da96b17ceec66bac279434325b4da5cb9467 (diff)
downloadqmk_firmware-9d235d4fc5c34f372b0c393f41686b5ef4f8dc13.tar.gz
qmk_firmware-9d235d4fc5c34f372b0c393f41686b5ef4f8dc13.zip
[Core] Change OLED task function to be boolean (#14864)
* [Core] Add kb level callbacks to OLED driver * Update keyboards and keymaps * Update docs * Update userspace configs * Add fix for my keymap ... * update lefty
Diffstat (limited to 'drivers')
-rw-r--r--drivers/oled/oled_driver.h4
-rw-r--r--drivers/oled/ssd1306_sh1106.c10
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
193oled_rotation_t oled_init_kb(oled_rotation_t rotation);
193oled_rotation_t oled_init_user(oled_rotation_t rotation); 194oled_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);
285void oled_task(void); 286void 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
288void oled_task_user(void); 289bool oled_task_kb(void);
290bool 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
237void oled_clear(void) { 238void 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; }