From d80063ff513969f622a6cffd1a9d074ccc3cfa24 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Fri, 24 Jul 2020 16:39:11 -0400 Subject: Initial display support. --- app/src/display.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 app/src/display.c (limited to 'app/src/display.c') diff --git a/app/src/display.c b/app/src/display.c new file mode 100644 index 0000000..9021914 --- /dev/null +++ b/app/src/display.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2020 Peter Johanson + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include + +#include +LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); + +#include +#include + +#define ZMK_DISPLAY_NAME CONFIG_LVGL_DISPLAY_DEV_NAME + +static struct device *display; + +static lv_obj_t *screen; + +int zmk_display_init() +{ + lv_obj_t *hello_world_label; + lv_obj_t *count_label; + + LOG_DBG(""); + + display = device_get_binding(ZMK_DISPLAY_NAME); + if (display == NULL) { + LOG_ERR("Failed to find display device"); + return -EINVAL; + } + + screen = lv_obj_create(NULL, NULL); + lv_scr_load(screen); + + hello_world_label = lv_label_create(lv_scr_act(), NULL); + lv_label_set_text(hello_world_label, "ZMK v0.1.0"); + lv_obj_align(hello_world_label, NULL, LV_ALIGN_CENTER, 0, 0); + count_label = lv_label_create(lv_scr_act(), NULL); + lv_label_set_text(count_label, CONFIG_ZMK_KEYBOARD_NAME); + lv_obj_align(count_label, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0); + lv_task_handler(); + display_blanking_off(display); + + return 0; +} + +void zmk_display_task_handler() +{ + lv_tick_inc(10); + lv_task_handler(); + k_sleep(K_MSEC(10)); +} -- cgit v1.2.3