/* * 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. */ #include "lvgl.h" #include #include "gui_guider.h" #include "events_init.h" #include "widgets_init.h" #include "custom.h" void setup_scr_OTAPage(lv_ui *ui) { //Write codes OTAPage ui->OTAPage = lv_obj_create(NULL); lv_obj_set_size(ui->OTAPage, 480, 480); lv_obj_set_scrollbar_mode(ui->OTAPage, LV_SCROLLBAR_MODE_OFF); //Write style for OTAPage, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->OTAPage, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->OTAPage, lv_color_hex(0x1f1e23), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->OTAPage, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_label_1 ui->OTAPage_label_1 = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_label_1, 189, 49); lv_obj_set_size(ui->OTAPage_label_1, 100, 32); lv_label_set_text(ui->OTAPage_label_1, "系统更新"); lv_label_set_long_mode(ui->OTAPage_label_1, LV_LABEL_LONG_WRAP); //Write style for OTAPage_label_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_label_1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_label_1, &lv_font_Alibaba_PuHuiTi_Medium_20, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_label_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_label_1, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_label_2 ui->OTAPage_label_2 = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_label_2, 83, 177); lv_obj_set_size(ui->OTAPage_label_2, 100, 32); lv_label_set_text(ui->OTAPage_label_2, "本地版本"); lv_label_set_long_mode(ui->OTAPage_label_2, LV_LABEL_LONG_WRAP); //Write style for OTAPage_label_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_label_2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_label_2, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_label_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_label_2, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_label_3 ui->OTAPage_label_3 = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_label_3, 83, 222); lv_obj_set_size(ui->OTAPage_label_3, 100, 32); lv_label_set_text(ui->OTAPage_label_3, "远程版本"); lv_label_set_long_mode(ui->OTAPage_label_3, LV_LABEL_LONG_WRAP); //Write style for OTAPage_label_3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_label_3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_label_3, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_label_3, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_label_3, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_lab_ota_current_version ui->OTAPage_lab_ota_current_version = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_lab_ota_current_version, 193, 177); lv_obj_set_size(ui->OTAPage_lab_ota_current_version, 100, 32); lv_label_set_text(ui->OTAPage_lab_ota_current_version, "v1.0.0"); lv_label_set_long_mode(ui->OTAPage_lab_ota_current_version, LV_LABEL_LONG_WRAP); //Write style for OTAPage_lab_ota_current_version, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_lab_ota_current_version, lv_color_hex(0xffea06), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_lab_ota_current_version, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_lab_ota_current_version, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_lab_ota_current_version, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_lab_ota_remote_version ui->OTAPage_lab_ota_remote_version = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_lab_ota_remote_version, 193, 222); lv_obj_set_size(ui->OTAPage_lab_ota_remote_version, 100, 32); lv_label_set_text(ui->OTAPage_lab_ota_remote_version, "v2.0.1"); lv_label_set_long_mode(ui->OTAPage_lab_ota_remote_version, LV_LABEL_LONG_WRAP); //Write style for OTAPage_lab_ota_remote_version, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_lab_ota_remote_version, lv_color_hex(0x06ff00), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_lab_ota_remote_version, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_lab_ota_remote_version, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_lab_ota_remote_version, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_btn_exit ui->OTAPage_btn_exit = lv_button_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_btn_exit, 189, 311); lv_obj_set_size(ui->OTAPage_btn_exit, 100, 50); lv_obj_add_flag(ui->OTAPage_btn_exit, LV_OBJ_FLAG_HIDDEN); ui->OTAPage_btn_exit_label = lv_label_create(ui->OTAPage_btn_exit); lv_label_set_text(ui->OTAPage_btn_exit_label, "失败重启"); lv_label_set_long_mode(ui->OTAPage_btn_exit_label, LV_LABEL_LONG_WRAP); lv_obj_align(ui->OTAPage_btn_exit_label, LV_ALIGN_CENTER, 0, 0); lv_obj_set_style_pad_all(ui->OTAPage_btn_exit, 0, LV_STATE_DEFAULT); lv_obj_set_width(ui->OTAPage_btn_exit_label, LV_PCT(100)); //Write style for OTAPage_btn_exit, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->OTAPage_btn_exit, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->OTAPage_btn_exit, lv_color_hex(0xe70854), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->OTAPage_btn_exit, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->OTAPage_btn_exit, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_btn_exit, 5, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_btn_exit, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_btn_exit, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_btn_exit, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_btn_exit, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_btn_exit, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_label_4 ui->OTAPage_label_4 = lv_label_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_label_4, 86, 391); lv_obj_set_size(ui->OTAPage_label_4, 308, 32); lv_label_set_text(ui->OTAPage_label_4, "正在进行设备升级,不要断开设备电源\n"); lv_label_set_long_mode(ui->OTAPage_label_4, LV_LABEL_LONG_WRAP); //Write style for OTAPage_label_4, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->OTAPage_label_4, lv_color_hex(0xfffe00), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->OTAPage_label_4, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->OTAPage_label_4, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->OTAPage_label_4, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_label_4, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes OTAPage_bar_ota_progress ui->OTAPage_bar_ota_progress = lv_bar_create(ui->OTAPage); lv_obj_set_pos(ui->OTAPage_bar_ota_progress, 50, 427); lv_obj_set_size(ui->OTAPage_bar_ota_progress, 380, 20); lv_obj_set_style_anim_duration(ui->OTAPage_bar_ota_progress, 1000, 0); lv_bar_set_mode(ui->OTAPage_bar_ota_progress, LV_BAR_MODE_NORMAL); lv_bar_set_range(ui->OTAPage_bar_ota_progress, 0, 100); lv_bar_set_value(ui->OTAPage_bar_ota_progress, 0, LV_ANIM_OFF); //Write style for OTAPage_bar_ota_progress, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->OTAPage_bar_ota_progress, 60, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->OTAPage_bar_ota_progress, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->OTAPage_bar_ota_progress, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_bar_ota_progress, 10, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->OTAPage_bar_ota_progress, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write style for OTAPage_bar_ota_progress, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->OTAPage_bar_ota_progress, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->OTAPage_bar_ota_progress, lv_color_hex(0x2195f6), LV_PART_INDICATOR|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->OTAPage_bar_ota_progress, LV_GRAD_DIR_NONE, LV_PART_INDICATOR|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->OTAPage_bar_ota_progress, 10, LV_PART_INDICATOR|LV_STATE_DEFAULT); //The custom code of OTAPage. //Update current screen layout. lv_obj_update_layout(ui->OTAPage); //Init events for screen. events_init_OTAPage(ui); }