- 将显示驱动从 lvgl_st7735s_use 改为 lvgl_st7789_use,在 CMakeLists.txt 和 main.c 中。 - 将 MQTT 警报主题从“topic/alert/esp32_iothome_001”更新为“topic/alert/esp32_iothome_002”。 - 重构 UI 任务,去除周期性屏幕切换逻辑,专注于界面刷新。 - 调整错误处理,使新的显示驱动程序用于错误信息。
32 lines
644 B
C
32 lines
644 B
C
#include "ui.h"
|
|
#include "screens.h"
|
|
#include "images.h"
|
|
#include "actions.h"
|
|
#include "vars.h"
|
|
|
|
#include <string.h>
|
|
|
|
static int16_t currentScreen = -1;
|
|
|
|
static lv_obj_t *getLvglObjectFromIndex(int32_t index) {
|
|
if (index == -1) {
|
|
return 0;
|
|
}
|
|
return ((lv_obj_t **)&objects)[index];
|
|
}
|
|
|
|
void loadScreen(enum ScreensEnum screenId) {
|
|
currentScreen = screenId - 1;
|
|
lv_obj_t *screen = getLvglObjectFromIndex(currentScreen);
|
|
lv_scr_load_anim(screen, LV_SCR_LOAD_ANIM_FADE_IN, 200, 0, false);
|
|
}
|
|
|
|
void ui_init() {
|
|
create_screens();
|
|
loadScreen(SCREEN_ID_MAIN);
|
|
|
|
}
|
|
|
|
void ui_tick() {
|
|
tick_screen(currentScreen);
|
|
} |