diff options
Diffstat (limited to 'app/src/display/main.c')
-rw-r--r-- | app/src/display/main.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/app/src/display/main.c b/app/src/display/main.c index 001061f..d64fb2a 100644 --- a/app/src/display/main.c +++ b/app/src/display/main.c @@ -24,6 +24,17 @@ static lv_obj_t *screen; __attribute__((weak)) lv_obj_t *zmk_display_status_screen() { return NULL; } +void display_tick_cb(struct k_work *work) { + lv_tick_inc(10); + lv_task_handler(); +} + +K_WORK_DEFINE(display_tick_work, display_tick_cb); + +void display_timer_cb() { k_work_submit(&display_tick_work); } + +K_TIMER_DEFINE(display_timer, display_timer_cb, NULL); + int zmk_display_init() { LOG_DBG(""); @@ -45,12 +56,8 @@ int zmk_display_init() { lv_task_handler(); display_blanking_off(display); + k_timer_start(&display_timer, K_MSEC(10), K_MSEC(10)); + LOG_DBG(""); return 0; -} - -void zmk_display_task_handler() { - lv_tick_inc(10); - lv_task_handler(); - k_sleep(K_MSEC(10)); -} +}
\ No newline at end of file |