Pete Johanson
4 years ago
committed by
GitHub
10 changed files with 198 additions and 7 deletions
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com> |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#pragma once |
||||
|
||||
int zmk_display_init(); |
||||
void zmk_display_task_handler(); |
@ -0,0 +1,56 @@
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Peter Johanson |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#include <init.h> |
||||
#include <device.h> |
||||
#include <devicetree.h> |
||||
|
||||
#include <logging/log.h> |
||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); |
||||
|
||||
#include <drivers/display.h> |
||||
#include <lvgl.h> |
||||
|
||||
#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)); |
||||
} |
Loading…
Reference in new issue