/* * Copyright 2025 NXP * NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in * accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing, * activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to * comply with and are bound by, such license terms. If you do not agree to be bound by the applicable license * terms, then you may not retain, install, activate or otherwise use the software. */ #ifndef GUI_GUIDER_H #define GUI_GUIDER_H #ifdef __cplusplus extern "C" { #endif #include "lvgl.h" typedef struct { lv_obj_t *screen_main; bool screen_main_del; lv_obj_t *screen_main_arc_AIQ; lv_obj_t *screen_main_label_temp; lv_obj_t *screen_main_label_hum_vul2; lv_obj_t *screen_main_label_co2; lv_obj_t *screen_main_label_6; lv_obj_t *screen_main_label_7; lv_obj_t *screen_main_label_8; lv_obj_t *screen_main_label_9; lv_obj_t *screen_main_label_10; lv_obj_t *screen_main_label_11; lv_obj_t *screen_main_label_14; lv_obj_t *screen_main_label_lvxin; lv_obj_t *screen_main_label_AIQ_vul; lv_obj_t *screen_main_label_17; lv_obj_t *screen_main_label_18; lv_obj_t *screen_main_label_AIQ_sign; lv_obj_t *screen_main_cont_mode; lv_obj_t *screen_main_imgbtn_auto; lv_obj_t *screen_main_imgbtn_auto_label; lv_obj_t *screen_main_imgbtn_xf; lv_obj_t *screen_main_imgbtn_xf_label; lv_obj_t *screen_main_imgbtn_js; lv_obj_t *screen_main_imgbtn_js_label; lv_obj_t *screen_main_imgbtn_nxh; lv_obj_t *screen_main_imgbtn_nxh_label; lv_obj_t *screen_main_imgbtn_power; lv_obj_t *screen_main_imgbtn_power_label; lv_obj_t *screen_main_cont_speedset; lv_obj_t *screen_main_slider_speedSet_sign; lv_obj_t *screen_main_line_2; lv_obj_t *screen_main_line_1; lv_obj_t *screen_main_line_3; lv_obj_t *screen_main_line_5; lv_obj_t *screen_main_label_spedSet_vul; lv_obj_t *screen_main_label_1; lv_obj_t *screen_main_cont_humSet; lv_obj_t *screen_main_slider_humSet_sign; lv_obj_t *screen_main_label_2; lv_obj_t *screen_main_label_humSet_vul; lv_obj_t *screen_main_cont_top; lv_obj_t *screen_main_lab_err; lv_obj_t *screen_main_lab_485_err; lv_obj_t *screen_main_label_wifi; lv_obj_t *screen_main_lab_cloud; lv_obj_t *screen_main_cont_turn_off; lv_obj_t *SettingPage; bool SettingPage_del; lv_obj_t *SettingPage_tabview_1; lv_obj_t *SettingPage_tabview_1_tab_1; lv_obj_t *SettingPage_tabview_1_tab_2; lv_obj_t *SettingPage_tabview_1_tab_3; lv_obj_t *SettingPage_tabview_1_tab_4; lv_obj_t *SettingPage_list_wifi; lv_obj_t *SettingPage_label_1; lv_obj_t *SettingPage_lab_wifi_status; lv_obj_t *SettingPage_btn_1; lv_obj_t *SettingPage_btn_1_label; lv_obj_t *SettingPage_p_wifi_connect; lv_obj_t *SettingPage_label_2; lv_obj_t *SettingPage_label_3; lv_obj_t *SettingPage_lab_wifi_ssid; lv_obj_t *SettingPage_btn_2; lv_obj_t *SettingPage_btn_2_label; lv_obj_t *SettingPage_txt_wifi_password; lv_obj_t *SettingPage_btn_3; lv_obj_t *SettingPage_btn_3_label; lv_obj_t *SettingPage_sp_wifi_scan; lv_obj_t *SettingPage_btn_5; lv_obj_t *SettingPage_btn_5_label; lv_obj_t *SettingPage_sw_sound; lv_obj_t *SettingPage_label_10; lv_obj_t *SettingPage_label_9; lv_obj_t *SettingPage_slider_sound_level; lv_obj_t *SettingPage_label_11; lv_obj_t *SettingPage_sw_1; lv_obj_t *SettingPage_label_12; lv_obj_t *SettingPage_spinbox_2; lv_obj_t *SettingPage_spinbox_2_btn_plus; lv_obj_t *SettingPage_spinbox_2_btn_minus; lv_obj_t *SettingPage_cont_1; lv_obj_t *SettingPage_btn_4; lv_obj_t *SettingPage_btn_4_label; lv_obj_t *SettingPage_ta_1; lv_obj_t *SettingPage_label_5; lv_obj_t *SettingPage_lab_password_incorrect; lv_obj_t *SettingPage_label_6; lv_obj_t *SettingPage_qr_device_code; lv_obj_t *SettingPage_lab_version; lv_obj_t *SettingPage_label_7; lv_obj_t *SettingPage_label_8; lv_obj_t *FactorySettingPage; bool FactorySettingPage_del; lv_obj_t *FactorySettingPage_tabview_1; lv_obj_t *FactorySettingPage_tabview_1_tab_1; lv_obj_t *FactorySettingPage_tabview_1_tab_2; lv_obj_t *FactorySettingPage_tabview_1_tab_3; lv_obj_t *FactorySettingPage_spinbox_exhaust1_vol; lv_obj_t *FactorySettingPage_spinbox_exhaust1_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_exhaust1_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_exhaust3_vol; lv_obj_t *FactorySettingPage_spinbox_exhaust3_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_exhaust3_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_exhaust5_vol; lv_obj_t *FactorySettingPage_spinbox_exhaust5_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_exhaust5_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_exhaust4_vol; lv_obj_t *FactorySettingPage_spinbox_exhaust4_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_exhaust4_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_exhaust2_vol; lv_obj_t *FactorySettingPage_spinbox_exhaust2_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_exhaust2_vol_btn_minus; lv_obj_t *FactorySettingPage_label_4; lv_obj_t *FactorySettingPage_label_2; lv_obj_t *FactorySettingPage_label_3; lv_obj_t *FactorySettingPage_label_1; lv_obj_t *FactorySettingPage_label_5; lv_obj_t *FactorySettingPage_btn_fan_vol_save; lv_obj_t *FactorySettingPage_btn_fan_vol_save_label; lv_obj_t *FactorySettingPage_spinbox_supply1_vol; lv_obj_t *FactorySettingPage_spinbox_supply1_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_supply1_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_supply2_vol; lv_obj_t *FactorySettingPage_spinbox_supply2_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_supply2_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_supply3_vol; lv_obj_t *FactorySettingPage_spinbox_supply3_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_supply3_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_supply4_vol; lv_obj_t *FactorySettingPage_spinbox_supply4_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_supply4_vol_btn_minus; lv_obj_t *FactorySettingPage_spinbox_supply5_vol; lv_obj_t *FactorySettingPage_spinbox_supply5_vol_btn_plus; lv_obj_t *FactorySettingPage_spinbox_supply5_vol_btn_minus; lv_obj_t *FactorySettingPage_label_10; lv_obj_t *FactorySettingPage_label_9; lv_obj_t *FactorySettingPage_label_8; lv_obj_t *FactorySettingPage_label_7; lv_obj_t *FactorySettingPage_label_6; lv_obj_t *FactorySettingPage_btn_4; lv_obj_t *FactorySettingPage_btn_4_label; lv_obj_t *FactorySettingPage_btn_5; lv_obj_t *FactorySettingPage_btn_5_label; lv_obj_t *FactorySettingPage_btn_filter_life_clear; lv_obj_t *FactorySettingPage_btn_filter_life_clear_label; lv_obj_t *FactorySettingPage_spinbox_filter_life; lv_obj_t *FactorySettingPage_spinbox_filter_life_btn_plus; lv_obj_t *FactorySettingPage_spinbox_filter_life_btn_minus; lv_obj_t *FactorySettingPage_btn_filter_life_save; lv_obj_t *FactorySettingPage_btn_filter_life_save_label; lv_obj_t *FactorySettingPage_btn_6; lv_obj_t *FactorySettingPage_btn_6_label; lv_obj_t *FactorySettingPage_label_11; lv_obj_t *FactorySettingPage_label_12; lv_obj_t *OTAPage; bool OTAPage_del; lv_obj_t *OTAPage_label_1; lv_obj_t *OTAPage_label_2; lv_obj_t *OTAPage_label_3; lv_obj_t *OTAPage_lab_ota_current_version; lv_obj_t *OTAPage_lab_ota_remote_version; lv_obj_t *OTAPage_btn_exit; lv_obj_t *OTAPage_btn_exit_label; lv_obj_t *OTAPage_label_4; lv_obj_t *OTAPage_bar_ota_progress; lv_obj_t *g_kb_top_layer; }lv_ui; typedef void (*ui_setup_scr_t)(lv_ui * ui); void ui_init_style(lv_style_t * style); void ui_load_scr_animation(lv_ui *ui, lv_obj_t ** new_scr, bool new_scr_del, bool * old_scr_del, ui_setup_scr_t setup_scr, lv_screen_load_anim_t anim_type, uint32_t time, uint32_t delay, bool is_clean, bool auto_del); void ui_animation(void * var, uint32_t duration, int32_t delay, int32_t start_value, int32_t end_value, lv_anim_path_cb_t path_cb, uint32_t repeat_cnt, uint32_t repeat_delay, uint32_t playback_time, uint32_t playback_delay, lv_anim_exec_xcb_t exec_cb, lv_anim_start_cb_t start_cb, lv_anim_completed_cb_t ready_cb, lv_anim_deleted_cb_t deleted_cb); void init_scr_del_flag(lv_ui *ui); void setup_bottom_layer(void); void setup_ui(lv_ui *ui); void video_play(lv_ui *ui); void init_keyboard(lv_ui *ui); extern lv_ui guider_ui; void setup_scr_screen_main(lv_ui *ui); void setup_scr_SettingPage(lv_ui *ui); void setup_scr_FactorySettingPage(lv_ui *ui); void setup_scr_OTAPage(lv_ui *ui); LV_IMAGE_DECLARE(_back_RGB565A8_480x480); LV_IMAGE_DECLARE(_huise_RGB565A8_74x26); LV_IMAGE_DECLARE(_you_RGB565A8_30x30); LV_IMAGE_DECLARE(_auto_off_RGB565A8_80x80); LV_IMAGE_DECLARE(_auto_on_RGB565A8_80x80); LV_IMAGE_DECLARE(_xf_off_RGB565A8_80x80); LV_IMAGE_DECLARE(_xf_on_RGB565A8_80x80); LV_IMAGE_DECLARE(_js_off_RGB565A8_80x80); LV_IMAGE_DECLARE(_js_on_RGB565A8_80x80); LV_IMAGE_DECLARE(_nxh_off_RGB565A8_80x80); LV_IMAGE_DECLARE(_nxh_on_RGB565A8_80x80); LV_IMAGE_DECLARE(_power_RGB565A8_40x40); LV_IMAGE_DECLARE(_power_open_RGB565A8_40x40); LV_IMAGE_DECLARE(_speed_RGB565A8_20x20); LV_IMAGE_DECLARE(_hum_RGB565A8_20x20); LV_IMAGE_DECLARE(_WiFizhong_RGB565A8_20x21); LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_26) LV_FONT_DECLARE(lv_font_montserratMedium_16) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_16) LV_FONT_DECLARE(lv_font_iconfont_24) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_18) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_48) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_14) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_22) LV_FONT_DECLARE(lv_font_montserratMedium_12) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_12) LV_FONT_DECLARE(lv_font_iconfont_16) LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_20) LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_18) #ifdef __cplusplus } #endif #endif