More debug UI
This commit is contained in:
parent
fb7fe32bf4
commit
f044825791
1 changed files with 73 additions and 20 deletions
|
|
@ -11,6 +11,7 @@ static lv_obj_t * cursor;
|
|||
static lv_obj_t * label;
|
||||
static lv_obj_t * label2;
|
||||
static lv_obj_t * fps_label;
|
||||
static lv_obj_t * keypad_label;
|
||||
|
||||
|
||||
long unsigned int sys_tick(void)
|
||||
|
|
@ -30,20 +31,18 @@ void sys_free(void)
|
|||
gfxExit();
|
||||
}
|
||||
|
||||
static void cursor_timer_cb(lv_timer_t * t)
|
||||
static void ui_timer_cb(lv_timer_t * t)
|
||||
{
|
||||
LV_UNUSED(t);
|
||||
|
||||
lv_indev_t * indev = lv_indev_get_next(NULL);
|
||||
|
||||
if (!indev)
|
||||
return;
|
||||
|
||||
while (indev) {
|
||||
if (lv_indev_get_type(indev) == LV_INDEV_TYPE_POINTER) {
|
||||
lv_point_t p;
|
||||
lv_indev_get_point(indev, &p);
|
||||
|
||||
if (lv_indev_get_state(indev) == LV_INDEV_STATE_PRESSED) {
|
||||
|
||||
lv_obj_set_pos(cursor, p.x - 5, p.y - 5);
|
||||
lv_obj_clear_flag(cursor, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
|
|
@ -55,6 +54,49 @@ static void cursor_timer_cb(lv_timer_t * t)
|
|||
else {
|
||||
lv_obj_add_flag(cursor, LV_OBJ_FLAG_HIDDEN);
|
||||
}
|
||||
}
|
||||
if (lv_indev_get_type(indev) == LV_INDEV_TYPE_KEYPAD) {
|
||||
uint32_t key = lv_indev_get_key(indev);
|
||||
uint32_t state = lv_indev_get_state(indev);
|
||||
const char * txt = "None";
|
||||
|
||||
switch(key) {
|
||||
case LV_KEY_UP:
|
||||
txt = "UP";
|
||||
break;
|
||||
case LV_KEY_DOWN:
|
||||
txt = "DOWN";
|
||||
break;
|
||||
case LV_KEY_LEFT:
|
||||
txt = "LEFT";
|
||||
break;
|
||||
case LV_KEY_RIGHT:
|
||||
txt = "RIGHT";
|
||||
break;
|
||||
case LV_KEY_ENTER:
|
||||
txt = "A";
|
||||
break;
|
||||
case LV_KEY_ESC:
|
||||
txt = "B";
|
||||
break;
|
||||
case LV_KEY_PREV:
|
||||
txt = "L";
|
||||
break;
|
||||
case LV_KEY_NEXT:
|
||||
txt = "R";
|
||||
break;
|
||||
default:
|
||||
txt = "None";
|
||||
break;
|
||||
}
|
||||
|
||||
if (state == LV_INDEV_STATE_PRESSED)
|
||||
lv_label_set_text_fmt(keypad_label, "Pressed: %s", txt);
|
||||
else
|
||||
lv_label_set_text_fmt(keypad_label, "Released", txt);
|
||||
}
|
||||
indev = lv_indev_get_next(indev);
|
||||
}
|
||||
}
|
||||
|
||||
static void switch_event_cb(lv_event_t * e)
|
||||
|
|
@ -131,6 +173,10 @@ static void ui_prepare(void)
|
|||
label2 = lv_label_create(lv_screen_active());
|
||||
lv_obj_align(label2, LV_ALIGN_TOP_LEFT, 4, 4);
|
||||
|
||||
/* Keypad label */
|
||||
keypad_label = lv_label_create(lv_screen_active());
|
||||
lv_obj_align(keypad_label, LV_ALIGN_TOP_LEFT, 4, 36);
|
||||
|
||||
/* FPS label */
|
||||
fps_label = lv_label_create(lv_screen_active());
|
||||
lv_obj_align(fps_label,
|
||||
|
|
@ -139,7 +185,11 @@ static void ui_prepare(void)
|
|||
-4);
|
||||
|
||||
/* Main loop UI update timer */
|
||||
lv_timer_create(cursor_timer_cb, 16, NULL);
|
||||
lv_timer_create(ui_timer_cb, 16, NULL);
|
||||
|
||||
/* Dummy group to make indev happy */
|
||||
lv_group_t * group = lv_group_create();
|
||||
lv_indev_set_group(lv_ctr_indev_get_keypad(), group);
|
||||
|
||||
lv_obj_invalidate(lv_screen_active());
|
||||
}
|
||||
|
|
@ -157,13 +207,16 @@ int main(int argc, char* argv[])
|
|||
// Main loop
|
||||
while (aptMainLoop())
|
||||
{
|
||||
// scan HID inputs
|
||||
hidScanInput();
|
||||
|
||||
// call LVGL timer handler
|
||||
u64 start = osGetTime();
|
||||
lv_timer_handler();
|
||||
u64 end = osGetTime();
|
||||
lv_label_set_text_fmt(fps_label, "render: %llums", end - start);
|
||||
|
||||
hidScanInput();
|
||||
|
||||
// evacuate the dance floor!
|
||||
u32 kDown = hidKeysDown();
|
||||
if (kDown & KEY_START)
|
||||
break; // break in order to return to hbmenu
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue