generated from Embedded_Projects/Landzo_K60Z_LwIP
59 lines
1.8 KiB
C
59 lines
1.8 KiB
C
/* FreeRTOS */
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
|
|
/* LVGL */
|
|
#include "lvgl.h"
|
|
|
|
/* UI */
|
|
#include "ui_helpers.h"
|
|
|
|
void ui_standby_task(void *pvParameters) {
|
|
lv_obj_t *img_background = NULL;
|
|
lv_font_t *font_noto_sans_bold_72 = NULL;
|
|
lv_style_t style_label_time;
|
|
lv_obj_t *label_time = NULL;
|
|
|
|
if (xSemaphoreTake(g_lvgl_semphr, portMAX_DELAY) == pdTRUE) {
|
|
img_background = lv_img_create(lv_scr_act());
|
|
lv_img_set_src(img_background, "A:/resources/images/bg_image_1.bin");
|
|
|
|
font_noto_sans_bold_72 = lv_font_load("A:/resources/fonts/noto-sans_bold_72.bin");
|
|
|
|
lv_style_init(&style_label_time);
|
|
lv_style_set_text_font(&style_label_time, font_noto_sans_bold_72);
|
|
lv_style_set_text_color(&style_label_time, lv_color_make(181, 27, 58));
|
|
|
|
label_time = lv_label_create(lv_scr_act());
|
|
lv_obj_add_style(label_time, &style_label_time, 0);
|
|
lv_obj_set_width(label_time, 240);
|
|
lv_obj_set_height(label_time, 80);
|
|
lv_obj_align(label_time, LV_ALIGN_CENTER, 0, -40);
|
|
lv_obj_set_style_text_align(label_time, LV_TEXT_ALIGN_CENTER, 0);
|
|
lv_label_set_text(label_time, "--:--");
|
|
|
|
xSemaphoreGive(g_lvgl_semphr);
|
|
}
|
|
|
|
ui_standby_queue_t cmd;
|
|
|
|
for (;;) {
|
|
if (xQueueReceive(g_ui_standby_queue, &cmd, portMAX_DELAY) == pdPASS) {
|
|
switch (cmd.cmd) {
|
|
case UI_STANDBY_CMD_UPDATE_TIME: {
|
|
if (xSemaphoreTake(g_lvgl_semphr, portMAX_DELAY) == pdTRUE) {
|
|
lv_label_set_text(label_time, (char *)cmd.payload);
|
|
|
|
xSemaphoreGive(g_lvgl_semphr);
|
|
}
|
|
|
|
vPortFree(cmd.payload);
|
|
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} |