diff options
author | Drashna Jaelre <drashna@live.com> | 2021-11-01 15:42:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 09:42:50 +1100 |
commit | 9d235d4fc5c34f372b0c393f41686b5ef4f8dc13 (patch) | |
tree | c155fae4cd6043c3c32aa185eb05c5d1a4a5700e /drivers | |
parent | f775da96b17ceec66bac279434325b4da5cb9467 (diff) | |
download | qmk_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.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; } | ||