setup_scr_OTAPage.c 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. /*
  2. * Copyright 2025 NXP
  3. * NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in
  4. * accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing,
  5. * activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to
  6. * comply with and are bound by, such license terms. If you do not agree to be bound by the applicable license
  7. * terms, then you may not retain, install, activate or otherwise use the software.
  8. */
  9. #include "lvgl.h"
  10. #include <stdio.h>
  11. #include "gui_guider.h"
  12. #include "events_init.h"
  13. #include "widgets_init.h"
  14. #include "custom.h"
  15. void setup_scr_OTAPage(lv_ui *ui)
  16. {
  17. //Write codes OTAPage
  18. ui->OTAPage = lv_obj_create(NULL);
  19. lv_obj_set_size(ui->OTAPage, 480, 480);
  20. lv_obj_set_scrollbar_mode(ui->OTAPage, LV_SCROLLBAR_MODE_OFF);
  21. //Write style for OTAPage, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  22. lv_obj_set_style_bg_opa(ui->OTAPage, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  23. lv_obj_set_style_bg_color(ui->OTAPage, lv_color_hex(0x1f1e23), LV_PART_MAIN|LV_STATE_DEFAULT);
  24. lv_obj_set_style_bg_grad_dir(ui->OTAPage, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
  25. //Write codes OTAPage_label_1
  26. ui->OTAPage_label_1 = lv_label_create(ui->OTAPage);
  27. lv_obj_set_pos(ui->OTAPage_label_1, 190, 42);
  28. lv_obj_set_size(ui->OTAPage_label_1, 100, 32);
  29. lv_label_set_text(ui->OTAPage_label_1, "系统更新");
  30. lv_label_set_long_mode(ui->OTAPage_label_1, LV_LABEL_LONG_WRAP);
  31. //Write style for OTAPage_label_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  32. lv_obj_set_style_border_width(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  33. lv_obj_set_style_radius(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  34. lv_obj_set_style_text_color(ui->OTAPage_label_1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
  35. lv_obj_set_style_text_font(ui->OTAPage_label_1, &lv_font_PuHui_ExtraBold_20, LV_PART_MAIN|LV_STATE_DEFAULT);
  36. lv_obj_set_style_text_opa(ui->OTAPage_label_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  37. lv_obj_set_style_text_letter_space(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  38. lv_obj_set_style_text_line_space(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  39. lv_obj_set_style_text_align(ui->OTAPage_label_1, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  40. lv_obj_set_style_bg_opa(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  41. lv_obj_set_style_pad_top(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  42. lv_obj_set_style_pad_right(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  43. lv_obj_set_style_pad_bottom(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  44. lv_obj_set_style_pad_left(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  45. lv_obj_set_style_shadow_width(ui->OTAPage_label_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  46. //Write codes OTAPage_label_2
  47. ui->OTAPage_label_2 = lv_label_create(ui->OTAPage);
  48. lv_obj_set_pos(ui->OTAPage_label_2, 76, 173);
  49. lv_obj_set_size(ui->OTAPage_label_2, 100, 32);
  50. lv_label_set_text(ui->OTAPage_label_2, "本地版本:");
  51. lv_label_set_long_mode(ui->OTAPage_label_2, LV_LABEL_LONG_WRAP);
  52. //Write style for OTAPage_label_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  53. lv_obj_set_style_border_width(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  54. lv_obj_set_style_radius(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  55. lv_obj_set_style_text_color(ui->OTAPage_label_2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
  56. lv_obj_set_style_text_font(ui->OTAPage_label_2, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  57. lv_obj_set_style_text_opa(ui->OTAPage_label_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  58. lv_obj_set_style_text_letter_space(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  59. lv_obj_set_style_text_line_space(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  60. lv_obj_set_style_text_align(ui->OTAPage_label_2, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  61. lv_obj_set_style_bg_opa(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  62. lv_obj_set_style_pad_top(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  63. lv_obj_set_style_pad_right(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  64. lv_obj_set_style_pad_bottom(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  65. lv_obj_set_style_pad_left(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  66. lv_obj_set_style_shadow_width(ui->OTAPage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  67. //Write codes OTAPage_label_3
  68. ui->OTAPage_label_3 = lv_label_create(ui->OTAPage);
  69. lv_obj_set_pos(ui->OTAPage_label_3, 76, 218);
  70. lv_obj_set_size(ui->OTAPage_label_3, 100, 32);
  71. lv_label_set_text(ui->OTAPage_label_3, "远程版本:");
  72. lv_label_set_long_mode(ui->OTAPage_label_3, LV_LABEL_LONG_WRAP);
  73. //Write style for OTAPage_label_3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  74. lv_obj_set_style_border_width(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  75. lv_obj_set_style_radius(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  76. lv_obj_set_style_text_color(ui->OTAPage_label_3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
  77. lv_obj_set_style_text_font(ui->OTAPage_label_3, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  78. lv_obj_set_style_text_opa(ui->OTAPage_label_3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  79. lv_obj_set_style_text_letter_space(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  80. lv_obj_set_style_text_line_space(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  81. lv_obj_set_style_text_align(ui->OTAPage_label_3, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  82. lv_obj_set_style_bg_opa(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  83. lv_obj_set_style_pad_top(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  84. lv_obj_set_style_pad_right(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  85. lv_obj_set_style_pad_bottom(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  86. lv_obj_set_style_pad_left(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  87. lv_obj_set_style_shadow_width(ui->OTAPage_label_3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  88. //Write codes OTAPage_lab_ota_current_version
  89. ui->OTAPage_lab_ota_current_version = lv_label_create(ui->OTAPage);
  90. lv_obj_set_pos(ui->OTAPage_lab_ota_current_version, 176, 173);
  91. lv_obj_set_size(ui->OTAPage_lab_ota_current_version, 178, 32);
  92. lv_label_set_text(ui->OTAPage_lab_ota_current_version, "v1.0.0");
  93. lv_label_set_long_mode(ui->OTAPage_lab_ota_current_version, LV_LABEL_LONG_WRAP);
  94. //Write style for OTAPage_lab_ota_current_version, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  95. lv_obj_set_style_border_width(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  96. lv_obj_set_style_radius(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  97. lv_obj_set_style_text_color(ui->OTAPage_lab_ota_current_version, lv_color_hex(0xffea06), LV_PART_MAIN|LV_STATE_DEFAULT);
  98. lv_obj_set_style_text_font(ui->OTAPage_lab_ota_current_version, &lv_font_montserratMedium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  99. lv_obj_set_style_text_opa(ui->OTAPage_lab_ota_current_version, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  100. lv_obj_set_style_text_letter_space(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  101. lv_obj_set_style_text_line_space(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  102. lv_obj_set_style_text_align(ui->OTAPage_lab_ota_current_version, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  103. lv_obj_set_style_bg_opa(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  104. lv_obj_set_style_pad_top(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  105. lv_obj_set_style_pad_right(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  106. lv_obj_set_style_pad_bottom(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  107. lv_obj_set_style_pad_left(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  108. lv_obj_set_style_shadow_width(ui->OTAPage_lab_ota_current_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  109. //Write codes OTAPage_lab_ota_remote_version
  110. ui->OTAPage_lab_ota_remote_version = lv_label_create(ui->OTAPage);
  111. lv_obj_set_pos(ui->OTAPage_lab_ota_remote_version, 176, 218);
  112. lv_obj_set_size(ui->OTAPage_lab_ota_remote_version, 178, 32);
  113. lv_label_set_text(ui->OTAPage_lab_ota_remote_version, "v2.0.1");
  114. lv_label_set_long_mode(ui->OTAPage_lab_ota_remote_version, LV_LABEL_LONG_WRAP);
  115. //Write style for OTAPage_lab_ota_remote_version, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  116. lv_obj_set_style_border_width(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  117. lv_obj_set_style_radius(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  118. lv_obj_set_style_text_color(ui->OTAPage_lab_ota_remote_version, lv_color_hex(0x06ff00), LV_PART_MAIN|LV_STATE_DEFAULT);
  119. lv_obj_set_style_text_font(ui->OTAPage_lab_ota_remote_version, &lv_font_montserratMedium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  120. lv_obj_set_style_text_opa(ui->OTAPage_lab_ota_remote_version, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  121. lv_obj_set_style_text_letter_space(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  122. lv_obj_set_style_text_line_space(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  123. lv_obj_set_style_text_align(ui->OTAPage_lab_ota_remote_version, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  124. lv_obj_set_style_bg_opa(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  125. lv_obj_set_style_pad_top(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  126. lv_obj_set_style_pad_right(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  127. lv_obj_set_style_pad_bottom(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  128. lv_obj_set_style_pad_left(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  129. lv_obj_set_style_shadow_width(ui->OTAPage_lab_ota_remote_version, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  130. //Write codes OTAPage_bar_ota_progress
  131. ui->OTAPage_bar_ota_progress = lv_bar_create(ui->OTAPage);
  132. lv_obj_set_pos(ui->OTAPage_bar_ota_progress, 50, 425);
  133. lv_obj_set_size(ui->OTAPage_bar_ota_progress, 380, 20);
  134. lv_obj_set_style_anim_duration(ui->OTAPage_bar_ota_progress, 1000, 0);
  135. lv_bar_set_mode(ui->OTAPage_bar_ota_progress, LV_BAR_MODE_NORMAL);
  136. lv_bar_set_range(ui->OTAPage_bar_ota_progress, 0, 100);
  137. lv_bar_set_value(ui->OTAPage_bar_ota_progress, 0, LV_ANIM_OFF);
  138. //Write style for OTAPage_bar_ota_progress, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  139. lv_obj_set_style_bg_opa(ui->OTAPage_bar_ota_progress, 60, LV_PART_MAIN|LV_STATE_DEFAULT);
  140. lv_obj_set_style_bg_color(ui->OTAPage_bar_ota_progress, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
  141. lv_obj_set_style_bg_grad_dir(ui->OTAPage_bar_ota_progress, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
  142. lv_obj_set_style_radius(ui->OTAPage_bar_ota_progress, 10, LV_PART_MAIN|LV_STATE_DEFAULT);
  143. lv_obj_set_style_shadow_width(ui->OTAPage_bar_ota_progress, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  144. //Write style for OTAPage_bar_ota_progress, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT.
  145. lv_obj_set_style_bg_opa(ui->OTAPage_bar_ota_progress, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT);
  146. lv_obj_set_style_bg_color(ui->OTAPage_bar_ota_progress, lv_color_hex(0x2195f6), LV_PART_INDICATOR|LV_STATE_DEFAULT);
  147. lv_obj_set_style_bg_grad_dir(ui->OTAPage_bar_ota_progress, LV_GRAD_DIR_NONE, LV_PART_INDICATOR|LV_STATE_DEFAULT);
  148. lv_obj_set_style_radius(ui->OTAPage_bar_ota_progress, 10, LV_PART_INDICATOR|LV_STATE_DEFAULT);
  149. //Write codes OTAPage_label_6
  150. ui->OTAPage_label_6 = lv_label_create(ui->OTAPage);
  151. lv_obj_set_pos(ui->OTAPage_label_6, 58, 372);
  152. lv_obj_set_size(ui->OTAPage_label_6, 363, 32);
  153. lv_label_set_text(ui->OTAPage_label_6, "正在进行设备升级,不要断开设备电源\n");
  154. lv_label_set_long_mode(ui->OTAPage_label_6, LV_LABEL_LONG_WRAP);
  155. //Write style for OTAPage_label_6, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  156. lv_obj_set_style_border_width(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  157. lv_obj_set_style_radius(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  158. lv_obj_set_style_text_color(ui->OTAPage_label_6, lv_color_hex(0xfffe00), LV_PART_MAIN|LV_STATE_DEFAULT);
  159. lv_obj_set_style_text_font(ui->OTAPage_label_6, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  160. lv_obj_set_style_text_opa(ui->OTAPage_label_6, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  161. lv_obj_set_style_text_letter_space(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  162. lv_obj_set_style_text_line_space(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  163. lv_obj_set_style_text_align(ui->OTAPage_label_6, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  164. lv_obj_set_style_bg_opa(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  165. lv_obj_set_style_pad_top(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  166. lv_obj_set_style_pad_right(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  167. lv_obj_set_style_pad_bottom(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  168. lv_obj_set_style_pad_left(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  169. lv_obj_set_style_shadow_width(ui->OTAPage_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  170. //Write codes OTAPage_btn_exit
  171. ui->OTAPage_btn_exit = lv_button_create(ui->OTAPage);
  172. lv_obj_set_pos(ui->OTAPage_btn_exit, 190, 271);
  173. lv_obj_set_size(ui->OTAPage_btn_exit, 100, 50);
  174. lv_obj_add_flag(ui->OTAPage_btn_exit, LV_OBJ_FLAG_HIDDEN);
  175. ui->OTAPage_btn_exit_label = lv_label_create(ui->OTAPage_btn_exit);
  176. lv_label_set_text(ui->OTAPage_btn_exit_label, "失败重启");
  177. lv_label_set_long_mode(ui->OTAPage_btn_exit_label, LV_LABEL_LONG_WRAP);
  178. lv_obj_align(ui->OTAPage_btn_exit_label, LV_ALIGN_CENTER, 0, 0);
  179. lv_obj_set_style_pad_all(ui->OTAPage_btn_exit, 0, LV_STATE_DEFAULT);
  180. lv_obj_set_width(ui->OTAPage_btn_exit_label, LV_PCT(100));
  181. //Write style for OTAPage_btn_exit, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
  182. lv_obj_set_style_bg_opa(ui->OTAPage_btn_exit, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  183. lv_obj_set_style_bg_color(ui->OTAPage_btn_exit, lv_color_hex(0xe70854), LV_PART_MAIN|LV_STATE_DEFAULT);
  184. lv_obj_set_style_bg_grad_dir(ui->OTAPage_btn_exit, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
  185. lv_obj_set_style_border_width(ui->OTAPage_btn_exit, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  186. lv_obj_set_style_radius(ui->OTAPage_btn_exit, 5, LV_PART_MAIN|LV_STATE_DEFAULT);
  187. lv_obj_set_style_shadow_width(ui->OTAPage_btn_exit, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
  188. lv_obj_set_style_text_color(ui->OTAPage_btn_exit, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
  189. lv_obj_set_style_text_font(ui->OTAPage_btn_exit, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
  190. lv_obj_set_style_text_opa(ui->OTAPage_btn_exit, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
  191. lv_obj_set_style_text_align(ui->OTAPage_btn_exit, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
  192. //The custom code of OTAPage.
  193. //Update current screen layout.
  194. lv_obj_update_layout(ui->OTAPage);
  195. //Init events for screen.
  196. events_init_OTAPage(ui);
  197. }