Explorar el Código

首版测试程序

lxd hace 1 mes
padre
commit
cd4318ddc4
Se han modificado 45 ficheros con 4321 adiciones y 6647 borrados
  1. 1 1
      CMakeLists.txt
  2. 108 157
      main/actions.c
  3. 3 0
      main/actions.h
  4. 70 64
      main/app/include/modbus_master.h
  5. 8 12
      main/app/include/setting.h
  6. 48 12
      main/app/include/xf_controller.h
  7. 49 50
      main/app/modbus_master.c
  8. 26 90
      main/app/setting.c
  9. 2 2
      main/app/sht30.c
  10. 396 214
      main/app/xf_controller.c
  11. 1 1
      main/framework/gateway/gateway_defs.h
  12. 2 2
      main/main.c
  13. 21 6
      main/ui/generated/events_init.c
  14. 26 77
      main/ui/generated/gui_guider.h
  15. 1 1
      main/ui/generated/guider_fonts/fonts_list.mk
  16. 808 245
      main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_16.c
  17. 78 85
      main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_18.c
  18. 101 659
      main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_20.c
  19. 71 105
      main/ui/generated/guider_fonts/lv_font_iconfont_24.c
  20. 72 86
      main/ui/generated/guider_fonts/lv_font_montserratMedium_16.c
  21. 1 1
      main/ui/generated/images/images_list.mk
  22. 0 0
      main/ui/generated/images/images_md5.json
  23. 117 945
      main/ui/generated/setup_scr_FactorySettingPage.c
  24. 1 1
      main/ui/generated/setup_scr_SettingPage.c
  25. 239 417
      main/ui/generated/setup_scr_screen_main.c
  26. 0 140
      main/ui/generated/widgets_init.c
  27. 0 30
      main/ui/generated/widgets_init.h
  28. 119 114
      server_cert/ssl.pem
  29. 415 331
      xfUI/XFJS/XFJS.guiguider
  30. 21 6
      xfUI/XFJS/generated/events_init.c
  31. 26 77
      xfUI/XFJS/generated/gui_guider.h
  32. 1 1
      xfUI/XFJS/generated/guider_fonts/fonts_list.mk
  33. 808 245
      xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_16.c
  34. 78 85
      xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_18.c
  35. 101 659
      xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_20.c
  36. 71 105
      xfUI/XFJS/generated/guider_fonts/lv_font_iconfont_24.c
  37. 72 86
      xfUI/XFJS/generated/guider_fonts/lv_font_montserratMedium_16.c
  38. 1 1
      xfUI/XFJS/generated/images/images_list.mk
  39. 0 0
      xfUI/XFJS/generated/images/images_md5.json
  40. 117 945
      xfUI/XFJS/generated/setup_scr_FactorySettingPage.c
  41. 1 1
      xfUI/XFJS/generated/setup_scr_SettingPage.c
  42. 239 417
      xfUI/XFJS/generated/setup_scr_screen_main.c
  43. 0 140
      xfUI/XFJS/generated/widgets_init.c
  44. 0 30
      xfUI/XFJS/generated/widgets_init.h
  45. 1 1
      xfUI/XFJS/temp/board.h

+ 1 - 1
CMakeLists.txt

@@ -3,6 +3,6 @@
 # The following five lines of boilerplate have to be in your project's
 # CMakeLists in this exact order for cmake to work correctly
 cmake_minimum_required(VERSION 3.16)
-set(PROJECT_VER "2025-07-17-V1.0.1")
+set(PROJECT_VER "2025-12-18-V1.0.6")
 include($ENV{IDF_PATH}/tools/cmake/project.cmake)
 project(wire-controller)

+ 108 - 157
main/actions.c

@@ -105,38 +105,26 @@ void on_slider_speed_value_changed(lv_event_t *e) {
 void on_slider_speed_released(lv_event_t *e) {
     int32_t value=lv_slider_get_value(guider_ui.screen_main_slider_speedSet_sign);
     lvgl_port_lock(-1);
-    if(value<=20)
+    if(value<=30)
     {
         lv_label_set_text_static(guider_ui.screen_main_label_spedSet_vul, "1档");
-        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,20,LV_ANIM_OFF);
+        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,30,LV_ANIM_OFF);
         xf_status.fan_speed=1;
-    }else if(value<=40)
+    }else if(value<=60)
     {
         lv_label_set_text_static(guider_ui.screen_main_label_spedSet_vul, "2档");
-        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,40,LV_ANIM_OFF);
+        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,60,LV_ANIM_OFF);
         xf_status.fan_speed=2;
-    }else if(value<=60)
+    }else if(value<=90)
     {
         lv_label_set_text_static(guider_ui.screen_main_label_spedSet_vul, "3档");
-        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,60,LV_ANIM_OFF);
+        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,90,LV_ANIM_OFF);
         xf_status.fan_speed=3;
-    }else if(value<=80)
-    {
-        lv_label_set_text_static(guider_ui.screen_main_label_spedSet_vul, "4档");
-        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,80,LV_ANIM_OFF);
-        xf_status.fan_speed=4;
-    }else if(value<=100)
-    {
-        lv_label_set_text_static(guider_ui.screen_main_label_spedSet_vul, "5档");
-        lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign,100,LV_ANIM_OFF);
-        xf_status.fan_speed=5;
     }else{
 
     }
     xf_set_fan_speed(true);
     lvgl_port_unlock();
-//    xf_set_fan_speed(true);
-//    mm_set_param(CID_FAN_SPEED, (uint8_t *)&xf_status.fan_speed);
 }
 /**
  * 滑块最大湿度值变化
@@ -201,8 +189,15 @@ void switch_screen_main_set(lv_event_t *e) {
     lv_ui * ui = lv_event_get_user_data(e);
 // 设置温度及滑动和风速状态
     lvgl_port_lock(-1);
+    if(xf_status.new_fan==2)
+    {
+        lv_obj_add_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    }else{
+        lv_obj_remove_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    }
+
     lv_label_set_text_fmt(ui->screen_main_label_humSet_vul, "%d%%",  xf_status.set_max_hum);
-    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*20, LV_ANIM_ON);
+    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*30, LV_ANIM_ON);
     lv_label_set_text_fmt(ui->screen_main_label_spedSet_vul, "%d档",xf_status.fan_speed);
     lv_slider_set_value(ui->screen_main_slider_humSet_sign, xf_status.set_max_hum, LV_ANIM_ON);
     set_xf_mode(ui, xf_status.mode);
@@ -238,14 +233,14 @@ void refresh_ui_error(lv_event_t *e)
     char str[320]={0};
     int index=0;
     lvgl_port_lock(-1);
-    if(xf_status.error_code==0)
+    if ((xf_status.js_error_code==0)&&(xf_status.cs_error_code==0))
     {
         lv_label_set_text_static(ui->FactorySettingPage_label_detail_error, "NONE");
     } else{
         index=0;
         for(int i=0;i<8;i++)
         {
-            if(xf_status.error_code&(1<<i))
+            if(xf_status.js_error_code&(1<<i))
             {
                 //sprintf(str,"%s:%s\n",xf_fault[i].code,xf_fault[i].description);
                 str[index++]='E';
@@ -258,6 +253,21 @@ void refresh_ui_error(lv_event_t *e)
                 str[index++]='\n';
             }
         }
+        for(int i=0;i<11;i++)
+        {
+            if(xf_status.cs_error_code&(1<<i))
+            {
+                //sprintf(str,"%s:%s\n",xf_fault[i].code,xf_fault[i].description);
+                str[index++]='E';
+                str[index++]='0'+i+1;
+                str[index++]=':';
+                for(int j=0;j<strlen((const char*)xf_CSFault[i].description);j++)
+                {
+                    str[index++]=xf_CSFault[i].description[j];
+                }
+                str[index++]='\n';
+            }
+        }
         str[index++]=0;
         lv_label_set_text(ui->FactorySettingPage_label_detail_error, str);
     }
@@ -269,20 +279,7 @@ void refresh_ui_error(lv_event_t *e)
  */
 void switch_factory_setting_page_set(lv_event_t *e) {
 
-    lv_ui * ui = lv_event_get_user_data(e);
-    lvgl_port_lock(-1);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply1_vol, system_setting.supply_first_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply2_vol, system_setting.supply_second_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply3_vol, system_setting.supply_third_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply4_vol, system_setting.supply_fourth_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply5_vol, system_setting.supply_fifth_vol);
 
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust1_vol, system_setting.exhaust_first_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust2_vol, system_setting.exhaust_second_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust3_vol, system_setting.exhaust_third_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust4_vol, system_setting.exhaust_fourth_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust5_vol, system_setting.exhaust_fifth_vol);
-    lvgl_port_unlock();
     refresh_ui_error(e);
 }
 
@@ -292,83 +289,9 @@ void switch_factory_setting_page_set(lv_event_t *e) {
  * @param e
  */
 void on_btn_filter_life_remain_clear(lv_event_t *e) {
-    xf_status.filter_used_time=0;
-    xf_status.filter_life_remaining=100;
     xf_set_filter_life_remain(true);
 }
 
-void on_fan_vol_refresh(lv_event_t *e)
-{
-    lv_ui * ui = lv_event_get_user_data(e);
-    esp_err_t err = mm_get_param(CID_AIR_EXHAUST_FIRST_VOL,  (uint8_t *)&system_setting.exhaust_first_vol);
-
-    mm_get_param(CID_AIR_EXHAUST_SECOND_VOL,  (uint8_t *)&system_setting.exhaust_second_vol);
-    mm_get_param(CID_AIR_EXHAUST_THIRD_VOL,  (uint8_t *)&system_setting.exhaust_third_vol);
-    mm_get_param(CID_AIR_EXHAUST_FOURTH_VOL,  (uint8_t *)&system_setting.exhaust_fourth_vol);
-    mm_get_param(CID_AIR_EXHAUST_FIFTH_VOL,  (uint8_t *)&system_setting.exhaust_fifth_vol);
-
-    mm_get_param(CID_AIR_SUPPLY_FIRST_VOL,  (uint8_t *)&system_setting.supply_first_vol);
-    mm_get_param(CID_AIR_SUPPLY_SECOND_VOL,  (uint8_t *)&system_setting.supply_second_vol);
-    mm_get_param(CID_AIR_SUPPLY_THIRD_VOL,  (uint8_t *)&system_setting.supply_third_vol);
-    mm_get_param(CID_AIR_SUPPLY_FOURTH_VOL,  (uint8_t *)&system_setting.supply_fourth_vol);
-    mm_get_param(CID_AIR_SUPPLY_FIFTH_VOL,  (uint8_t *)&system_setting.supply_fifth_vol);
-    lvgl_port_lock(-1);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply1_vol, system_setting.supply_first_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply2_vol, system_setting.supply_second_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply3_vol, system_setting.supply_third_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply4_vol, system_setting.supply_fourth_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_supply5_vol, system_setting.supply_fifth_vol);
-
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust1_vol, system_setting.exhaust_first_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust2_vol, system_setting.exhaust_second_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust3_vol, system_setting.exhaust_third_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust4_vol, system_setting.exhaust_fourth_vol);
-    lv_spinbox_set_value(ui->FactorySettingPage_spinbox_exhaust5_vol, system_setting.exhaust_fifth_vol);
-
-    lvgl_port_unlock();
-}
-
-void on_fan_vol_save(lv_event_t *e) {
-    lv_ui * ui = lv_event_get_user_data(e);
-    system_setting.exhaust_first_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_exhaust1_vol);
-    system_setting.exhaust_second_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_exhaust2_vol);
-    system_setting.exhaust_third_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_exhaust3_vol);
-    system_setting.exhaust_fourth_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_exhaust4_vol);
-    system_setting.exhaust_fifth_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_exhaust5_vol);
-
-    system_setting.supply_first_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_supply1_vol);
-    system_setting.supply_second_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_supply2_vol);
-    system_setting.supply_third_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_supply3_vol);
-    system_setting.supply_fourth_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_supply4_vol);
-    system_setting.supply_fifth_vol=lv_spinbox_get_value(ui->FactorySettingPage_spinbox_supply5_vol);
-//    ESP_LOGE(TAG, "exhaust_first_vol;%d", (uint8_t) system_setting.exhaust_first_vol);
-    mm_set_param(CID_AIR_EXHAUST_FIRST_VOL, (uint8_t *)&system_setting.exhaust_first_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_EXHAUST_SECOND_VOL, (uint8_t *)&system_setting.exhaust_second_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_EXHAUST_THIRD_VOL, (uint8_t *)&system_setting.exhaust_third_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_EXHAUST_FOURTH_VOL, (uint8_t *)&system_setting.exhaust_fourth_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_EXHAUST_FIFTH_VOL, (uint8_t *)&system_setting.exhaust_fifth_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-
-    mm_set_param(CID_AIR_SUPPLY_FIRST_VOL, (uint8_t *)&system_setting.supply_first_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_SUPPLY_SECOND_VOL, (uint8_t *)&system_setting.supply_second_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_SUPPLY_THIRD_VOL, (uint8_t *)&system_setting.supply_third_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_SUPPLY_FOURTH_VOL, (uint8_t *)&system_setting.supply_fourth_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-    mm_set_param(CID_AIR_SUPPLY_FIFTH_VOL, (uint8_t *)&system_setting.supply_fifth_vol);
-    vTaskDelay(pdTICKS_TO_MS(100));
-
-
-    save_system_setting(&system_setting);
-
-
-}
 // 设置界面切换顶部tab按钮时的事件
 void on_setting_tabview_changed(lv_event_t *e) {
 
@@ -436,6 +359,20 @@ void on_reset_factory_setting(lv_event_t *e) {
     // 重启设备
     esp_restart();
 }
+
+/**
+ * 手动新风开关
+ * @param e
+ */
+void on_new_fan_on_off(lv_event_t *e) {
+    lv_obj_t *obj = lv_event_get_current_target(e);
+    if (lv_obj_has_state(obj, LV_STATE_CHECKED)) {
+        xf_status.new_fan = 2;
+    } else {
+        xf_status.new_fan = 1;
+    }
+    set_new_fan(true);
+}
 //
 //void on_ac_page_arc_value_changed(lv_event_t *e) {
 //    lv_obj_t *arc = lv_event_get_current_target(e);
@@ -483,61 +420,20 @@ void on_set_xf_mode(lv_event_t *e) {
         }
     }
     lvgl_port_unlock();
-    if (act_cb == guider_ui.screen_main_imgbtn_nxh) {
-        xf_status.mode = NXH;
+    if (act_cb == guider_ui.screen_main_imgbtn_cs) {
+        xf_status.mode = CS;
     } else if (act_cb == guider_ui.screen_main_imgbtn_js) {
 
         xf_status.mode = JS;
-    } else if (act_cb == guider_ui.screen_main_imgbtn_xf) {
+    } else if (act_cb == guider_ui.screen_main_imgbtn_sf) {
 
-        xf_status.mode = XF;
-    } else if (act_cb == guider_ui.screen_main_imgbtn_auto)
-        xf_status.mode = AUTO;
+        xf_status.mode = SF;
+    }
+    // else if (act_cb == guider_ui.screen_main_imgbtn_auto)
+    //     xf_status.mode = AUTO;
     xf_set_mode(true);
 }
-//
-//void on_set_ac_wind_speed(lv_event_t *e) {
-//    lv_obj_t *slider = (lv_obj_t *) lv_event_get_current_target(e);
-//    int32_t value = lv_slider_get_value(slider);
-//    // 设置风速文本
-//    lvgl_port_lock(0);
-//    lv_label_set_text_static(guider_ui.ACPage_lab_fan_speed, speed_str[value - 1]);
-//    lvgl_port_unlock();
-//}
-//
-//void on_ac_set_fan_speed_released(lv_event_t *e) {
-//    lv_obj_t *slider = (lv_obj_t *) lv_event_get_current_target(e);
-//    int32_t value = lv_slider_get_value(slider);
-//    ac_status.wind_speed = (uint16_t) value;
-//    ac_set_wind_speed(true);
-//}
-//
-//void on_fan_valve_value_changed(lv_event_t *e) {
-//    uint8_t *valve_index = lv_event_get_user_data(e);
-//    lv_obj_t *slider = (lv_obj_t *) lv_event_get_current_target(e);
-//    int32_t value = lv_slider_get_value(slider);
-//    ac_set_fan_valve(*valve_index, value);
-//    ESP_LOGD(TAG, "on_fan_valve_value_changed:%d", *valve_index);
-//}
-//
-//void on_set_fan_valve_no_changed(lv_event_t *e) {
-//    fan_valve_set_param_t *param = lv_event_get_user_data(e);
-//    ESP_LOGD(TAG, "%d-%d", param->ctrl_no, param->fan_valve_no);
-//    lv_obj_t *obj = lv_event_get_current_target(e);
-//    uint8_t v = lv_obj_has_state(obj, LV_STATE_CHECKED) ? 1 : 0;
-//    save_fan_valve_setting(&system_setting, param->ctrl_no, param->fan_valve_no - 1, v);
-//}
-//
-//void on_ac_page_set_power(lv_event_t *e) {
-//    lv_obj_t *obj = lv_event_get_current_target(e);
-//    if (lv_obj_has_state(obj, LV_STATE_CHECKED)) {
-//        ac_status.power = 1;
-//    } else {
-//        ac_status.power = 0;
-//    }
-//    ac_set_power(false);
-//}
-//
+
 void on_set_beep_on_off(lv_event_t * e) {
     lv_obj_t *obj = lv_event_get_current_target(e);
     if (lv_obj_has_state(obj, LV_STATE_CHECKED)) {
@@ -566,6 +462,10 @@ void on_set_beep_volume(lv_event_t* e) {
     save_system_setting(&system_setting);
 }
 
+void on_set_xf_mode_volume(lv_ui *ui) {
+
+}
+
 void on_set_screen_off_minute(lv_event_t * e) {
     lv_obj_t *spbox = lv_event_get_current_target(e);
     int32_t value =  lv_spinbox_get_value(spbox);
@@ -601,4 +501,55 @@ void on_reset_wifi(lv_event_t *e) {
 }
 void on_restart_device(lv_event_t *e) {
     esp_restart();
+}
+/**
+ *
+ * @param e
+ */
+void on_refresh_set_on_off(lv_event_t *e) {
+    lv_obj_t *obj = lv_event_get_current_target(e);
+    switch (system_setting.mould_proof_runtime) {
+        case 10:
+            lv_dropdown_set_selected(guider_ui.FactorySettingPage_ddlist_proof_set, 0);
+            break;
+        case 20:
+            lv_dropdown_set_selected(guider_ui.FactorySettingPage_ddlist_proof_set, 1);
+            break;
+        case 30:
+            lv_dropdown_set_selected(guider_ui.FactorySettingPage_ddlist_proof_set, 2);
+            break;
+        case 60:
+            lv_dropdown_set_selected(guider_ui.FactorySettingPage_ddlist_proof_set, 3);
+            break;
+        default:
+            lv_dropdown_set_selected(guider_ui.FactorySettingPage_ddlist_proof_set, 3);
+            break;
+    }
+}
+/**
+ *
+ * @param e
+ */
+void on_asve_set_on_off(lv_event_t *e) {
+    uint32_t select;
+    lv_obj_t *obj = lv_event_get_current_target(e);
+    select=lv_dropdown_get_selected(guider_ui.FactorySettingPage_ddlist_proof_set);
+    switch (select) {
+        case 0:
+            system_setting.mould_proof_runtime = 10;
+            break;
+        case 1:
+            system_setting.mould_proof_runtime = 20;
+            break;
+        case 2:
+            system_setting.mould_proof_runtime = 30;
+            break;
+        case 3:
+            system_setting.mould_proof_runtime = 60;
+            break;
+        default:
+            system_setting.mould_proof_runtime = 60;
+            break;
+    }
+   nvs_set_uint8(system_setting.mould_proof_runtime, NVS_MOULD_PROOF_RUNTIME);
 }

+ 3 - 0
main/actions.h

@@ -157,5 +157,8 @@ void on_restart_device(lv_event_t * e);
 void on_reset_wifi(lv_event_t *e);
 void setting_page_init(lv_ui *ui);
 void on_ota_failed_restart(lv_event_t *e);
+void on_new_fan_on_off(lv_event_t *e);
+void on_refresh_set_on_off(lv_event_t *e);
+void on_asve_set_on_off(lv_event_t *e) ;
 #endif //WIRE_CONTROLLER_ACTIONS_H
 

+ 70 - 64
main/app/include/modbus_master.h

@@ -14,80 +14,86 @@
 #define MB_GPIO_RX 2 // uart rx gpio port
 #define MB_GPIO_TX 1 // uart tx gpio port
 
-#define POWER_ADDRESS_REGISTER 1 // 电源地址
-#define MODE_ADDRESS_REGISTER 2 // 运行模式
-#define FAN_SPEED_ADDRESS_REGISTER 3 // 风机档位
-#define EXTERNAL_TEMPERATURE_ADDRESS_REGISTER 4 // 外部传感器温度
-#define EXTERNAL_HUMIDITY_ADDRESS_REGISTER 5 // 外部传感器湿度
-#define RETURN_AIR_TEMPERATURE_ADDRESS_REGISTER 6 // 回风温度
-#define RETURN_AIR_HUMIDITY_ADDRESS_REGISTER 7 // 回风湿度
-#define RETURN_AIR_PM25_ADDRESS_REGISTER 8 // 回风PM2.5
-#define RETURN_AIR_CO2_ADDRESS_REGISTER 9 // 回风CO2
-#define SELECT_POSITION_ADDRESS_REGISTER 10 // 选择位置
-#define MIN_HUMIDITY_ADDRESS_REGISTER 11 // 最小湿度
-#define MAX_HUMIDITY_ADDRESS_REGISTER 12 // 最大湿度
-#define AIR_EXHAUST_FIRST_VOL_ADDRESS_REGISTER 13 //  排风风机一档电压
-#define AIR_EXHAUST_SECOND_VOL_ADDRESS_REGISTER 14 //  排风风机二档电压
-#define AIR_EXHAUST_THIRD_VOL_ADDRESS_REGISTER 15 //  排风风机三档电压
-#define AIR_EXHAUST_FOURTH_VOL_ADDRESS_REGISTER 16 //  排风风机四档电压
-#define AIR_EXHAUST_FIFTH_VOL_ADDRESS_REGISTER 17 //  排风风机五档电压
-
-#define AIR_SUPPLY_FIRST_VOL_ADDRESS_REGISTER 18 //  送风风机一档电压
-#define AIR_SUPPLY_SECOND_VOL_ADDRESS_REGISTER 19 //  送风风机二档电压
-#define AIR_SUPPLY_THIRD_VOL_ADDRESS_REGISTER 20 //  送风风机三档电压
-#define AIR_SUPPLY_FOURTH_VOL_ADDRESS_REGISTER 21 //  送风风机四档电压
-#define AIR_SUPPLY_FIFTH_VOL_ADDRESS_REGISTER 22 //  送风风机五档电压
-#define ERROR_CODE_ADDRESS_REGISTER 32 // 错误码
+#define CS_POWER_ADDRESS_REGISTER 0x0014 // 电源地址
+#define JS_POWER_ADDRESS_REGISTER 1 // 电源地址
+
+#define CS_MODE_ADDRESS_REGISTER 0x0015 // 运行模式
+#define JS_MODE_ADDRESS_REGISTER 2 // 运行模式
+
+#define FAN_CS_SPEED_ADDRESS_REGISTER 0x0016 // 风机档位
+#define FAN_JS_SPEED_ADDRESS_REGISTER 0x0003 // 风机档位
+
+#define JS_MIN_HUMIDITY_ADDRESS_REGISTER 11 // 最小湿度
+#define JS_MAX_HUMIDITY_ADDRESS_REGISTER 12 // 最大湿度
+#define CS_SET_HUMIDITY_ADDRESS_REGISTER 0x0017 // 最大湿度
+
+#define JS_ERROR_CODE_ADDRESS_REGISTER 32 // 错误码
+#define CS_ERROR_CODE_ADDRESS_REGISTER 0x0007 // 错误码
+//低效滤网
+#define CS_INEFFICIENT_FILTER_SIGN_ADDRESS_REGISTER 0x0005
+//高效滤网
+#define CS_HEPA_FILTER_SIGN_ADDRESS_REGISTER 0x0006
+
+#define JS_EXTERNAL_HUMIDITY_ADDRESS_REGISTER 5
+#define JS_SELECT_POSITION_ADDRESS_REGISTER 10
+#define JS_MOULD_PROOF_MODE_TIME_ADDRESS_REGISTER 35
+//除湿机低效滤网寿命设置
+#define CS_INEFFICIENT_FILTER_SET_TIME 0x0018
+
+//除湿机高效滤网寿命设置
+#define CS_HEPA_FILTER_SET_TIME 0x0019
+//除湿机低效滤网使用时间
+#define CS_INEFFICIENT_FILTER_USED_TIME 0x000B
+//除湿机高效滤网使用时间
+#define CS_HEPA_FILTER_USED_TIME 0x000C
+//除湿机低效滤网重置
+#define CS_INEFFICIENT_FILTER_RESET 0x001A
+
+//除湿机高效滤网重置
+#define CS_HEPA_FILTER_RESET 0x001B
+
+
 
 
 // 定义协议 CID 表
 enum {
     // 开关机
-    CID_POWER = 0,
+    CID_CS_POWER = 0,
+    CID_JS_POWER ,
     // 工作模式
-    CID_MODE,
+    CID_CS_MODE,
+    CID_JS_MODE,
     // 送风风速
-    CID_FAN_SPEED,
-    // 外部温度
-    CID_EXTERNAL_TEMPERATURE,
-    // 外部湿度
-    CID_EXTERNAL_HUMIDITY,
-    // 回风湿度
-    CID_RETURN_AIR_TEMPERATURE,
-    // 回风湿度
-    CID_RETURN_AIR_HUMIDITY,
-    // 回风PM2.5
-    CID_RETURN_AIR_PM25,
-    // 回风CO2
-    CID_RETURN_AIR_CO2,
-    // 选择位置
-    CID_SELECT_POSITION,
+    CID_CS_FAN_SPEED,    // 送风风速
+    CID_JS_FAN_SPEED,
     // 最小湿度
-    CID_MIN_HUMIDITY,
+    CID_JS_MIN_HUMIDITY,
     // 最大湿度
-    CID_MAX_HUMIDITY,
-    // 排风一档
-    CID_AIR_EXHAUST_FIRST_VOL,
-    // 排风二档
-    CID_AIR_EXHAUST_SECOND_VOL,
-    // 排风三档
-    CID_AIR_EXHAUST_THIRD_VOL,
-    // 排风四档
-    CID_AIR_EXHAUST_FOURTH_VOL,
-    // 排风五档
-    CID_AIR_EXHAUST_FIFTH_VOL,
-    // 送风一档
-    CID_AIR_SUPPLY_FIRST_VOL,
-    // 送风二档
-    CID_AIR_SUPPLY_SECOND_VOL,
-    // 送风三档
-    CID_AIR_SUPPLY_THIRD_VOL,
-    // 送风四档
-    CID_AIR_SUPPLY_FOURTH_VOL,
-    // 送风五档
-    CID_AIR_SUPPLY_FIFTH_VOL,
+    CID_JS_MAX_HUMIDITY,
+    CID_CS_SET_HUMIDITY,
     // 故障码
-    CID_ERROR_CODE,
+    CID_CS_ERROR_CODE,
+    CID_JS_ERROR_CODE,
+    //低效滤网
+    CID_CS_INEFFICIENT_FILTER_SIGN,
+    //高效滤网
+    CID_CS_HEPA_FILTER_SIGN,
+    //给驾加湿模块写入的当前湿度
+    CID_JS_EXTERNAL_HUMIDITY,
+    //防霉模式时间mould_proof_mode
+    CID_JS_MOULD_PROOF_MODE_TIME,
+    //除湿机低效滤网寿命设置
+    CID_CS_INEFFICIENT_FILTER_SET_TIME,
+    //除湿机高效滤网寿命设置
+    CID_CS_HEPA_FILTER_SET_TIME,
+    //除湿机低效滤网使用时间
+    CID_CS_INEFFICIENT_FILTER_USED_TIME,
+    //除湿机高效滤网使用时间
+    CID_CS_HEPA_FILTER_USED_TIME,
+    //除湿机低效滤网重置
+    CID_CS_INEFFICIENT_FILTER_RESET,
+    //除湿机高效滤网寿命重置
+    CID_CS_HEPA_FILTER_RESET,
     //预留
     CID_RESERVE,
 

+ 8 - 12
main/app/include/setting.h

@@ -28,11 +28,16 @@
 #define AIR_SUPPLY_FIFTH_VOL "supply_fifth_vol" //  送风风机五档电压
 #define NVS_REPORT_DATA_DURATION "report_dur" // 上报数据间隔
 
+#define NVS_MOULD_PROOF_RUNTIME "mould_proof_runtime"//防霉模式
+
 #define NVS_SOUND_ON_OFF_KEY "S_ON_OFF"
 #define NVS_SCREEN_AUTO_OFF_KEY "SCREEN_A_O"
 #define NVS_SOUND_VOLUME_KEY "S_VOLUME"
 #define NVS_SCREEN_OFF_MINUTE_KEY "SCREEN_O_M"
 #define NVS_SCREEN_ON_OFF "scr_on_off" // 屏幕当前状态
+#define NVS_SLAVE_ADDR "slave_addr" //
+#define NVS_DEVIC_TYPE "devic_type" //
+
 /**
  * 定义系统设定参数结构体
  */
@@ -40,25 +45,16 @@ typedef struct {
     uint16_t set_min_hum;
     uint8_t filter_life_remaining;
     uint16_t filter_life_time;
-
-    uint16_t exhaust_first_vol;
-    uint16_t exhaust_second_vol;
-    uint16_t exhaust_third_vol;
-    uint16_t exhaust_fourth_vol;
-    uint16_t exhaust_fifth_vol;
-
-    uint16_t supply_first_vol;
-    uint16_t supply_second_vol;
-    uint16_t supply_third_vol;
-    uint16_t supply_fourth_vol;
-    uint16_t supply_fifth_vol;
     uint8_t sound_on_off; // 声音开关
     uint8_t screen_auto_off; // 是否自动关屏
     uint8_t sound_volume; // 声音音量大小
     uint8_t screen_off_minute; // 屏幕自动关屏时间
     uint8_t timer_status;    // 定时器状态
     uint8_t duration;        // 定时器时间
+    uint8_t mould_proof_runtime;
     uint8_t report_data_duration;
+    uint8_t devic_type;
+    uint8_t slave_addr;
 } system_setting_t;
 
 /**

+ 48 - 12
main/app/include/xf_controller.h

@@ -12,21 +12,35 @@
 #include "esp_err.h"
 
 #define NVS_POWER_CONTROLLER "power" // 电源
+
 #define NVS_MODEL_CONTROLLER "model" // 工作模式
 #define NVS_FAN_SPEED_SET "fan_speed" // 风速挡位
 
 #define NVS_FILTER_USED_TIME "filter" //滤芯已使用时间
 #define NVS_MAX_HUM_SET  "set_max_hum" // 自动模式下最大湿度
 #define NVS_MIN_HUM_SET  "set_min_hum" // 自动模式下最小湿度
-// 风口序号
-enum {
-    FAN_VALVE_1 = 1,
-    FAN_VALVE_2,
-    FAN_VALVE_3,
-    FAN_VALVE_4,
-    FAN_VALVE_5,
-};
+#define NVS_NEW_FAN   "new_fan" // 新风开关
+
+typedef struct {
+    uint16_t power; // 电源状态
+    uint16_t mode;
+    uint16_t fan_speed;
+    uint16_t filter_used_time;
+    uint16_t set_max_hum;
+    uint16_t set_min_hum;
+    uint8_t filter_life_remaining;
+    uint8_t error_code;
+}js_module_status_t;
 
+typedef struct {
+    uint16_t power; // 电源状态
+    uint16_t mode;
+    uint16_t fan_speed;
+    uint16_t filter_used_time;
+    uint16_t set_hum;
+    uint8_t filter_life_remaining;
+    uint8_t error_code;
+}xfcs_status_t;
 /**
  * 定义保存空调设置参数的结构体
  */
@@ -37,7 +51,14 @@ typedef struct {
     uint16_t filter_used_time;
     uint16_t set_max_hum;
     uint8_t filter_life_remaining;
-    uint8_t error_code;
+    uint8_t js_error_code;
+    uint8_t cs_error_code;
+    uint8_t new_fan;//新风开关
+    uint8_t filter_change_flag;//
+    xfcs_status_t xfcs_status;//新风除湿机状态
+    js_module_status_t js_module_status;//加湿模块状态
+    uint8_t proof_mode;
+    uint8_t filter_reset_flag;
 }xf_status_t;
 
 typedef struct {
@@ -45,12 +66,23 @@ typedef struct {
     uint8_t description[32];
 }xf_fault_t;
 enum {
-    NXH = 1,
+    CS = 1,
     JS=3,
-    XF=2,
+    SF=2,
     AUTO=4,
 };
+
+enum {
+    XFCS_XF = 1,
+    XFCS_XFCS=2,
+    XFCS_NXHCS=3,
+    XFCS_NXH=4,
+};
+enum {
+    JS_JS = 3,
+};
 extern xf_fault_t xf_fault[9];
+extern xf_fault_t xf_CSFault[];
 void stop_xf_controller();
 // 保存当前空调状态
 extern xf_status_t xf_status;
@@ -96,7 +128,11 @@ esp_err_t ac_set_fan_valve(uint8_t no, uint16_t degree);
  * 注册云端指令
  */
 void register_sparrow_commands(void);
+/**
+ * 手动新风
+ *
+ */
+esp_err_t set_new_fan(bool saved);
 esp_err_t xf_set_max_hum(bool saved);
 void read_xf_status(system_setting_t *setting);
-void timer_init_lx();
 #endif //WIRE_CONTROLLER_XF_CONTROLLER_H

+ 49 - 50
main/app/modbus_master.c

@@ -6,14 +6,17 @@
  */
 #include <esp_err.h>
 #include "modbus_master.h"
+
+#include "main.h"
 #include "mbcontroller.h"
 
 #define OPTS(min_val, max_val, step_val) { .opt1 = min_val, .opt2 = max_val, .opt3 = step_val }
 static const char *TAG = "MODBUS_MASTER";
 
 enum {
-    // 分风箱主板从站号
-    MB_DEVICE_XFJS_ADDR = 10,
+    //
+    MB_DEVICE_JS_ADDR = 7,
+    MB_DEVICE_CS_ADDR = 20,
 
 };
 static void *master_handle = NULL;
@@ -38,54 +41,50 @@ static void *master_handle = NULL;
 #define STR(fieldname) ((const char *)( fieldname ))
 
 
-const mb_parameter_descriptor_t device_parameters[] = {
+ mb_parameter_descriptor_t device_parameters[] = {
         // { CID, Param Name, Units, Modbus Slave Addr, Modbus Reg Type, Reg Start, Reg Size, Instance Offset, Data Type, Data Size, Parameter Options, Access Mode}
-        {CID_POWER,        STR("power"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                POWER_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_MODE,        STR("mode"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                MODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_FAN_SPEED,   STR("fan_speed"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                FAN_SPEED_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_EXTERNAL_TEMPERATURE,   STR("external_temperature"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                EXTERNAL_TEMPERATURE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_EXTERNAL_HUMIDITY,   STR("external_humidity"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                EXTERNAL_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_RETURN_AIR_TEMPERATURE,   STR("return_air_temperature"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                RETURN_AIR_TEMPERATURE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_RETURN_AIR_HUMIDITY,   STR("return_air_humidity"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                RETURN_AIR_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_RETURN_AIR_PM25,   STR("return_air_pm25"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                RETURN_AIR_PM25_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_RETURN_AIR_CO2,   STR("return_air_co2"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                RETURN_AIR_CO2_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_SELECT_POSITION,   STR("select_position"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                SELECT_POSITION_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_MIN_HUMIDITY,   STR("min_humidity"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                MIN_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_MAX_HUMIDITY,   STR("max_humidity"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                MAX_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_EXHAUST_FIRST_VOL,   STR("air_exhaust_first_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_EXHAUST_FIRST_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_EXHAUST_SECOND_VOL,   STR("air_exhaust_second_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_EXHAUST_SECOND_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_EXHAUST_THIRD_VOL,   STR("air_exhaust_third_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_EXHAUST_THIRD_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_EXHAUST_FOURTH_VOL,   STR("air_exhaust_fourth_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_EXHAUST_FOURTH_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_EXHAUST_FIFTH_VOL,   STR("air_exhaust_fifth_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_EXHAUST_FIFTH_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_SUPPLY_FIRST_VOL,   STR("air_supply_first_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_SUPPLY_FIRST_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_SUPPLY_SECOND_VOL,   STR("air_supply_second_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_SUPPLY_SECOND_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_SUPPLY_THIRD_VOL,   STR("air_supply_third_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_SUPPLY_THIRD_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_SUPPLY_FOURTH_VOL,   STR("air_supply_fourth_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_SUPPLY_FOURTH_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_AIR_SUPPLY_FIFTH_VOL,   STR("air_supply_fifth_vol"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                AIR_SUPPLY_FIFTH_VOL_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
-        {CID_ERROR_CODE,   STR("error_code"),        STR(""), MB_DEVICE_XFJS_ADDR, MB_PARAM_HOLDING,
-                ERROR_CODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_POWER,        STR("cs_power"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                CS_POWER_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_POWER,        STR("js_power"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                JS_POWER_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_MODE,        STR("cs_mode"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                CS_MODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_MODE,        STR("js_mode"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                JS_MODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_FAN_SPEED,   STR("cs_fan_speed"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                FAN_CS_SPEED_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+         {CID_JS_FAN_SPEED,   STR("cs_fan_speed"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                FAN_JS_SPEED_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_MIN_HUMIDITY,   STR("js_min_humidity"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                JS_MIN_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_MAX_HUMIDITY,   STR("js_max_humidity"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                JS_MAX_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_SET_HUMIDITY,   STR("cs_set_humidity"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                CS_SET_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_ERROR_CODE,   STR("cs_error_code"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+            CS_ERROR_CODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_ERROR_CODE,   STR("js_error_code"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                JS_ERROR_CODE_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_INEFFICIENT_FILTER_SIGN,   STR("inefficient_filter_sign"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                CS_INEFFICIENT_FILTER_SIGN_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_HEPA_FILTER_SIGN,   STR("hepa_filer_sigh"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                CS_HEPA_FILTER_SIGN_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_EXTERNAL_HUMIDITY,   STR("external_humidity"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                        JS_EXTERNAL_HUMIDITY_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_JS_MOULD_PROOF_MODE_TIME,   STR("proof_mode_time"),        STR(""), MB_DEVICE_JS_ADDR, MB_PARAM_HOLDING,
+                        JS_MOULD_PROOF_MODE_TIME_ADDRESS_REGISTER,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_INEFFICIENT_FILTER_SET_TIME,   STR("inefficient_fileter_set"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                        CS_INEFFICIENT_FILTER_SET_TIME,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_HEPA_FILTER_SET_TIME,   STR("hepa_fileter_set"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                        CS_HEPA_FILTER_SET_TIME,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_INEFFICIENT_FILTER_USED_TIME,   STR("inefficient_fileter_used"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                        CS_INEFFICIENT_FILTER_USED_TIME,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_HEPA_FILTER_USED_TIME,   STR("hepa_fileter_used"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                        CS_HEPA_FILTER_USED_TIME,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_INEFFICIENT_FILTER_RESET,   STR("inefficient_fileter_reset"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                 CS_INEFFICIENT_FILTER_RESET,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
+        {CID_CS_HEPA_FILTER_RESET,   STR("hepa_fileter_reset"),        STR(""), MB_DEVICE_CS_ADDR, MB_PARAM_HOLDING,
+                 CS_HEPA_FILTER_RESET,        1, 0, PARAM_TYPE_U16, 2, OPTS(0, 0, 0), PAR_PERMS_READ_WRITE},
 
 
 };
@@ -189,7 +188,7 @@ void modbus_master_task(void *arg) {
 }
 
  void modbus_master_init() {
-    ESP_LOGI(TAG, "Modbus master init...");
+    ESP_LOGI(TAG, "Modbus master init...1");
     ESP_ERROR_CHECK(master_init());
     vTaskDelay(10);
     //xTaskCreatePinnedToCore(modbus_master_task, "modbus_master_task", 4 * 1024, NULL, 5, NULL, 1);

+ 26 - 90
main/app/setting.c

@@ -13,7 +13,8 @@
 #include "gui_guider.h"
 #define DEFAULT_REPORT_DURATION 30
 #define DEFAULT_MIN_HUM 30
-#define FILTER_LIFE_TIME_VALVE 51840//六个月,每五分钟计数加一
+#define FILTER_LIFE_TIME_VALVE 51840//六个月,每五分钟计数加一(4320个小时)
+
 
 static const char *TAG = "system_setting";
 lv_timer_t * screen_timer;
@@ -24,17 +25,6 @@ void read_system_setting(system_setting_t *setting) {
 
     uint8_t *min_hum_valve = nvs_get_uint8(NVS_MIN_HUM);
     uint32_t *filter_life_time_valve = nvs_get_uint32(FILTER_LIFE_TIME);
-    uint8_t *air_exhaust_first_vol = nvs_get_uint8(AIR_EXHAUST_FIRST_VOL);
-    uint8_t *air_exhaust_second_vol = nvs_get_uint8(AIR_EXHAUST_SECOND_VOL);
-    uint8_t *air_exhaust_third_vol = nvs_get_uint8(AIR_EXHAUST_THIRD_VOL);
-    uint8_t *air_exhaust_fourth_vol = nvs_get_uint8(AIR_EXHAUST_FOURTH_VOL);
-    uint8_t *air_exhaust_fifth_vol = nvs_get_uint8(AIR_EXHAUST_FIFTH_VOL);
-
-    uint8_t *air_supply_first_vol = nvs_get_uint8(AIR_SUPPLY_FIRST_VOL);
-    uint8_t *air_supply_second_vol = nvs_get_uint8(AIR_SUPPLY_SECOND_VOL);
-    uint8_t *air_supply_third_vol = nvs_get_uint8(AIR_SUPPLY_THIRD_VOL);
-    uint8_t *air_supply_fourth_vol = nvs_get_uint8(AIR_SUPPLY_FOURTH_VOL);
-    uint8_t *air_supply_fifth_vol = nvs_get_uint8(AIR_SUPPLY_FIFTH_VOL);
     uint8_t *report_duration = nvs_get_uint8(NVS_REPORT_DATA_DURATION);
 
     uint8_t *screen_auto_off = nvs_get_uint8(NVS_SCREEN_AUTO_OFF_KEY);
@@ -44,6 +34,14 @@ void read_system_setting(system_setting_t *setting) {
     } else {
         setting->screen_auto_off = *screen_auto_off;
     }
+    uint8_t *_mould_proof_runtime = nvs_get_uint8(NVS_MOULD_PROOF_RUNTIME);
+    if (_mould_proof_runtime == NULL) {
+        nvs_set_uint8(1, NVS_MOULD_PROOF_RUNTIME);
+        // setting->mould_proof_runtime = 1;//测试
+        setting->mould_proof_runtime = 60;
+    } else {
+        setting->mould_proof_runtime = *_mould_proof_runtime;
+    }
     uint8_t *screen_off_minute = nvs_get_uint8(NVS_SCREEN_OFF_MINUTE_KEY);
     if (screen_off_minute == NULL) {
         nvs_set_uint8(1, NVS_SCREEN_OFF_MINUTE_KEY);
@@ -65,73 +63,6 @@ void read_system_setting(system_setting_t *setting) {
     } else {
         setting->sound_volume = *sound_volume;
     }
-    if (min_hum_valve == NULL) {
-        nvs_set_uint8(DEFAULT_MIN_HUM, NVS_MIN_HUM);
-        setting->exhaust_first_vol = DEFAULT_MIN_HUM;
-    } else {
-        setting->exhaust_first_vol = *min_hum_valve;
-    }
-    if (air_exhaust_first_vol == NULL) {
-         nvs_set_uint32(air_exhaust_fan_vol[0], AIR_EXHAUST_FIRST_VOL);
-        setting->exhaust_first_vol = air_exhaust_fan_vol[0];
-    } else {
-        setting->exhaust_first_vol = *air_exhaust_first_vol;
-    }
-    if (air_exhaust_second_vol == NULL) {
-        nvs_set_uint32(air_exhaust_fan_vol[1], AIR_EXHAUST_SECOND_VOL);
-        setting->exhaust_second_vol = air_exhaust_fan_vol[1];
-    } else {
-        setting->exhaust_second_vol = *air_exhaust_second_vol;
-    }
-    if (air_exhaust_third_vol == NULL) {
-        nvs_set_uint32(air_exhaust_fan_vol[2], AIR_EXHAUST_THIRD_VOL);
-        setting->exhaust_third_vol = air_exhaust_fan_vol[2];
-    } else {
-        setting->exhaust_third_vol = *air_exhaust_third_vol;
-    }
-    if (air_exhaust_fourth_vol == NULL) {
-        nvs_set_uint32(air_exhaust_fan_vol[3], AIR_EXHAUST_FOURTH_VOL);
-        setting->exhaust_fourth_vol = air_exhaust_fan_vol[3];
-    } else {
-        setting->exhaust_fourth_vol = *air_exhaust_fourth_vol;
-    }
-    if (air_exhaust_fifth_vol == NULL) {
-        nvs_set_uint32(air_exhaust_fan_vol[4], AIR_EXHAUST_FIFTH_VOL);
-        setting->exhaust_fifth_vol = air_exhaust_fan_vol[4];
-    } else {
-        setting->exhaust_fifth_vol =*air_exhaust_fifth_vol;
-    }
-    if (air_supply_first_vol == NULL) {
-        nvs_set_uint32(air_supply_fan_vol[0], AIR_SUPPLY_FIRST_VOL);
-        setting->supply_first_vol = air_supply_fan_vol[0];
-    } else {
-        setting->supply_first_vol = *air_supply_first_vol;
-    }
-    if (air_supply_second_vol == NULL) {
-        nvs_set_uint32(air_supply_fan_vol[1], AIR_SUPPLY_SECOND_VOL);
-        setting->supply_second_vol = air_supply_fan_vol[1];
-    } else {
-        setting->supply_second_vol = *air_supply_second_vol;
-    }
-    if (air_supply_third_vol == NULL) {
-        nvs_set_uint32(air_supply_fan_vol[2], AIR_SUPPLY_THIRD_VOL);
-        setting->supply_third_vol = air_supply_fan_vol[2];
-    } else {
-        setting->supply_third_vol = *air_supply_third_vol;
-    }
-    if (air_supply_fourth_vol == NULL) {
-        nvs_set_uint32(air_supply_fan_vol[3], AIR_SUPPLY_FOURTH_VOL);
-        setting->supply_fourth_vol = air_supply_fan_vol[3];
-    } else {
-        setting->supply_fourth_vol = *air_supply_fourth_vol;
-    }
-    if (air_supply_fifth_vol == NULL) {
-        nvs_set_uint32(air_supply_fan_vol[4], AIR_SUPPLY_FIFTH_VOL);
-        setting->supply_fifth_vol = air_supply_fan_vol[4];
-    } else {
-        setting->supply_fifth_vol = *air_supply_fifth_vol;
-    }
-
     if (filter_life_time_valve == NULL) {
         nvs_set_uint32(FILTER_LIFE_TIME_VALVE, FILTER_LIFE_TIME);
         setting->filter_life_time = FILTER_LIFE_TIME_VALVE;
@@ -145,28 +76,33 @@ void read_system_setting(system_setting_t *setting) {
     } else {
         setting->report_data_duration = *report_duration;
     }
+    uint8_t *devic_type = nvs_get_uint8(NVS_SLAVE_ADDR);
+    if (devic_type == NULL) {
+        nvs_set_uint8(0, NVS_SLAVE_ADDR);
+        setting->devic_type = 0;
+    } else {
+        setting->devic_type = *devic_type;
+    }
+    uint8_t *slave_addr = nvs_get_uint8(NVS_DEVIC_TYPE);
+    if (devic_type == NULL) {
+        nvs_set_uint8(0, NVS_DEVIC_TYPE);
+        setting->slave_addr = 0;
+    } else {
+        setting->slave_addr = *slave_addr;
+    }
 }
 
 void save_system_setting(system_setting_t *setting) {
+    setting->set_min_hum=30;
     nvs_set_uint16(setting->set_min_hum, NVS_MIN_HUM);
     nvs_set_uint32(setting->filter_life_time, FILTER_LIFE_TIME);
     nvs_set_uint8(setting->report_data_duration, NVS_REPORT_DATA_DURATION);
 
-    nvs_set_uint32(setting->exhaust_first_vol, AIR_EXHAUST_FIRST_VOL);
-    nvs_set_uint32(setting->exhaust_second_vol, AIR_EXHAUST_SECOND_VOL);
-    nvs_set_uint32(setting->exhaust_third_vol, AIR_EXHAUST_THIRD_VOL);
-    nvs_set_uint32(setting->exhaust_fourth_vol, AIR_EXHAUST_FOURTH_VOL);
-    nvs_set_uint32(setting->exhaust_fifth_vol, AIR_EXHAUST_FIFTH_VOL);
-    nvs_set_uint32(setting->supply_first_vol, AIR_SUPPLY_FIRST_VOL);
-    nvs_set_uint32(setting->supply_second_vol, AIR_SUPPLY_SECOND_VOL);
-    nvs_set_uint32(setting->supply_third_vol, AIR_SUPPLY_THIRD_VOL);
-    nvs_set_uint32(setting->supply_fourth_vol, AIR_SUPPLY_FOURTH_VOL);
-    nvs_set_uint32(setting->supply_fifth_vol, AIR_SUPPLY_FIFTH_VOL);
-
     nvs_set_uint8(setting->sound_on_off, NVS_SOUND_ON_OFF_KEY);
     nvs_set_uint8(setting->sound_volume, NVS_SOUND_VOLUME_KEY);
     nvs_set_uint8(setting->screen_auto_off, NVS_SCREEN_AUTO_OFF_KEY);
     nvs_set_uint8(setting->screen_off_minute, NVS_SCREEN_OFF_MINUTE_KEY);
+    nvs_set_uint8(setting->mould_proof_runtime, NVS_MOULD_PROOF_RUNTIME);
 }
 
 static uint8_t set_bits(uint8_t num, uint8_t bit, uint8_t value) {

+ 2 - 2
main/app/sht30.c

@@ -229,8 +229,8 @@ void i2c_sht3x_task(void* arg)
             {
                 //ESP_LOGI(TAG, "temperature = %.2f ℃,humidity = %.2f %%RH", temperature, humidity);
                 sht30Data.temperature = correct_temperature(sht30Data.temperature);
-                snprintf(temp_buf, sizeof(temp_buf), "%.1f", sht30Data.temperature);
-                snprintf(hum_buf, sizeof(hum_buf), "%.1f", sht30Data.humidity);
+                snprintf(temp_buf, sizeof(temp_buf), "%d", (int)sht30Data.temperature);
+                snprintf(hum_buf, sizeof(hum_buf), "%d", (int)sht30Data.humidity);
                 ui_wifi_lab_refresh();
                 if(guider_ui.screen_main) {
                     lvgl_port_lock(-1);

+ 396 - 214
main/app/xf_controller.c

@@ -21,13 +21,16 @@
 #include "sht30.h"
 #include "gateway/access.h"
 static const char *TAG = "xf_controller";
-static uint8_t err_count = 0;// 通讯失败次数
+static uint8_t err_count_cs = 0;// 通讯失败次数
+static uint8_t err_count_js = 0;// 通讯失败次数
 
 static SemaphoreHandle_t report_task_sem; // 上报任务信号量,用于实现操作完成上立即上报当前状态
 extern void set_xf_mode(lv_ui *ui, uint16_t mode);
 static TaskHandle_t cloud_report_handle;
 static TaskHandle_t report_trigger_handle;
 static TaskHandle_t status_task_handle;
+static TaskHandle_t Core_task_handle;
+#define FILTER_LIFE_TIME_H_VALVE 4320//六个月,每五分钟计数加一(4320个小时)
 // 初始化空调参数
 xf_status_t xf_status = {
         .power= 0,
@@ -36,56 +39,102 @@ xf_status_t xf_status = {
         .filter_used_time=0,
         .set_max_hum=70,
         .filter_life_remaining=100,
-        .error_code=0,
+        .js_error_code=0,
 };
-xf_fault_t xf_fault[9] = {
+xf_fault_t xf_CSFault[]={
+    {
+        .code="E21",
+        .description="混风后温度传感器异常",
+},
+{
+    .code="E22",
+    .description="盘管温度传感器异常",
+},
+{
+    .code="E23",
+    .description="排气温度传感器异常",
+},
+{
+    .code="E24",
+    .description="低压保护传感器异常",
+},
+{
+    .code="E25",
+    .description="高压保护传感器异常",
+},
+{
+    .code="E26",
+    .description="排风报警",
+},
+{
+    .code="E27",
+    .description="液位开关异常",
+},
+{
+    .code="E28",
+    .description="防冻保护",
+},
+{
+    .code="E29",
+    .description="控制器温湿度异常",
+},
+{
+    .code="E210",
+    .description="高温报警",
+},
+{
+    .code="E211",
+    .description="风机故障",
+},
+{
+    .code="E212",
+    .description="压缩机断开保护",
+},
+};
+xf_fault_t xf_fault[] = {
 
  {
-            .code="E1",
+            .code="E11",
             .description="传感器故障",
         },
  {
-            .code="E2",
+            .code="E12",
             .description="高水位故障",
         },
  {
-            .code="E3",
+            .code="E13",
             .description="进水电磁阀故障",
         },
  {
-            .code="E4",
+            .code="E14",
             .description="送风风机故障",
         },
  {
-            .code="E5",
+            .code="E15",
             .description="排风风机故障",
         },
  {
-            .code="E6",
+            .code="E16",
             .description="排水泵故障",
         },
  {
-            .code="E7",
+            .code="E17",
             .description="通讯故障",
         },
- {
-            .code="E8",
-            .description="预留",
- }
-
 };
 void read_xf_status(system_setting_t *setting) {
     uint16_t *_power = nvs_get_uint16(NVS_POWER_CONTROLLER);
     uint16_t *_mode = nvs_get_uint16(NVS_MODEL_CONTROLLER);
     uint16_t *_fan_speed = nvs_get_uint16(NVS_FAN_SPEED_SET);
-    uint16_t *_filter_used_time = nvs_get_uint16(NVS_FILTER_USED_TIME);
     uint16_t *_set_hum_max = nvs_get_uint16(NVS_MAX_HUM_SET);
-//    uint16_t *_set_hum_min = nvs_get_uint16(NVS_MIN_HUM_SET);
+    uint16_t *_new_fan = nvs_get_uint16(NVS_NEW_FAN);
+
     xf_status.power= _power == NULL ? 0 : *_power;
     xf_status.mode = _mode == NULL ? 1 : *_mode;
     xf_status.fan_speed = _fan_speed == NULL ? 3 : *_fan_speed;
-    xf_status.filter_used_time = _filter_used_time == NULL ? 0 : *_filter_used_time;
     xf_status.set_max_hum = _set_hum_max == NULL ? 70 : *_set_hum_max;
+    xf_status.new_fan = _new_fan == NULL ? 1 : *_new_fan;
+
 }
 
 // 设置电源
@@ -101,12 +150,14 @@ esp_err_t xf_set_power(bool saved) {
             lv_obj_add_flag(guider_ui.screen_main_cont_speedset, LV_OBJ_FLAG_HIDDEN);
             lv_obj_add_flag(guider_ui.screen_main_cont_humSet, LV_OBJ_FLAG_HIDDEN);
             lv_obj_add_flag(guider_ui.screen_main_cont_mode, LV_OBJ_FLAG_HIDDEN);
+            lv_obj_add_flag(guider_ui.screen_main_imgbtn_new_fan, LV_OBJ_FLAG_HIDDEN);
             lvgl_port_unlock();
         }else{
             lvgl_port_lock(-1);
             lv_obj_clear_flag(guider_ui.screen_main_cont_speedset, LV_OBJ_FLAG_HIDDEN);
             lv_obj_clear_flag(guider_ui.screen_main_cont_humSet, LV_OBJ_FLAG_HIDDEN);
             lv_obj_clear_flag(guider_ui.screen_main_cont_mode, LV_OBJ_FLAG_HIDDEN);
+            lv_obj_clear_flag(guider_ui.screen_main_imgbtn_new_fan, LV_OBJ_FLAG_HIDDEN);
             lv_label_set_text_fmt(guider_ui.screen_main_label_humSet_vul, "%d%%",  xf_status.set_max_hum);
             lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign, xf_status.fan_speed*20, LV_ANIM_ON);
             lv_label_set_text_fmt(guider_ui.screen_main_label_spedSet_vul, "%d档",xf_status.fan_speed);
@@ -122,35 +173,8 @@ esp_err_t xf_set_power(bool saved) {
     }
     return err;
 }
-void esp_timer_cb()
-{
-    if(xf_status.power==1)
-    {
-        xf_status.filter_used_time++;
-    }else{
-    }
-    if(xf_status.filter_used_time>=system_setting.filter_life_time)
-    {
-        xf_status.filter_used_time=system_setting.filter_life_time;
-    }
-    xf_set_filter_life_remain(true);
-}
 
 esp_timer_handle_t esp_timer_handle = 0; //定时器句柄
-void timer_init_lx() {
-    //定时器结构体初始化
-
-    esp_timer_create_args_t fw_timer = {
-            .callback = &esp_timer_cb, //定时器回调函数
-            .arg = NULL, //传递给回调函数的参数
-            .name = "esp_timer", //定时器名称
-    };
-    //创建定时器
-    esp_timer_create(&fw_timer, &esp_timer_handle);
-    //启动定时器,定时器周期为60*5秒
-    esp_timer_start_periodic(esp_timer_handle, 5*60000 * 1000);
-//    esp_timer_start_periodic(esp_timer_handle,  5000 * 1000);
-}
 // 设置最大湿度
 esp_err_t xf_set_max_hum(bool saved) {
     esp_err_t err = ESP_OK;
@@ -167,13 +191,20 @@ esp_err_t xf_set_max_hum(bool saved) {
 //        nvs_set_uint16(xf_status.set_min_hum, NVS_MIN_HUM_SET);
 //    return mm_set_param(CID_MIN_HUMIDITY, (uint8_t *)&xf_status.set_min_hum);
 //}
-//置滤网剩余寿命
+//置滤网剩余寿命
 void xf_set_filter_life_remain(bool saved) {
-    esp_err_t str=ESP_OK;
+    xf_status.filter_reset_flag=1;
+}
+//设置手动新风
+esp_err_t set_new_fan(bool saved) {
+    esp_err_t err = ESP_OK;
     if(saved)
-        nvs_set_uint16(xf_status.filter_used_time, NVS_FILTER_USED_TIME);
+        nvs_set_uint16(xf_status.new_fan, NVS_NEW_FAN);
+    if (cloud_connected) {
+        xSemaphoreGive(report_task_sem);
+    }
+    return err;
 }
-
 //设置新风风速
 esp_err_t xf_set_fan_speed(bool saved) {
     esp_err_t err = ESP_OK;
@@ -203,56 +234,6 @@ static void update_power_ui(bool on_off) {
     }
 }
 
-esp_err_t set_exhaust_fan_vol(uint8_t gear, uint8_t *value)
-{
-    uint16_t addr = CID_AIR_EXHAUST_FIRST_VOL;
-    switch (gear) {
-        case 1:
-            addr = CID_AIR_EXHAUST_FIRST_VOL;
-            break;
-        case 2:
-            addr = CID_AIR_EXHAUST_SECOND_VOL;
-            break;
-        case 3:
-            addr = CID_AIR_EXHAUST_THIRD_VOL;
-            break;
-        case 4:
-            addr =  CID_AIR_EXHAUST_FOURTH_VOL;
-            break;
-        case 5:
-            addr =  CID_AIR_EXHAUST_FIFTH_VOL;
-            break;
-        default:
-            break;
-    }
-    return mm_set_param(addr, value);
-}
-
-esp_err_t set_supply_fan_vol(uint8_t gear, uint8_t *value)
-{
-    uint16_t addr = CID_AIR_SUPPLY_FIRST_VOL;
-    switch (gear) {
-        case 1:
-            addr = CID_AIR_SUPPLY_FIRST_VOL;
-            break;
-        case 2:
-            addr = CID_AIR_SUPPLY_SECOND_VOL;
-            break;
-        case 3:
-            addr = CID_AIR_SUPPLY_THIRD_VOL;
-            break;
-        case 4:
-            addr =  CID_AIR_SUPPLY_FOURTH_VOL;
-            break;
-        case 5:
-            addr =  CID_AIR_SUPPLY_FIFTH_VOL;
-            break;
-        default:
-            break;
-    }
-    return mm_set_param(addr, value);
-}
-
 // 云端: 设置上报时间间隔
 static void cloud_set_report_duration(char *params) {
     cJSON *data = cJSON_Parse(params);
@@ -315,7 +296,7 @@ static void cloud_set_fan_level(char *params) {
         xf_status.fan_speed = value->valueint;
         if (guider_ui.screen_main) {
             lvgl_port_lock(-1);
-            lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign, xf_status.fan_speed*20, LV_ANIM_ON);
+            lv_slider_set_value(guider_ui.screen_main_slider_speedSet_sign, xf_status.fan_speed*30, LV_ANIM_ON);
             lv_label_set_text_fmt(guider_ui.screen_main_label_spedSet_vul, "%d档",xf_status.fan_speed);
             lvgl_port_unlock();
         }
@@ -344,27 +325,27 @@ static void cloud_reset_filter_life_remain(char *params) {
     }
 
 }
-
-static void cloud_set_exhaust_fan_vol(char *params)  {
+static void cloud_set_new_fan(char *params) {
     cJSON *data = cJSON_Parse(params);
     if (data != NULL) {
         cJSON *value = cJSON_GetObjectItemCaseSensitive(data, "value");
-        cJSON *gear = cJSON_GetObjectItemCaseSensitive(data, "gear");
-        set_exhaust_fan_vol(gear->valueint, (uint8_t *) &value->valueint);
+        xf_status.new_fan = value->valueint;
+        if (guider_ui.screen_main) {
+            lvgl_port_lock(-1);
+            if(xf_status.new_fan==2)
+            {
+                lv_obj_add_state(guider_ui.screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+            }else{
+                lv_obj_remove_state(guider_ui.screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+            }
+            lvgl_port_unlock();
+        }
+        set_new_fan(true);
         cJSON_Delete(data);
     }
 
 }
-static void cloud_set_supply_fan_vol(char *params)  {
-    cJSON *data = cJSON_Parse(params);
-    if (data != NULL) {
-        cJSON *value = cJSON_GetObjectItemCaseSensitive(data, "value");
-        cJSON *gear = cJSON_GetObjectItemCaseSensitive(data, "gear");
-        set_supply_fan_vol(gear->valueint, (uint8_t *) &value->valueint);
-        cJSON_Delete(data);
-    }
 
-}
 static void cloud_set_min_hum(char *params) {
 
 }
@@ -395,10 +376,14 @@ void register_sparrow_commands(void) {
     register_sparrow_command(set_fan_level_cmd);
     // setNewFan
     sparrow_command set_filter_life_cmd = {
-            .name = "setFilterLife",
-            .unpack = &cloud_set_filter_life,
+        .name = "setFilterLife",
+        .unpack = &cloud_set_filter_life,
+};  register_sparrow_command(set_filter_life_cmd);
+    sparrow_command set_new_fan_cmd = {
+            .name = "setNewFan",
+            .unpack = &cloud_set_new_fan,
     };
-    register_sparrow_command(set_filter_life_cmd);
+    register_sparrow_command(set_new_fan_cmd);
     // setFanVoltage
     sparrow_command set_min_hum_cmd = {
             .name = "setMinHumCmd",
@@ -415,16 +400,7 @@ void register_sparrow_commands(void) {
             .unpack = &cloud_reset_filter_life_remain
     };
     register_sparrow_command(reset_filter_life_remain);
-    sparrow_command set_exhaust_fan_vol = {
-            .name = "setexhaustFanVoltage",
-            .unpack = &cloud_set_exhaust_fan_vol
-    };
-    register_sparrow_command(set_exhaust_fan_vol);
-    sparrow_command set_supply_fan_vol = {
-            .name = "setsupplyFanVoltage",
-            .unpack = &cloud_set_supply_fan_vol
-    };
-    register_sparrow_command(set_supply_fan_vol);
+
 }
 LV_IMAGE_DECLARE(_power_open_RGB565A8_36x36);
 LV_IMAGE_DECLARE(_liang_RGB565A8_30x30);
@@ -436,133 +412,337 @@ void handle_err_code()
 {
     uint8_t error_code[2] = {0};
     esp_err_t err = ESP_OK;
-    err = mm_get_param(CID_ERROR_CODE, error_code);
-    if (err == ESP_OK)
+    err = mm_get_param(CID_JS_ERROR_CODE, error_code);
+    if (err == ESP_OK) {
+        xf_status.js_error_code=(uint8_t)(*(uint16_t *)error_code&0x0ff);
+    }
+        vTaskDelay(pdTICKS_TO_MS(200));
+        err = mm_get_param(CID_CS_ERROR_CODE, error_code);
+        if (err == ESP_OK)
+        {
+            xf_status.cs_error_code=(uint8_t)(*(uint16_t *)error_code&0x0ff);
+        }
+    if (guider_ui.screen_main)
     {
-//        ESP_LOGE(TAG, "error_code1:%d",*(uint16_t *)error_code);
-        if (guider_ui.screen_main)
+        if(((xf_status.cs_error_code&0x07ff)==0)&&(xf_status.js_error_code&0x00ff)==0)
         {
-            if((*(uint16_t *)error_code&0x0ff)==0)
-            {
-                lvgl_port_lock(-1);
-                lv_obj_add_flag(guider_ui.screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
-                lvgl_port_unlock();
-            } else{
-                lvgl_port_lock(-1);
-                lv_obj_clear_flag(guider_ui.screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
-                lvgl_port_unlock();
-            }
+            lvgl_port_lock(-1);
+            lv_obj_add_flag(guider_ui.screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
+            lvgl_port_unlock();
+        } else{
+            lvgl_port_lock(-1);
+            lv_obj_clear_flag(guider_ui.screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
+            lvgl_port_unlock();
         }
-        xf_status.error_code=(uint8_t)(*(uint16_t *)error_code&0x0ff);
-//        ESP_LOGE(TAG, "error_code:%d",xf_status.error_code);
     }
 
 }
 void Refresh_UI()
 {
     uint8_t type = PARAM_TYPE_U16;
-    uint8_t temp_data[2] = {0}; // temporary buffer to hold maximum CID size
+    uint8_t temp_data[2] = {0}, filter_data[2] = {0};// temporary buffer to hold maximum CID size
     uint16_t temp_data_u16 = 500;
     esp_err_t err = ESP_OK;
-    const mb_parameter_descriptor_t *param_descriptor = NULL;
-        err = mm_get_param(CID_RETURN_AIR_PM25, temp_data);
+        err = mm_get_param(CID_CS_INEFFICIENT_FILTER_SIGN, filter_data);
         if (err == ESP_OK) {
-            sht30Data.air_quality=*(uint16_t *)temp_data;
-            if (guider_ui.screen_main) {
-                lvgl_port_lock(-1);
-                lv_arc_set_value(guider_ui.screen_main_arc_AIQ, 500);
-                if (*(uint16_t *) temp_data < 50) {
-//                    lv_arc_set_value(guider_ui.screen_main_arc_AIQ, *(uint16_t *) temp_data);
-                    lv_obj_set_style_bg_image_src(guider_ui.screen_main_label_AIQ_sign, &_you_RGB565A8_30x30,
-                                                  LV_PART_MAIN | LV_STATE_DEFAULT);
-                    lv_obj_set_style_arc_color(guider_ui.screen_main_arc_AIQ, lv_color_hex(0x2FDA64),
-                                               LV_PART_INDICATOR | LV_STATE_DEFAULT);
-                } else if (*(uint16_t *) temp_data < 150) {
-//                    lv_arc_set_value(guider_ui.screen_main_arc_AIQ, *(uint16_t *) temp_data);
-                    lv_obj_set_style_bg_image_src(guider_ui.screen_main_label_AIQ_sign, &_liang_RGB565A8_30x30,
-                                                  LV_PART_MAIN | LV_STATE_DEFAULT);
-                    lv_obj_set_style_arc_color(guider_ui.screen_main_arc_AIQ, lv_color_hex(0xFFF502),
-                                               LV_PART_INDICATOR | LV_STATE_DEFAULT);
-                } else if (*(uint16_t *) temp_data <= 500) {
-//                    lv_arc_set_value(guider_ui.screen_main_arc_AIQ, *(uint16_t *) temp_data);
-                    lv_obj_set_style_bg_image_src(guider_ui.screen_main_label_AIQ_sign, &_cha_RGB565A8_30x30,
-                                                  LV_PART_MAIN | LV_STATE_DEFAULT);
-                    lv_obj_set_style_arc_color(guider_ui.screen_main_arc_AIQ, lv_color_hex(0xd81e06),
-                                               LV_PART_INDICATOR | LV_STATE_DEFAULT);
-                } else if (*(uint16_t *) temp_data > 500) {
-//                    lv_arc_set_value(guider_ui.screen_main_arc_AIQ, temp_data_u16);
-                    lv_obj_set_style_bg_image_src(guider_ui.screen_main_label_AIQ_sign, &_cha_RGB565A8_30x30,
-                                                  LV_PART_MAIN | LV_STATE_DEFAULT);
-                    lv_obj_set_style_arc_color(guider_ui.screen_main_arc_AIQ, lv_color_hex(0xd81e06),
-                                               LV_PART_INDICATOR | LV_STATE_DEFAULT);
-                } else {
 
-                }
-                lv_label_set_text_fmt(guider_ui.screen_main_label_AIQ_vul, "%d", *(uint16_t *) temp_data);
-                lvgl_port_unlock();
-            }
-        }
-        err = mm_get_param(CID_RETURN_AIR_CO2, temp_data);
-        if (err == ESP_OK) {
-            err_count = 0;
-            sht30Data.co2=*(uint16_t *)temp_data;
+            err_count_cs = 0;
             if (guider_ui.screen_main) {
                 lvgl_port_lock(-1);
-                lv_label_set_text_fmt(guider_ui.screen_main_label_co2, "%d", *(uint16_t *) temp_data);
                 lv_obj_add_flag(guider_ui.screen_main_lab_485_err, LV_OBJ_FLAG_HIDDEN);
                 lvgl_port_unlock();
             }
         } else {
-            err_count++;
-            if (err_count >= 254)
-                err_count = 30;
+            err_count_cs++;
+            if (err_count_cs >= 254)
+                err_count_cs = 30;
         }
-        if (err_count >= 30) {
+        if (err_count_cs >= 30) {
             if (guider_ui.screen_main) {
                 lvgl_port_lock(-1);
                 lv_obj_remove_flag(guider_ui.screen_main_lab_485_err, LV_OBJ_FLAG_HIDDEN);
                 lvgl_port_unlock();
             }
         }
-        xf_status.filter_life_remaining=(100-100*xf_status.filter_used_time/system_setting.filter_life_time);
-
+    err = ESP_OK;
+    vTaskDelay(pdTICKS_TO_MS(200));
+    err = mm_get_param(CID_JS_POWER, temp_data);
+    if (err == ESP_OK) {
+        err_count_js = 0;
+        if (guider_ui.screen_main) {
+            lvgl_port_lock(-1);
+            lv_obj_add_flag(guider_ui.screen_main_lab_485_err_js, LV_OBJ_FLAG_HIDDEN);
+            lvgl_port_unlock();
+        }
+    } else {
+        err_count_js++;
+        if (err_count_js >= 254)
+            err_count_js = 30;
+    }
+    if (err_count_js >= 30) {
+        if (guider_ui.screen_main) {
+            lvgl_port_lock(-1);
+            lv_obj_remove_flag(guider_ui.screen_main_lab_485_err_js, LV_OBJ_FLAG_HIDDEN);
+            lvgl_port_unlock();
+        }
+    }
 //         ESP_LOGE(TAG, "filter_life_remaining%d",xf_status.filter_life_remaining);
+    xf_status.filter_life_remaining=100*(system_setting.filter_life_time-xf_status.filter_used_time)/system_setting.filter_life_time;
     if (guider_ui.screen_main) {
         lvgl_port_lock(-1);
-        if(xf_status.filter_life_remaining<=10)
-        {
+        lv_arc_set_value(guider_ui.screen_main_arc_hum,(int)sht30Data.humidity);
+        if (filter_data[1]+filter_data[0]==1) {
             lv_obj_remove_flag(guider_ui.screen_main_label_filter_error, LV_OBJ_FLAG_HIDDEN);
-        }else{
+        }else {
             lv_obj_add_flag(guider_ui.screen_main_label_filter_error, LV_OBJ_FLAG_HIDDEN);
         }
-        lv_label_set_text_fmt(guider_ui.screen_main_label_lvxin, "%d%%", xf_status.filter_life_remaining);
         lvgl_port_unlock();
     }
+    if (xf_status.proof_mode==1) {
+        lv_obj_remove_flag(guider_ui.screen_main_img_proof,LV_OBJ_FLAG_HIDDEN);
+    }else {
+        lv_obj_add_flag(guider_ui.screen_main_img_proof,LV_OBJ_FLAG_HIDDEN);
+    }
+}
+static uint8_t auto_switch_flag=0;
+/*
+ * 自动模式下控制,十度
+ */
+ void xf_auto_task(void *arg) {
+     if (auto_switch_flag==0) {
+         if (xf_status.set_max_hum>(int)sht30Data.humidity) {
+             auto_switch_flag=1;
+             if (xf_status.new_fan==2) {
+                 xf_status.xfcs_status.mode=XFCS_XF;
+             }else {
+                 xf_status.xfcs_status.mode=XFCS_NXH;
+             }
+             xf_status.js_module_status.power=1;
+             xf_status.js_module_status.mode=JS_JS;
+         }else if (xf_status.set_max_hum<(int)sht30Data.humidity){
+             auto_switch_flag=1;
+             if (xf_status.new_fan==2) {
+                 xf_status.xfcs_status.mode=XFCS_XFCS;
+             }else {
+                 xf_status.xfcs_status.mode=XFCS_NXHCS;
+             }
+             xf_status.js_module_status.power=0;
+         }else {
+             auto_switch_flag=0;
+         }
+
+     }else {
+         if ((int)sht30Data.humidity-xf_status.set_max_hum>5) {
+             //CS模式
+             if (xf_status.new_fan==2) {
+                 xf_status.xfcs_status.mode=XFCS_XFCS;
+             }else {
+                 xf_status.xfcs_status.mode=XFCS_NXHCS;
+             }
+             xf_status.js_module_status.power=0;
+         }else if(xf_status.set_max_hum-(int)sht30Data.humidity>5)  {
+             //JS模式
+             if (xf_status.new_fan==2) {
+                 xf_status.xfcs_status.mode=XFCS_XF;
+             }else {
+                 xf_status.xfcs_status.mode=XFCS_NXH;
+             }
+             xf_status.js_module_status.mode=JS_JS;
+             xf_status.js_module_status.power=1;
+         }else {
+             //
+         }
+     }
+     ESP_LOGE(TAG, "js_module_status.power: %d\r\njs_module_status.mode: %d\r\n js_module_status.set_max_hum: %d\r\n"
+         ,xf_status.js_module_status.power,xf_status.js_module_status.mode,xf_status.js_module_status.set_max_hum);
 }
+uint8_t humidification_mode_end_flag=0;
+uint32_t humidification_mode_end_acc=0;
+uint8_t humidification_mode_flag=0;
+uint32_t humidification_mode_acc=0;
+uint8_t auto_mould_proof_acc=0;
+// 防霉运行模式开始
+void mould_proof_mode_start() {
+    //显示防霉标志
+    //新风除湿开启内循环模式
+     xf_status.xfcs_status.mode = XFCS_NXH;
+     //新风除湿开机
+     xf_status.xfcs_status.power = 1;
+    xf_status.xfcs_status.fan_speed = 1;
+ }
+// 防霉运行模式结束
+void mould_proof_mode_stop() {
+     humidification_mode_end_flag = 0;
+     auto_mould_proof_acc = 0;
+     humidification_mode_end_acc = 0;
+     humidification_mode_flag = 0;
+     // 恢复工作模式为正常模式
+
+ }
 
+// 防霉运行模式检测
+void mould_proof_mode_check() {    // 如果加湿功能正常开启且当前是关闭状态,开始累加,开启防霉运行功能
+         if (humidification_mode_flag == 1) {
+             // 启动防霉后多长时间,结束防霉
+
+             if (++auto_mould_proof_acc >= system_setting.mould_proof_runtime * 60) {
+                 ESP_LOGE(TAG,"proof stop!!!/\r\n");
+                 mould_proof_mode_stop();
+                 xf_status.proof_mode=0;
+                 humidification_mode_flag=0;
+             }else {
+                 ESP_LOGE(TAG,"proof start!!!/\r\n");
+                 ESP_LOGE(TAG,"mould_proof_runtime:%d \r\n",system_setting.mould_proof_runtime);
+                 mould_proof_mode_start();
+                 xf_status.proof_mode=1;
+             }
+         }else {
+             xf_status.proof_mode=0;
+             xf_status.xfcs_status .power=0;
+             xf_status.js_module_status.power=0;
+         }
+ }
+
+static uint8_t js_mode_flag=0;
+_Noreturn static void Core_task(void *arg) {
+    esp_err_t err = ESP_OK;
+    for (;;) {
+        if (xf_status.power==1) {
+            xf_status.proof_mode=0;
+            xf_status.xfcs_status.set_hum=xf_status.set_max_hum;
+            xf_status.js_module_status.set_max_hum=xf_status.set_max_hum;
+            xf_status.js_module_status.set_min_hum=xf_status.js_module_status.set_max_hum>=40?xf_status.js_module_status.set_max_hum-10:30;
+            switch (xf_status.mode) {
+                case CS:
+
+                    if (xf_status.new_fan==2) {
+                        xf_status.xfcs_status.mode=XFCS_XFCS;
+                    }else {
+                        xf_status.xfcs_status.mode=XFCS_NXHCS;
+                    }
+                    if (xf_status.set_max_hum-(int)sht30Data.humidity>10) {
+                        //达标 停止除湿
+                        xf_status.xfcs_status .power=0;
+                    }else if (xf_status.set_max_hum<(int)sht30Data.humidity){
+                        //未达标开始除湿
+                        xf_status.xfcs_status .power=1;
+                    }else {
+                        //保持原先状态不变
+                    }
+                    xf_status.js_module_status.power=0;
+                    break;
+                case JS:
+                    if (xf_status.new_fan==2) {
+                        xf_status.xfcs_status.mode=XFCS_XF;
+                    }else {
+                        xf_status.xfcs_status.mode=XFCS_NXH;
+                    }
+                    if ((int)sht30Data.humidity-xf_status.set_max_hum>10) {
+                        js_mode_flag=1;
+                        //达标 停止加湿
+                        xf_status.xfcs_status .power=0;
+                        xf_status.js_module_status.power=0;
+                    }else if ((int)sht30Data.humidity<xf_status.set_max_hum){
+                        //未达标开始加湿
+                        xf_status.xfcs_status .power=1;
+                        xf_status.js_module_status.power=1;
+                        if (humidification_mode_flag==0) {
+                            humidification_mode_acc++;
+                        }
+                        // if (humidification_mode_acc>(60)) {//测试
+                        if (humidification_mode_acc>(60*20)) {
+                            humidification_mode_flag=1;
+                            humidification_mode_end_acc=0;
+                        }
+                    }else {
+                        //当环境湿度大于设置湿度,且环境湿度
+                        //保持原先状态不变
+                    }
+                    xf_status.js_module_status.mode=JS_JS;
+                    break;
+                case SF:
+
+                    auto_switch_flag=0;
+                    if (xf_status.new_fan==2) {
+                        xf_status.xfcs_status.mode=XFCS_XF;
+                    }else {
+                        xf_status.xfcs_status.mode=XFCS_NXH;
+                    }
+                    xf_status.xfcs_status .power=1;
+                    xf_status.js_module_status.power=0;
+                    break;
+                // case AUTO:
+                //     // xf_auto_task(arg);
+                    break;
+            }
+        }else {
+            mould_proof_mode_check();
+
+        }
+        xf_status.xfcs_status.fan_speed=xf_status.fan_speed;
+        switch (xf_status.fan_speed) {
+            case 1:
+                xf_status.js_module_status.fan_speed=1;
+                break;
+            case 2:
+                xf_status.js_module_status.fan_speed=3;
+                break;
+            case 3:
+                    xf_status.js_module_status.fan_speed=5;
+                break;
+            default:
+                xf_status.js_module_status.fan_speed=1;
+                break;
+        }
+        xf_status.xfcs_status.set_hum=xf_status.set_max_hum;
+
+        vTaskDelay(1000 / portTICK_PERIOD_MS);
+    }
+}
 /**
  * 状态同步任务,主要用于与分风箱主控同步当前用户的参数,并处理通讯故障
  * @param arg
  */
 _Noreturn static void status_sync_task(void *arg) {
     esp_err_t err = ESP_OK;
+    uint16_t filter_reset=0x5AA5;
+    uint8_t filter_flag[2] = {0};
 
     for (;;) {
-        mm_set_param(CID_POWER, (uint8_t *)&xf_status.power);
-        vTaskDelay(pdTICKS_TO_MS(500));
-        mm_set_param(CID_MODE, (uint8_t *)&xf_status.mode);
-        vTaskDelay(pdTICKS_TO_MS(500));
-        mm_set_param(CID_FAN_SPEED, (uint8_t *)&xf_status.fan_speed);
-        vTaskDelay(pdTICKS_TO_MS(500));
-        mm_set_param(CID_MAX_HUMIDITY, (uint8_t *)&xf_status.set_max_hum);
-        vTaskDelay(pdTICKS_TO_MS(500));
-
-//
-//        err = xf_set_power(false);
-//        err = xf_set_mode(true);
-//        err = xf_set_fan_speed(true);
-//        err =xf_set_max_hum(true);
-//        err =xf_set_min_hum(true);
+        mm_set_param(CID_CS_POWER, (uint8_t *)&xf_status.xfcs_status.power);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_JS_POWER, (uint8_t *)&xf_status.js_module_status.power);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_CS_MODE, (uint8_t *)&xf_status.xfcs_status.mode);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_JS_MODE, (uint8_t *)&xf_status.js_module_status.mode);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_CS_FAN_SPEED, (uint8_t *)&xf_status.fan_speed);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_JS_FAN_SPEED, (uint8_t *)&xf_status.js_module_status.fan_speed);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_JS_MAX_HUMIDITY, (uint8_t *)&xf_status.js_module_status.set_max_hum);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_JS_MIN_HUMIDITY, (uint8_t *)&xf_status.js_module_status.set_min_hum);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_CS_SET_HUMIDITY, (uint8_t *)&xf_status.xfcs_status.set_hum);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_CS_INEFFICIENT_FILTER_SET_TIME, (uint8_t *)&system_setting.filter_life_time);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        mm_set_param(CID_CS_HEPA_FILTER_SET_TIME, (uint8_t *)&system_setting.filter_life_time);
+        vTaskDelay(pdTICKS_TO_MS(100));
+        if (xf_status.filter_reset_flag==1) {
+            mm_set_param(CID_CS_INEFFICIENT_FILTER_RESET, (uint8_t *)&filter_reset);
+            vTaskDelay(pdTICKS_TO_MS(100));
+            mm_set_param(CID_CS_HEPA_FILTER_RESET, (uint8_t *)&filter_reset);
+            vTaskDelay(pdTICKS_TO_MS(100));
+            err=mm_get_param(CID_CS_INEFFICIENT_FILTER_RESET, filter_flag);
+            if (err==ESP_OK) {
+                if (*(uint16_t*)filter_flag==0) {
+                    xf_status.filter_reset_flag=0;
+                }
+            }
+        }
         Refresh_UI();
         handle_err_code();
         vTaskDelay(5000 / portTICK_PERIOD_MS);
@@ -584,11 +764,11 @@ _Noreturn static void cloud_report_task(void *arg) {
             cJSON_AddNumberToObject(data, "mode", xf_status.mode);
             cJSON_AddNumberToObject(data, "temperature", (int) (sht30Data.temperature));
             cJSON_AddNumberToObject(data, "humidity", (int) (sht30Data.humidity));
-            cJSON_AddNumberToObject(data, "air_quality", (int)sht30Data.air_quality);
-            cJSON_AddNumberToObject(data, "co2", (int)sht30Data.co2);
             cJSON_AddNumberToObject(data, "fan_speed", xf_status.fan_speed);
-            cJSON_AddNumberToObject(data, "timer_status", system_setting.timer_status);
-            cJSON_AddNumberToObject(data, "duration", system_setting.duration);
+            cJSON_AddNumberToObject(data, "new_fan", xf_status.new_fan);
+            cJSON_AddNumberToObject(data, "filter_change_flag", xf_status.filter_change_flag);
+            // cJSON_AddNumberToObject(data, "timer_status", system_setting.timer_status);
+            // cJSON_AddNumberToObject(data, "duration", system_setting.duration);
             cJSON *root = cJSON_CreateObject();
             cJSON_AddStringToObject(root, "cmd", "status");
             cJSON_AddItemToObject(root, "params", data);
@@ -623,7 +803,7 @@ _Noreturn static void cloud_fault_report_task(void *arg) {
                 cJSON *data = cJSON_CreateArray();
                 cJSON *fault = cJSON_CreateObject();
                 for (int i = 0; i < 8; i++) {
-                    if (xf_status.error_code & (1 << i)) {
+                    if (xf_status.js_error_code & (1 << i)) {
                         cJSON_AddStringToObject(fault, "code", (const char *) xf_fault[i].code);
                         cJSON_AddStringToObject(fault, "desc", (const char *) xf_fault[i].description);
                         cJSON_AddItemToArray(data, fault);
@@ -649,6 +829,7 @@ void xf_controller_init(system_setting_t *setting) {
    // timer_init_lx();
     // 启动状态同步任务
     xTaskCreate(status_sync_task, "status_sync_task", 4 * 1024, NULL, 5, &status_task_handle);
+    xTaskCreate(Core_task, "status_sync_task", 4 * 1024, NULL, 5, &Core_task_handle);
     // 启动云端上报任务,受信号量控制,无信号时任务不作操作,只有本地有操作或定时上报任务触发时才会上报。
     xTaskCreate(cloud_report_task, "report_task", 6 * 1024, NULL, 5, &cloud_report_handle);
     xTaskCreate(report_trigger_task, "trigger_task", 2 * 1024, NULL, 5, &report_trigger_handle);
@@ -657,6 +838,7 @@ void xf_controller_init(system_setting_t *setting) {
 }
 void stop_xf_controller() {
     vTaskDelete(status_task_handle);
+    vTaskDelete(Core_task_handle);
     vTaskDelete(cloud_report_handle);
     vTaskDelete(report_trigger_handle);
     // 停止modbus 协议 stack

+ 1 - 1
main/framework/gateway/gateway_defs.h

@@ -29,7 +29,7 @@
 // sdk version
 #define YXLJ_SDK_VERSION "1.0.1"
 
-#define YXLJ_PRODUCT_KEY "f27d795f1ad71ca2a1a0471f0497d95d70523d7046c4e2bf0c62422d7c75f128fb66714eae7a6dcec340ca8920f06350" // 生产环境
+#define YXLJ_PRODUCT_KEY "bc2d51d01f2bc7910e8176fae840323c210d8d617e170c52f330bdd720d5778da7aa3163b80ae43b709684c947785429" // 生产环境
 
 #define SPARROW_SERVER_URL "http://114.115.211.247:8082" // 生产环境
 

+ 2 - 2
main/main.c

@@ -64,7 +64,7 @@ void iot_event_monitor(int event) {
  */
 void on_wifi_connected(void) {
     // 开启时间同步
-    //time_sync_start();
+    time_sync_start();
     // 接入云平台
    // yxlj_framework_init();
     // 初始化OTA功能
@@ -105,7 +105,7 @@ _Noreturn void app_main(void) {
     setup_ui(&guider_ui);
     app_wifi_init(on_wifi_connected);
     sht30_init(); // 初始化温湿度传感器
-    timer_init_lx();
+    // timer_init_lx();
     // 初始化OTA功能
     ota_init();
     // 熄屏定时器初始化

+ 21 - 6
main/ui/generated/events_init.c

@@ -116,6 +116,20 @@ static void screen_main_slider_humSet_sign_event_handler (lv_event_t *e)
     }
 }
 
+static void screen_main_imgbtn_new_fan_event_handler (lv_event_t *e)
+{
+    lv_event_code_t code = lv_event_get_code(e);
+    switch (code) {
+    case LV_EVENT_CLICKED:
+    {
+        on_new_fan_on_off(e);
+        break;
+    }
+    default:
+        break;
+    }
+}
+
 void events_init_screen_main (lv_ui *ui)
 {
     lv_obj_add_event_cb(ui->screen_main, screen_main_event_handler, LV_EVENT_ALL, ui);
@@ -123,6 +137,7 @@ void events_init_screen_main (lv_ui *ui)
     lv_obj_add_event_cb(ui->screen_main_imgbtn_power, screen_main_imgbtn_power_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->screen_main_slider_speedSet_sign, screen_main_slider_speedSet_sign_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->screen_main_slider_humSet_sign, screen_main_slider_humSet_sign_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->screen_main_imgbtn_new_fan, screen_main_imgbtn_new_fan_event_handler, LV_EVENT_ALL, ui);
 }
 
 static void SettingPage_event_handler (lv_event_t *e)
@@ -331,13 +346,13 @@ static void FactorySettingPage_event_handler (lv_event_t *e)
     }
 }
 
-static void FactorySettingPage_btn_fan_vol_save_event_handler (lv_event_t *e)
+static void FactorySettingPage_btn_refresh_event_handler (lv_event_t *e)
 {
     lv_event_code_t code = lv_event_get_code(e);
     switch (code) {
     case LV_EVENT_CLICKED:
     {
-        on_fan_vol_save(e);
+        on_refresh_set_on_off(e);
         break;
     }
     default:
@@ -345,13 +360,13 @@ static void FactorySettingPage_btn_fan_vol_save_event_handler (lv_event_t *e)
     }
 }
 
-static void FactorySettingPage_btn_refresh_vol_event_handler (lv_event_t *e)
+static void FactorySettingPage_btn_save_event_handler (lv_event_t *e)
 {
     lv_event_code_t code = lv_event_get_code(e);
     switch (code) {
     case LV_EVENT_CLICKED:
     {
-        on_fan_vol_refresh(e);
+        on_asve_set_on_off(e);
         break;
     }
     default:
@@ -432,8 +447,8 @@ static void FactorySettingPage_btn_6_event_handler (lv_event_t *e)
 void events_init_FactorySettingPage (lv_ui *ui)
 {
     lv_obj_add_event_cb(ui->FactorySettingPage, FactorySettingPage_event_handler, LV_EVENT_ALL, ui);
-    lv_obj_add_event_cb(ui->FactorySettingPage_btn_fan_vol_save, FactorySettingPage_btn_fan_vol_save_event_handler, LV_EVENT_ALL, ui);
-    lv_obj_add_event_cb(ui->FactorySettingPage_btn_refresh_vol, FactorySettingPage_btn_refresh_vol_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->FactorySettingPage_btn_refresh, FactorySettingPage_btn_refresh_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->FactorySettingPage_btn_save, FactorySettingPage_btn_save_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_error, FactorySettingPage_btn_error_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_4, FactorySettingPage_btn_4_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_5, FactorySettingPage_btn_5_event_handler, LV_EVENT_ALL, ui);

+ 26 - 77
main/ui/generated/gui_guider.h

@@ -21,38 +21,26 @@ typedef struct
   
 	lv_obj_t *screen_main;
 	bool screen_main_del;
-	lv_obj_t *screen_main_arc_AIQ;
+	lv_obj_t *screen_main_arc_hum;
 	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_sf;
+	lv_obj_t *screen_main_imgbtn_sf_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_cs;
+	lv_obj_t *screen_main_imgbtn_cs_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;
@@ -66,6 +54,10 @@ typedef struct
 	lv_obj_t *screen_main_label_19;
 	lv_obj_t *screen_main_lab_cloud1;
 	lv_obj_t *screen_main_label_filter_error;
+	lv_obj_t *screen_main_imgbtn_new_fan;
+	lv_obj_t *screen_main_imgbtn_new_fan_label;
+	lv_obj_t *screen_main_img_proof;
+	lv_obj_t *screen_main_lab_485_err_js;
 	lv_obj_t *SettingPage;
 	bool SettingPage_del;
 	lv_obj_t *SettingPage_tabview_1;
@@ -119,52 +111,12 @@ typedef struct
 	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_label_11;
-	lv_obj_t *FactorySettingPage_label_12;
-	lv_obj_t *FactorySettingPage_btn_refresh_vol;
-	lv_obj_t *FactorySettingPage_btn_refresh_vol_label;
+	lv_obj_t *FactorySettingPage_ddlist_proof_set;
+	lv_obj_t *FactorySettingPage_btn_refresh;
+	lv_obj_t *FactorySettingPage_btn_refresh_label;
+	lv_obj_t *FactorySettingPage_btn_save;
+	lv_obj_t *FactorySettingPage_btn_save_label;
 	lv_obj_t *FactorySettingPage_label_detail_error;
 	lv_obj_t *FactorySettingPage_btn_error;
 	lv_obj_t *FactorySettingPage_btn_error_label;
@@ -221,18 +173,12 @@ 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(_songfeng_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_songfengkai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_jiashi_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_jiashikai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_chushi_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_chushikai_RGB565A8_60x60);
 LV_IMAGE_DECLARE(_power_RGB565A8_50x50);
 LV_IMAGE_DECLARE(_power_open_RGB565A8_50x50);
 
@@ -241,15 +187,18 @@ LV_IMAGE_DECLARE(_speed_RGB565A8_20x20);
 LV_IMAGE_DECLARE(_hum_RGB565A8_20x20);
 
 LV_IMAGE_DECLARE(_WiFiruo_RGB565A8_30x30);
+LV_IMAGE_DECLARE(_xinfeng_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_xinfengkai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_proof_RGB565A8_22x22);
 
 LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_26)
 LV_FONT_DECLARE(lv_font_montserratMedium_16)
+LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_48)
+LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_32)
 LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_16)
 LV_FONT_DECLARE(lv_font_iconfont_24)
+LV_FONT_DECLARE(lv_font_iconfont_32)
 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_22)

+ 1 - 1
main/ui/generated/guider_fonts/fonts_list.mk

@@ -1 +1 @@
-GEN_CSRCS += lv_font_Alibaba_PuHuiTi_Medium_26.c lv_font_montserratMedium_16.c lv_font_Alibaba_PuHuiTi_Medium_16.c lv_font_iconfont_24.c lv_font_Alibaba_PuHuiTi_Medium_18.c lv_font_Alibaba_PuHuiTi_Medium_48.c lv_font_Alibaba_PuHuiTi_Medium_14.c lv_font_Alibaba_PuHuiTi_Medium_22.c lv_font_montserratMedium_12.c lv_font_Alibaba_PuHuiTi_Medium_12.c lv_font_iconfont_22.c lv_font_iconfont_16.c lv_font_Alibaba_PuHuiTi_Medium_20.c lv_font_SourceHanSerifSC_Regular_18.c
+GEN_CSRCS += lv_font_Alibaba_PuHuiTi_Medium_26.c lv_font_montserratMedium_16.c lv_font_Alibaba_PuHuiTi_Medium_48.c lv_font_Alibaba_PuHuiTi_Medium_32.c lv_font_Alibaba_PuHuiTi_Medium_16.c lv_font_iconfont_24.c lv_font_iconfont_32.c lv_font_Alibaba_PuHuiTi_Medium_18.c lv_font_montserratMedium_12.c lv_font_Alibaba_PuHuiTi_Medium_12.c lv_font_iconfont_22.c lv_font_iconfont_16.c lv_font_Alibaba_PuHuiTi_Medium_20.c lv_font_SourceHanSerifSC_Regular_18.c

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 808 - 245
main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_16.c


+ 78 - 85
main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_18.c

@@ -905,12 +905,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0x5, 0xef, 0xc5, 0x2, 0xe8, 0x2f, 0xfd, 0xff,
     0xee, 0xf6, 0x5e, 0x50, 0x3a, 0xee, 0x90,
 
-    /* U+2082 "₂" */
-    0x6, 0xef, 0xe7, 0x0, 0x57, 0x7d, 0xf4, 0x0,
-    0x0, 0x5f, 0x60, 0x0, 0xb, 0xf2, 0x0, 0x9,
-    0xf7, 0x0, 0x1b, 0xf7, 0x0, 0xd, 0xfb, 0x77,
-    0x40, 0xff, 0xff, 0xfa,
-
     /* U+4F59 "余" */
     0x0, 0x0, 0x0, 0x6, 0xfe, 0x20, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x4, 0xff, 0xfc, 0x0, 0x0,
@@ -2313,72 +2307,71 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 5141, .adv_w = 60, .box_w = 3, .box_h = 18, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 5168, .adv_w = 96, .box_w = 6, .box_h = 18, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 5222, .adv_w = 164, .box_w = 10, .box_h = 3, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 5237, .adv_w = 118, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5265, .adv_w = 283, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5410, .adv_w = 283, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5563, .adv_w = 283, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5734, .adv_w = 283, .box_w = 17, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5896, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6077, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6203, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6356, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6482, .adv_w = 198, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6567, .adv_w = 288, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6738, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6909, .adv_w = 324, .box_w = 21, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7088, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7259, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 7406, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7577, .adv_w = 144, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7645, .adv_w = 216, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7750, .adv_w = 324, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7939, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8065, .adv_w = 198, .box_w = 13, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8189, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 8291, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8443, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8579, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8715, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 8817, .adv_w = 252, .box_w = 18, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 8970, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9058, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9146, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9282, .adv_w = 252, .box_w = 16, .box_h = 4, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 9314, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9461, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9680, .adv_w = 324, .box_w = 22, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 9889, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10042, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 10122, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 10202, .adv_w = 360, .box_w = 24, .box_h = 15, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 10382, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10508, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10679, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10860, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10996, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11148, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11284, .adv_w = 252, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 11404, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11530, .adv_w = 180, .box_w = 13, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 11654, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11806, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11958, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12105, .adv_w = 288, .box_w = 20, .box_h = 20, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 12305, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12438, .adv_w = 360, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 12645, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12783, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12921, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13059, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13197, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13335, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 13508, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 13641, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13793, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 13974, .adv_w = 360, .box_w = 23, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14135, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 14268, .adv_w = 290, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 14382, .adv_w = 283, .box_w = 4, .box_h = 11, .ofs_x = 3, .ofs_y = -1}
+    {.bitmap_index = 5237, .adv_w = 283, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5382, .adv_w = 283, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5535, .adv_w = 283, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5706, .adv_w = 283, .box_w = 17, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5868, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6049, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6175, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6328, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6454, .adv_w = 198, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6539, .adv_w = 288, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6710, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6881, .adv_w = 324, .box_w = 21, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7060, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7231, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7378, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7549, .adv_w = 144, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7617, .adv_w = 216, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7722, .adv_w = 324, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7911, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8037, .adv_w = 198, .box_w = 13, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8161, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 8263, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8415, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8551, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8687, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 8789, .adv_w = 252, .box_w = 18, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 8942, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9030, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9118, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9254, .adv_w = 252, .box_w = 16, .box_h = 4, .ofs_x = 0, .ofs_y = 5},
+    {.bitmap_index = 9286, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9433, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9652, .adv_w = 324, .box_w = 22, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9861, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10014, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 10094, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 10174, .adv_w = 360, .box_w = 24, .box_h = 15, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 10354, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10480, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10651, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 10832, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10968, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11120, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11256, .adv_w = 252, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 11376, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 11502, .adv_w = 180, .box_w = 13, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11626, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11778, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11930, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 12077, .adv_w = 288, .box_w = 20, .box_h = 20, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 12277, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 12410, .adv_w = 360, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 12617, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12755, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12893, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13031, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13169, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13307, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13480, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 13613, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13765, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 13946, .adv_w = 360, .box_w = 23, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14107, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14240, .adv_w = 290, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 14354, .adv_w = 283, .box_w = 4, .box_h = 11, .ofs_x = 3, .ofs_y = -1}
 };
 
 /*---------------------
@@ -2386,15 +2379,15 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_1[] = {
-    0x0, 0x2ed7, 0x31e7, 0x4e62, 0x622d, 0xcf7f, 0xcf86, 0xcf89,
-    0xcf8a, 0xcf8b, 0xcf8f, 0xcf91, 0xcf93, 0xcf97, 0xcf9a, 0xcf9f,
-    0xcfa4, 0xcfa5, 0xcfa6, 0xcfbc, 0xcfc1, 0xcfc6, 0xcfc9, 0xcfca,
-    0xcfcb, 0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2, 0xcfe5, 0xcfe6, 0xcfec,
-    0xcfee, 0xcfef, 0xcff2, 0xcff5, 0xcff6, 0xcff7, 0xcff9, 0xd011,
-    0xd013, 0xd042, 0xd043, 0xd045, 0xd047, 0xd05e, 0xd065, 0xd068,
-    0xd071, 0xd09a, 0xd0a2, 0xd0d9, 0xd169, 0xd1be, 0xd1bf, 0xd1c0,
-    0xd1c1, 0xd1c2, 0xd205, 0xd211, 0xd26b, 0xd282, 0xd4d8, 0xd740,
-    0xd820, 0xde98
+    0x0, 0x310, 0x1f8b, 0x3356, 0xa0a8, 0xa0af, 0xa0b2, 0xa0b3,
+    0xa0b4, 0xa0b8, 0xa0ba, 0xa0bc, 0xa0c0, 0xa0c3, 0xa0c8, 0xa0cd,
+    0xa0ce, 0xa0cf, 0xa0e5, 0xa0ea, 0xa0ef, 0xa0f2, 0xa0f3, 0xa0f4,
+    0xa0f8, 0xa0f9, 0xa0fa, 0xa0fb, 0xa10e, 0xa10f, 0xa115, 0xa117,
+    0xa118, 0xa11b, 0xa11e, 0xa11f, 0xa120, 0xa122, 0xa13a, 0xa13c,
+    0xa16b, 0xa16c, 0xa16e, 0xa170, 0xa187, 0xa18e, 0xa191, 0xa19a,
+    0xa1c3, 0xa1cb, 0xa202, 0xa292, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea,
+    0xa2eb, 0xa32e, 0xa33a, 0xa394, 0xa3ab, 0xa601, 0xa869, 0xa949,
+    0xafc1
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
@@ -2405,8 +2398,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 8322, .range_length = 56985, .glyph_id_start = 96,
-        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 66, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 20313, .range_length = 44994, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 65, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -2438,7 +2431,7 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0
+    0
 };
 
 /*Map glyph_ids to kern right classes*/
@@ -2464,7 +2457,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0
+    0
 };
 
 /*Kern values between classes*/

+ 101 - 659
main/ui/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_20.c

@@ -22,8 +22,6 @@
 
 /*Store the image of the glyphs*/
 static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
-    /* U+000A "\n" */
-
     /* U+0020 " " */
 
     /* U+0021 "!" */
@@ -1026,157 +1024,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xf9, 0x17, 0xf9, 0x3f, 0xd1, 0x5f, 0xff, 0xff,
     0x34, 0xc7, 0x0, 0x1a, 0xfe, 0x60,
 
-    /* U+4F20 "传" */
-    0x0, 0x0, 0x23, 0x0, 0x0, 0x36, 0x20, 0x0,
-    0x0, 0x0, 0x0, 0x9, 0xf7, 0x0, 0x9, 0xf6,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x20, 0x0,
-    0xcf, 0x30, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xc0,
-    0xcc, 0xcf, 0xfd, 0xcc, 0xcc, 0x90, 0x0, 0xd,
-    0xf5, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
-    0x5, 0xff, 0x10, 0x11, 0x7f, 0xa1, 0x11, 0x11,
-    0x0, 0x0, 0xdf, 0xf1, 0x0, 0x9, 0xf6, 0x0,
-    0x0, 0x0, 0x0, 0x6f, 0xff, 0x3d, 0xdd, 0xff,
-    0xdd, 0xdd, 0xdd, 0xd8, 0x1e, 0xff, 0xf4, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xfc, 0xcf,
-    0x10, 0x6, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x6f,
-    0x2c, 0xf1, 0x0, 0xbf, 0x61, 0x11, 0x11, 0x10,
-    0x0, 0x40, 0xcf, 0x10, 0xe, 0xff, 0xff, 0xff,
-    0xff, 0x10, 0x0, 0xc, 0xf1, 0x0, 0xbc, 0xcc,
-    0xcc, 0xdf, 0xf1, 0x0, 0x0, 0xcf, 0x10, 0x4,
-    0x0, 0x0, 0xc, 0xf8, 0x0, 0x0, 0xc, 0xf1,
-    0x6, 0xfd, 0x60, 0x8, 0xfb, 0x0, 0x0, 0x0,
-    0xcf, 0x10, 0x4c, 0xff, 0xe9, 0xfe, 0x10, 0x0,
-    0x0, 0xc, 0xf1, 0x0, 0x3, 0xaf, 0xff, 0xb1,
-    0x0, 0x0, 0x0, 0xcf, 0x10, 0x0, 0x0, 0x29,
-    0xff, 0xf6, 0x0, 0x0, 0xc, 0xf1, 0x0, 0x0,
-    0x0, 0x1, 0x9f, 0x70, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x21, 0x0,
-
-    /* U+4F4D "位" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xb, 0xe5, 0x0, 0x5, 0xd8,
-    0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x20, 0x0,
-    0x3f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xc0,
-    0x0, 0x0, 0xef, 0x30, 0x0, 0x0, 0x0, 0xe,
-    0xf6, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
-    0x5, 0xff, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xf0, 0x0, 0xdf, 0xf1, 0x0, 0x11, 0x0, 0x0,
-    0x4, 0x0, 0x0, 0x7f, 0xff, 0x10, 0x6f, 0x80,
-    0x0, 0x1, 0xff, 0x0, 0x2f, 0xff, 0xf1, 0x2,
-    0xfd, 0x0, 0x0, 0x6f, 0xb0, 0xb, 0xfb, 0xef,
-    0x10, 0xc, 0xf3, 0x0, 0xa, 0xf6, 0x0, 0x5e,
-    0x1e, 0xf1, 0x0, 0x8f, 0x80, 0x0, 0xef, 0x20,
-    0x0, 0x10, 0xef, 0x10, 0x3, 0xfd, 0x0, 0x2f,
-    0xd0, 0x0, 0x0, 0xe, 0xf1, 0x0, 0xe, 0xf1,
-    0x7, 0xf8, 0x0, 0x0, 0x0, 0xef, 0x10, 0x0,
-    0xaf, 0x50, 0xdf, 0x20, 0x0, 0x0, 0xe, 0xf1,
-    0x0, 0x5, 0xb2, 0x2f, 0xd0, 0x0, 0x0, 0x0,
-    0xef, 0x10, 0x0, 0x0, 0x7, 0xf8, 0x0, 0x0,
-    0x0, 0xe, 0xf4, 0xcc, 0xcc, 0xcc, 0xef, 0xdd,
-    0xdd, 0x70, 0x0, 0xef, 0x5f, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xf9, 0x0, 0xe, 0xf1, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+5668 "器" */
-    0x0, 0x68, 0x88, 0x88, 0x80, 0x59, 0x99, 0x99,
-    0x92, 0x0, 0xb, 0xff, 0xff, 0xff, 0x19, 0xff,
-    0xff, 0xff, 0x40, 0x0, 0xbf, 0x10, 0xa, 0xf1,
-    0x9f, 0x30, 0x7, 0xf4, 0x0, 0xb, 0xf0, 0x0,
-    0xaf, 0x19, 0xf2, 0x0, 0x6f, 0x40, 0x0, 0xbf,
-    0xff, 0xff, 0xf1, 0x9f, 0xff, 0xff, 0xf4, 0x0,
-    0x7, 0xaa, 0xaa, 0xab, 0x36, 0xab, 0xfa, 0xaa,
-    0x30, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xa0, 0x6f,
-    0x90, 0x0, 0x0, 0x4b, 0xbb, 0xbb, 0xbe, 0xfd,
-    0xbb, 0xfe, 0xbb, 0xb0, 0x5, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
-    0x5d, 0xfd, 0x15, 0xff, 0x81, 0x0, 0x0, 0x2,
-    0x5a, 0xef, 0xf9, 0x0, 0x2, 0xbf, 0xfb, 0x74,
-    0x11, 0xff, 0xff, 0xfa, 0x88, 0x4, 0x88, 0xcf,
-    0xff, 0xfb, 0xa, 0xdf, 0xff, 0xff, 0xf0, 0x8f,
-    0xff, 0xff, 0xfb, 0x50, 0x9, 0xf3, 0x0, 0xbf,
-    0x8, 0xf4, 0x11, 0x9f, 0x30, 0x0, 0x9f, 0x30,
-    0xb, 0xf0, 0x8f, 0x40, 0x9, 0xf3, 0x0, 0x9,
-    0xfa, 0x99, 0xef, 0x8, 0xfa, 0x99, 0xdf, 0x30,
-    0x0, 0x9f, 0xff, 0xff, 0xf0, 0x8f, 0xff, 0xff,
-    0xf3, 0x0, 0x9, 0xf3, 0x0, 0xbf, 0x8, 0xf4,
-    0x0, 0x9f, 0x30,
-
-    /* U+611F "感" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd,
-    0xd, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0xf, 0xe0, 0x5f, 0xa0, 0x0, 0x1, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x1f,
-    0xfb, 0xbb, 0xbb, 0xbe, 0xfc, 0xbb, 0xbb, 0x30,
-    0x1, 0xfc, 0x0, 0x0, 0x0, 0x9f, 0x50, 0x6a,
-    0x10, 0x0, 0x1f, 0xcb, 0xff, 0xff, 0xfa, 0xf8,
-    0xe, 0xf1, 0x0, 0x2, 0xfb, 0x46, 0x66, 0x66,
-    0x4f, 0xc8, 0xf8, 0x0, 0x0, 0x3f, 0xa3, 0x66,
-    0x66, 0x50, 0xef, 0xfe, 0x0, 0x0, 0x6, 0xf8,
-    0x8f, 0xee, 0xfd, 0x8, 0xff, 0x40, 0x51, 0x0,
-    0xaf, 0x58, 0xf0, 0xb, 0xd2, 0xef, 0xe1, 0xe,
-    0xb0, 0x1f, 0xf0, 0x8f, 0xaa, 0xef, 0xff, 0xdf,
-    0xc7, 0xf7, 0xa, 0xf9, 0x5, 0xbb, 0xbc, 0xad,
-    0x70, 0xcf, 0xff, 0x10, 0xbf, 0x20, 0x13, 0x11,
-    0xda, 0x0, 0x0, 0x8c, 0x30, 0x0, 0x6f, 0x77,
-    0xf6, 0xc, 0xfa, 0x0, 0x1e, 0xd0, 0x0, 0xd,
-    0xf5, 0x7f, 0x60, 0x1d, 0xb3, 0xb3, 0xaf, 0x90,
-    0x7, 0xfc, 0x6, 0xf7, 0x0, 0x20, 0x6f, 0x61,
-    0xef, 0x40, 0xef, 0x30, 0x5f, 0xfc, 0xcc, 0xcf,
-    0xf3, 0x5, 0xf8, 0x2, 0x60, 0x0, 0x9e, 0xff,
-    0xff, 0xd8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6392 "排" */
-    0x0, 0x3, 0xc6, 0x0, 0x0, 0xb8, 0xb, 0xd0,
-    0x0, 0x0, 0x0, 0x4f, 0x90, 0x0, 0x1f, 0xc0,
-    0xdf, 0x0, 0x0, 0x0, 0x4, 0xf9, 0x1, 0x34,
-    0xfc, 0xd, 0xf3, 0x33, 0x10, 0x6d, 0xef, 0xfc,
-    0x6f, 0xff, 0xc0, 0xdf, 0xff, 0xf5, 0x7, 0xff,
-    0xff, 0xe5, 0xdd, 0xfc, 0xd, 0xfc, 0xcc, 0x30,
-    0x1, 0x5f, 0xa1, 0x0, 0x1f, 0xc0, 0xdf, 0x0,
-    0x0, 0x0, 0x4, 0xf9, 0x0, 0x1, 0xfc, 0xd,
-    0xf0, 0x0, 0x0, 0x0, 0x4f, 0x94, 0x11, 0x2f,
-    0xc0, 0xdf, 0x11, 0x10, 0x0, 0x4, 0xff, 0xfb,
-    0xff, 0xfc, 0xd, 0xff, 0xff, 0x0, 0x39, 0xff,
-    0xfb, 0xbe, 0xef, 0xc0, 0xdf, 0xee, 0xe0, 0xf,
-    0xff, 0xf9, 0x0, 0x1, 0xfc, 0xd, 0xf0, 0x0,
-    0x0, 0x63, 0x4f, 0x90, 0x0, 0x1f, 0xc0, 0xdf,
-    0x0, 0x0, 0x0, 0x4, 0xf9, 0x4d, 0xdd, 0xfc,
-    0xd, 0xfd, 0xdd, 0xc0, 0x0, 0x4f, 0x95, 0xff,
-    0xff, 0xc0, 0xdf, 0xff, 0xfe, 0x0, 0x4, 0xf9,
-    0x13, 0x34, 0xfc, 0xd, 0xf4, 0x33, 0x30, 0x0,
-    0x7f, 0x90, 0x0, 0x1f, 0xc0, 0xdf, 0x0, 0x0,
-    0x2, 0xff, 0xf8, 0x0, 0x1, 0xfc, 0xd, 0xf0,
-    0x0, 0x0, 0xd, 0xea, 0x10, 0x0, 0x1f, 0xc0,
-    0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6545 "故" */
-    0x0, 0x8, 0xb2, 0x0, 0x0, 0x8c, 0x30, 0x0,
-    0x0, 0x0, 0x0, 0xbf, 0x30, 0x0, 0xd, 0xf1,
-    0x0, 0x0, 0x0, 0x0, 0xb, 0xf3, 0x0, 0x3,
-    0xfd, 0x22, 0x22, 0x21, 0xe, 0xff, 0xff, 0xff,
-    0xf2, 0x9f, 0xff, 0xff, 0xff, 0xa0, 0xff, 0xff,
-    0xff, 0xff, 0x4f, 0xfc, 0xcc, 0xff, 0xc7, 0x0,
-    0x11, 0xbf, 0x41, 0x19, 0xfa, 0x0, 0xf, 0xf0,
-    0x0, 0x0, 0xb, 0xf3, 0x2, 0xff, 0xc0, 0x2,
-    0xfc, 0x0, 0x0, 0x0, 0xbf, 0x30, 0xbf, 0xff,
-    0x0, 0x5f, 0x90, 0x0, 0x3, 0x3c, 0xf5, 0x37,
-    0xeb, 0xf4, 0x9, 0xf5, 0x0, 0x4, 0xff, 0xff,
-    0xff, 0xb2, 0x5f, 0xb0, 0xef, 0x0, 0x0, 0x4f,
-    0xed, 0xdd, 0xfb, 0x0, 0xef, 0x8f, 0xa0, 0x0,
-    0x4, 0xfa, 0x0, 0x2f, 0xb0, 0x6, 0xff, 0xf2,
-    0x0, 0x0, 0x4f, 0xa0, 0x2, 0xfb, 0x0, 0xf,
-    0xfd, 0x0, 0x0, 0x4, 0xfa, 0x0, 0x2f, 0xb0,
-    0xa, 0xff, 0xfa, 0x0, 0x0, 0x4f, 0xa0, 0x2,
-    0xfb, 0x1b, 0xfe, 0x7f, 0xfb, 0x0, 0x4, 0xff,
-    0xee, 0xef, 0xde, 0xfe, 0x30, 0x5f, 0xfd, 0x30,
-    0x4f, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x5f,
-    0xfd, 0x0, 0x0, 0x0, 0x2, 0xe9, 0x0, 0x0,
-    0x0, 0x2d, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
     /* U+65B0 "新" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x7, 0xf5, 0x0, 0x0, 0x0,
@@ -1227,156 +1074,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xce, 0xf6, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0,
 
-    /* U+673A "机" */
-    0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0xf,
-    0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xc0,
-    0x0, 0xff, 0xee, 0xef, 0xe0, 0x0, 0x6, 0xbc,
-    0xff, 0xbb, 0x3f, 0xe0, 0x1, 0xfe, 0x0, 0x0,
-    0x9f, 0xff, 0xff, 0xf4, 0xfe, 0x0, 0x1f, 0xe0,
-    0x0, 0x1, 0x37, 0xfd, 0x33, 0x1f, 0xe0, 0x1,
-    0xfe, 0x0, 0x0, 0x0, 0xaf, 0xc0, 0x0, 0xfe,
-    0x0, 0x1f, 0xe0, 0x0, 0x0, 0x1f, 0xfe, 0xc0,
-    0xf, 0xe0, 0x1, 0xfe, 0x0, 0x0, 0x8, 0xff,
-    0xff, 0xb1, 0xfe, 0x0, 0x1f, 0xe0, 0x0, 0x1,
-    0xff, 0xfd, 0xcf, 0x9f, 0xe0, 0x1, 0xfe, 0x0,
-    0x0, 0x9f, 0xaf, 0xc1, 0xe8, 0xfd, 0x0, 0x1f,
-    0xe0, 0x0, 0x2f, 0xf3, 0xfc, 0x1, 0x3f, 0xc0,
-    0x1, 0xfe, 0x0, 0x0, 0xc7, 0x1f, 0xc0, 0x5,
-    0xfa, 0x0, 0x1f, 0xe0, 0x73, 0x1, 0x1, 0xfc,
-    0x0, 0x8f, 0x60, 0x1, 0xfe, 0xe, 0xf0, 0x0,
-    0x1f, 0xc0, 0xe, 0xf1, 0x0, 0x1f, 0xe0, 0xfe,
-    0x0, 0x1, 0xfc, 0x6, 0xfa, 0x0, 0x1, 0xff,
-    0x2f, 0xd0, 0x0, 0x1f, 0xc2, 0xff, 0x20, 0x0,
-    0xf, 0xff, 0xfb, 0x0, 0x1, 0xfc, 0x7f, 0x70,
-    0x0, 0x0, 0x8f, 0xfe, 0x40, 0x0, 0x0, 0x0,
-    0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6C34 "水" */
-    0x0, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x1f, 0xf0, 0x0, 0x1, 0x40, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x1f, 0xf4, 0x0, 0xc,
-    0xf5, 0x0, 0x5, 0xdd, 0xdd, 0xdc, 0x1f, 0xf9,
-    0x0, 0xbf, 0xf3, 0x0, 0x6, 0xff, 0xff, 0xfe,
-    0x1f, 0xff, 0x2c, 0xff, 0x30, 0x0, 0x1, 0x33,
-    0x34, 0xfd, 0x1f, 0xff, 0xff, 0xe3, 0x0, 0x0,
-    0x0, 0x0, 0x6, 0xf8, 0x1f, 0xfe, 0xfd, 0x20,
-    0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, 0x1f, 0xe7,
-    0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xc0,
-    0x1f, 0xe0, 0xef, 0x40, 0x0, 0x0, 0x0, 0x0,
-    0xdf, 0x50, 0x1f, 0xe0, 0x5f, 0xe1, 0x0, 0x0,
-    0x0, 0x9, 0xfc, 0x0, 0x1f, 0xe0, 0xa, 0xfc,
-    0x0, 0x0, 0x0, 0x5f, 0xf2, 0x0, 0x1f, 0xe0,
-    0x1, 0xdf, 0xc1, 0x0, 0x4, 0xff, 0x70, 0x0,
-    0x1f, 0xe0, 0x0, 0x1e, 0xfd, 0x20, 0x2f, 0xfa,
-    0x0, 0x0, 0x2f, 0xe0, 0x0, 0x2, 0xef, 0xd0,
-    0x9, 0xc0, 0x0, 0x46, 0xbf, 0xe0, 0x0, 0x0,
-    0x1c, 0x30, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xa0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c,
-    0xa7, 0x10, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6CF5 "泵" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x80, 0x0, 0xbb, 0xbb, 0xff,
-    0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0x50, 0x0, 0x0,
-    0x7, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x9f, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb,
-    0x70, 0x0, 0x0, 0x2c, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xb0, 0x0, 0x7, 0xff, 0xdf, 0xb0,
-    0x0, 0x0, 0x0, 0x4f, 0xb0, 0x0, 0x7, 0xf6,
-    0x3f, 0xea, 0xaa, 0xaa, 0xaa, 0xbf, 0xb0, 0x0,
-    0x0, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf8,
-    0x0, 0x0, 0x81, 0x0, 0x0, 0x11, 0x11, 0x11,
-    0x7, 0xfb, 0x0, 0xa, 0xf9, 0x0, 0x1, 0xff,
-    0xff, 0xff, 0x97, 0xff, 0x62, 0xdf, 0xf6, 0x0,
-    0x0, 0xaa, 0xaa, 0xef, 0x87, 0xff, 0xff, 0xfd,
-    0x30, 0x0, 0x0, 0x0, 0x7, 0xfd, 0x7, 0xfb,
-    0xff, 0xd0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xd2,
-    0x7, 0xf8, 0x3e, 0xfd, 0x30, 0x0, 0x0, 0x5e,
-    0xfc, 0x10, 0x7, 0xf8, 0x2, 0xdf, 0xfb, 0x40,
-    0xc, 0xff, 0x70, 0x5, 0x9e, 0xf7, 0x0, 0x7,
-    0xff, 0xf1, 0x6, 0xb2, 0x0, 0x7, 0xff, 0xe2,
-    0x0, 0x0, 0x18, 0x60, 0x0, 0x0, 0x0, 0x1,
-    0x42, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+7535 "电" */
-    0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xe, 0xf1, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0xef, 0x10, 0x0, 0x0,
-    0x0, 0x8, 0xbb, 0xbb, 0xbf, 0xfb, 0xbb, 0xbb,
-    0xb1, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0x20, 0xc, 0xf4, 0x22, 0x2e, 0xf3, 0x22,
-    0x2e, 0xf2, 0x0, 0xcf, 0x30, 0x0, 0xef, 0x10,
-    0x0, 0xef, 0x20, 0xc, 0xf3, 0x0, 0xe, 0xf1,
-    0x0, 0xe, 0xf2, 0x0, 0xcf, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x20, 0xc, 0xfd, 0xcc, 0xcf,
-    0xfc, 0xcc, 0xcf, 0xf2, 0x0, 0xcf, 0x30, 0x0,
-    0xef, 0x10, 0x0, 0xef, 0x20, 0xc, 0xf3, 0x0,
-    0xe, 0xf1, 0x0, 0xe, 0xf2, 0x0, 0xcf, 0xdc,
-    0xcc, 0xff, 0xcc, 0xcc, 0xff, 0x20, 0xc, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x10, 0x0,
-    0x0, 0x0, 0xef, 0x10, 0x0, 0x0, 0x8f, 0x70,
-    0x0, 0x0, 0xe, 0xf1, 0x0, 0x0, 0xa, 0xf8,
-    0x0, 0x0, 0x0, 0xef, 0x50, 0x0, 0x2, 0xef,
-    0x50, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff,
-    0xf1, 0x0, 0x0, 0x0, 0x2b, 0xef, 0xff, 0xff,
-    0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0,
-
-    /* U+7559 "留" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x14, 0x7b, 0xe2, 0x0, 0x0, 0x0,
-    0x0, 0xb, 0xff, 0xff, 0xfe, 0xaf, 0xff, 0xff,
-    0xff, 0xa0, 0xdf, 0xb8, 0x53, 0x3, 0xaf, 0xfa,
-    0xab, 0xf9, 0xd, 0xf0, 0x6, 0xf4, 0x0, 0xfb,
-    0x0, 0x5f, 0x80, 0xdf, 0x10, 0x1f, 0xd0, 0x4f,
-    0x90, 0x6, 0xf7, 0xd, 0xf4, 0x7d, 0xff, 0x8b,
-    0xf3, 0x0, 0x8f, 0x51, 0xff, 0xff, 0xf9, 0xbb,
-    0xfc, 0x9, 0xcf, 0xf3, 0xe, 0xfb, 0x50, 0x8,
-    0xfe, 0x20, 0xaf, 0xe8, 0x0, 0x41, 0x0, 0x0,
-    0x1b, 0x20, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xe9,
-    0x99, 0x9f, 0xe9, 0x99, 0xaf, 0xc0, 0x3, 0xfc,
-    0x0, 0x1, 0xfd, 0x0, 0x2, 0xfc, 0x0, 0x3f,
-    0xea, 0xaa, 0xaf, 0xfa, 0xaa, 0xbf, 0xc0, 0x3,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
-    0x3f, 0xc0, 0x0, 0x1f, 0xd0, 0x0, 0x2f, 0xc0,
-    0x3, 0xfe, 0x88, 0x88, 0xfe, 0x88, 0x89, 0xfc,
-    0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xc0, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x3,
-    0xfc, 0x0,
-
-    /* U+78C1 "磁" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x0,
-    0x1, 0xe6, 0x0, 0x4, 0x88, 0x88, 0x81, 0x8,
-    0xf9, 0x0, 0x8f, 0x60, 0x0, 0x9f, 0xff, 0xff,
-    0x31, 0x1e, 0xd1, 0x3f, 0xd1, 0x10, 0x2, 0x59,
-    0xf8, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0,
-    0x0, 0xaf, 0x10, 0x5b, 0xef, 0xcb, 0xbe, 0xfc,
-    0xb7, 0x0, 0xe, 0xc0, 0x0, 0xd, 0xd0, 0x0,
-    0xcd, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x3, 0xf6,
-    0x65, 0x2f, 0x73, 0x60, 0x0, 0xbf, 0xff, 0xe0,
-    0xae, 0xe, 0xa9, 0xe0, 0xaf, 0x0, 0x3f, 0xfc,
-    0xee, 0x1f, 0x97, 0xf6, 0xf9, 0x4f, 0x90, 0xc,
-    0xff, 0xa, 0xea, 0xff, 0xfe, 0x9f, 0xff, 0xf3,
-    0x3, 0xff, 0xf0, 0xae, 0x6c, 0xcf, 0x85, 0xdb,
-    0xfc, 0x0, 0x9, 0x9f, 0xa, 0xe0, 0x8, 0xf1,
-    0x0, 0x3f, 0x50, 0x0, 0x9, 0xf0, 0xae, 0x1,
-    0xfd, 0xb0, 0xb, 0xfd, 0x40, 0x0, 0x9f, 0xa,
-    0xe0, 0x8f, 0x5f, 0x33, 0xf6, 0xe9, 0x0, 0x9,
-    0xf0, 0xae, 0x1f, 0xa0, 0xe8, 0xbd, 0x8, 0xe0,
-    0x0, 0x9f, 0xff, 0xea, 0xfe, 0xff, 0xff, 0xed,
-    0xff, 0x30, 0x6, 0xcc, 0xcb, 0x5f, 0xcb, 0xcf,
-    0xff, 0xdc, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3, 0xa2, 0x0, 0x8, 0x40,
-
     /* U+7CFB "系" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x34, 0x57,
     0x81, 0x0, 0x8, 0xbc, 0xcd, 0xef, 0xff, 0xff,
@@ -1428,226 +1125,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0x0, 0x7, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x3,
     0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
 
-    /* U+8BAF "讯" */
-    0x5, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x2f, 0xe1, 0xa, 0xff, 0xff, 0xff, 0xff,
-    0xf0, 0x0, 0x8, 0xfc, 0x9, 0xee, 0xff, 0xee,
-    0xef, 0xf0, 0x0, 0x0, 0xcf, 0x70, 0x1, 0xfd,
-    0x0, 0xe, 0xf0, 0x0, 0x0, 0x2d, 0x10, 0x1,
-    0xfd, 0x0, 0xe, 0xf0, 0x0, 0x0, 0x0, 0x0,
-    0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0, 0xcd, 0xdd,
-    0x10, 0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0, 0xef,
-    0xff, 0x10, 0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0,
-    0x23, 0xdf, 0x2f, 0xff, 0xff, 0xff, 0xce, 0xf0,
-    0x0, 0x0, 0xdf, 0x2e, 0xee, 0xff, 0xee, 0xae,
-    0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1, 0xfd, 0x0,
-    0xe, 0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1, 0xfd,
-    0x0, 0xd, 0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1,
-    0xfd, 0x0, 0xd, 0xf0, 0x0, 0x0, 0xdf, 0x16,
-    0x21, 0xfd, 0x0, 0xc, 0xf0, 0xb7, 0x0, 0xdf,
-    0xcf, 0x61, 0xfd, 0x0, 0xb, 0xf1, 0xee, 0x0,
-    0xdf, 0xfd, 0x21, 0xfd, 0x0, 0x8, 0xf9, 0xfb,
-    0x1, 0xff, 0x90, 0x1, 0xfd, 0x0, 0x4, 0xff,
-    0xf6, 0x0, 0x74, 0x0, 0x1, 0xfd, 0x0, 0x0,
-    0x9f, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x43, 0x0,
-    0x0, 0x0, 0x0,
-
-    /* U+8FDB "进" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x6, 0x30, 0x0, 0x6, 0xf7, 0x0,
-    0x7f, 0x60, 0x0, 0x3, 0xfe, 0x10, 0x0, 0x7f,
-    0x70, 0x7, 0xf7, 0x0, 0x0, 0x9, 0xfc, 0x0,
-    0x7, 0xf7, 0x0, 0x7f, 0x70, 0x0, 0x0, 0xc,
-    0xf9, 0x5e, 0xff, 0xfe, 0xef, 0xff, 0xe9, 0x0,
-    0x0, 0x2e, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xa0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x70, 0x7,
-    0xf7, 0x0, 0x0, 0x89, 0x99, 0x0, 0x7, 0xf7,
-    0x0, 0x7f, 0x70, 0x0, 0xf, 0xff, 0xf1, 0x0,
-    0x7f, 0x70, 0x7, 0xf7, 0x0, 0x0, 0x66, 0xef,
-    0x18, 0x8b, 0xfc, 0x88, 0xbf, 0xb8, 0x81, 0x0,
-    0xd, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x20, 0x0, 0xdf, 0x15, 0x6c, 0xf9, 0x66, 0xaf,
-    0xa6, 0x60, 0x0, 0xd, 0xf1, 0x0, 0xcf, 0x30,
-    0x7, 0xf7, 0x0, 0x0, 0x0, 0xdf, 0x10, 0x4f,
-    0xe0, 0x0, 0x7f, 0x70, 0x0, 0x0, 0xe, 0xf3,
-    0x1e, 0xf7, 0x0, 0x7, 0xf7, 0x0, 0x0, 0xa,
-    0xff, 0xc3, 0xec, 0x0, 0x0, 0x7f, 0x70, 0x0,
-    0x8, 0xfe, 0xcf, 0xc6, 0x20, 0x0, 0x0, 0x10,
-    0x0, 0x4, 0xff, 0x31, 0xdf, 0xff, 0xee, 0xed,
-    0xdd, 0xef, 0xf7, 0xb, 0x50, 0x0, 0x7c, 0xef,
-    0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+9001 "送" */
-    0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x31,
-    0x0, 0x0, 0x5, 0x50, 0x0, 0x4f, 0xb0, 0x0,
-    0xe, 0xe1, 0x0, 0x2, 0xff, 0x30, 0x0, 0xcf,
-    0x70, 0x9, 0xfa, 0x0, 0x0, 0x7, 0xfd, 0x0,
-    0x1, 0xe5, 0x4, 0xfd, 0x0, 0x0, 0x0, 0xb,
-    0xf9, 0x3d, 0xde, 0xdd, 0xff, 0xed, 0xd6, 0x0,
-    0x0, 0x1c, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xd0,
-    0x0, 0x0, 0x0, 0x78, 0x88, 0x0, 0x0, 0x2,
-    0xfd, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf1, 0xaa,
-    0xaa, 0xbf, 0xfa, 0xaa, 0xa8, 0x0, 0x44, 0xdf,
-    0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0,
-    0xc, 0xf1, 0x22, 0x22, 0xaf, 0xb2, 0x22, 0x21,
-    0x0, 0x0, 0xcf, 0x10, 0x0, 0x1e, 0xff, 0x90,
-    0x0, 0x0, 0x0, 0xc, 0xf1, 0x0, 0xc, 0xfe,
-    0xff, 0xc2, 0x0, 0x0, 0x0, 0xcf, 0x10, 0x3d,
-    0xff, 0x35, 0xff, 0xe3, 0x0, 0x0, 0xc, 0xf2,
-    0xaf, 0xfe, 0x30, 0x2, 0xdf, 0xf3, 0x0, 0x5,
-    0xff, 0x9c, 0xfb, 0x10, 0x0, 0x1, 0xce, 0x10,
-    0x5, 0xff, 0xff, 0xe9, 0x0, 0x0, 0x0, 0x0,
-    0x40, 0x3, 0xff, 0x74, 0xff, 0xff, 0xfe, 0xee,
-    0xee, 0xef, 0xf6, 0xc, 0x80, 0x1, 0x8c, 0xff,
-    0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+901A "通" */
-    0x0, 0x4, 0x0, 0x0, 0x11, 0x11, 0x11, 0x11,
-    0x10, 0x0, 0xb, 0xf4, 0x0, 0xef, 0xff, 0xff,
-    0xff, 0xff, 0x40, 0x0, 0x4f, 0xe0, 0x8, 0xaf,
-    0xc9, 0x9a, 0xff, 0xe2, 0x0, 0x0, 0xaf, 0x90,
-    0x3, 0xef, 0x87, 0xff, 0x90, 0x0, 0x0, 0x1,
-    0xf9, 0x1, 0x13, 0xdf, 0xfd, 0x41, 0x10, 0x0,
-    0x0, 0x2, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x20, 0x4, 0x55, 0x50, 0x1f, 0xd9, 0x9f, 0xe9,
-    0x9d, 0xf2, 0x0, 0xbf, 0xff, 0x1, 0xfd, 0x88,
-    0xfe, 0x88, 0xdf, 0x20, 0x2, 0x3e, 0xf0, 0x1f,
-    0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0xef,
-    0x1, 0xfb, 0x11, 0xed, 0x11, 0xaf, 0x20, 0x0,
-    0xe, 0xf0, 0x1f, 0xd9, 0x9f, 0xe9, 0x9d, 0xf2,
-    0x0, 0x0, 0xef, 0x1, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0x20, 0x0, 0xe, 0xf0, 0x1f, 0xb0, 0xe,
-    0xd0, 0xa, 0xf2, 0x0, 0x0, 0xef, 0x1, 0xfb,
-    0x0, 0xed, 0x1a, 0xff, 0x10, 0x0, 0x9f, 0xf7,
-    0x1f, 0xb0, 0xe, 0xc0, 0xef, 0xe0, 0x0, 0x6f,
-    0xfe, 0xf9, 0x52, 0x0, 0x0, 0x5, 0x51, 0x0,
-    0x2f, 0xf6, 0x3f, 0xff, 0xed, 0xdd, 0xdd, 0xdd,
-    0xef, 0x80, 0x97, 0x0, 0x19, 0xdf, 0xff, 0xff,
-    0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x11, 0x0, 0x0, 0x0,
-
-    /* U+9600 "阀" */
-    0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3f, 0xf6, 0xd, 0xff, 0xff, 0xff, 0xff, 0xfb,
-    0x3, 0xff, 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xfb,
-    0x43, 0x59, 0x36, 0x4, 0x60, 0x71, 0x0, 0xfb,
-    0xfc, 0x0, 0xaf, 0x19, 0xf3, 0xfd, 0x10, 0xfb,
-    0xfc, 0x1, 0xfa, 0x9, 0xf0, 0x4f, 0x70, 0xfb,
-    0xfc, 0x9, 0xf3, 0x8, 0xf3, 0x5a, 0xa2, 0xfb,
-    0xfc, 0x2f, 0xf7, 0xce, 0xff, 0xff, 0xf4, 0xfb,
-    0xfc, 0xbf, 0xf8, 0xcc, 0xf9, 0x34, 0x20, 0xfb,
-    0xfe, 0xff, 0xf1, 0x2, 0xf7, 0x1e, 0xc0, 0xfb,
-    0xfc, 0x89, 0xf1, 0x0, 0xfc, 0xef, 0x30, 0xfb,
-    0xfc, 0x8, 0xf1, 0x0, 0xdf, 0xf4, 0x0, 0xfb,
-    0xfc, 0x8, 0xf1, 0x5d, 0xff, 0x50, 0x92, 0xfb,
-    0xfc, 0x8, 0xfd, 0xff, 0x9f, 0xb2, 0xf5, 0xfb,
-    0xfc, 0x8, 0xf6, 0x91, 0xa, 0xfe, 0xf1, 0xfb,
-    0xfc, 0x8, 0xf1, 0x0, 0x1, 0xcf, 0x82, 0xfb,
-    0xfc, 0x3, 0x50, 0x0, 0x0, 0x9, 0xdf, 0xfa,
-    0xfc, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xe3,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32, 0x0,
-
-    /* U+969C "障" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x80,
-    0x0, 0x0, 0x1f, 0xff, 0xff, 0x33, 0x33, 0x4f,
-    0xe3, 0x33, 0x30, 0x1f, 0xfe, 0xff, 0x4f, 0xff,
-    0xff, 0xff, 0xff, 0xf1, 0x1f, 0xa0, 0xaf, 0x13,
-    0x6f, 0x93, 0x39, 0xf6, 0x30, 0x1f, 0xa0, 0xec,
-    0x12, 0x3f, 0xb2, 0x2b, 0xf3, 0x21, 0x1f, 0xa2,
-    0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f,
-    0xa7, 0xf2, 0x34, 0x44, 0x44, 0x44, 0x44, 0x43,
-    0x1f, 0xab, 0xf0, 0x7, 0x77, 0x77, 0x77, 0x77,
-    0x30, 0x1f, 0xa5, 0xf6, 0xf, 0xfe, 0xee, 0xee,
-    0xef, 0x90, 0x1f, 0xa0, 0xdd, 0xf, 0xd3, 0x33,
-    0x33, 0x4f, 0x90, 0x1f, 0xa0, 0x8f, 0x2f, 0xff,
-    0xff, 0xff, 0xff, 0x90, 0x1f, 0xa0, 0x7f, 0x3f,
-    0xc2, 0x22, 0x22, 0x3f, 0x90, 0x1f, 0xb5, 0xdf,
-    0x3f, 0xff, 0xff, 0xff, 0xff, 0x90, 0x1f, 0xae,
-    0xfe, 0x5, 0x55, 0x6f, 0xd5, 0x55, 0x30, 0x1f,
-    0xa6, 0x75, 0xaa, 0xaa, 0xaf, 0xea, 0xaa, 0xa7,
-    0x1f, 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xfb, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x1f, 0xc0,
-    0x0, 0x0, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x1f,
-    0xc0, 0x0, 0x0,
-
-    /* U+9884 "预" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x6f, 0xff, 0xff, 0xf6, 0xff, 0xff,
-    0xff, 0xff, 0xf8, 0x4, 0xcc, 0xcc, 0xff, 0x5c,
-    0xcc, 0xff, 0xdc, 0xcc, 0x60, 0x2, 0x50, 0x4f,
-    0xc0, 0x0, 0xd, 0xf0, 0x0, 0x0, 0x0, 0x9f,
-    0x6e, 0xe2, 0x4, 0x66, 0xfd, 0x66, 0x64, 0x0,
-    0x0, 0xcf, 0xf5, 0x0, 0xcf, 0xff, 0xff, 0xff,
-    0xb0, 0x0, 0x2, 0xfd, 0x0, 0xc, 0xe5, 0x55,
-    0x56, 0xfb, 0x1, 0xff, 0xff, 0xff, 0xfb, 0xcd,
-    0xb, 0xf1, 0x1f, 0xb0, 0x1d, 0xde, 0xfe, 0xdf,
-    0xbc, 0xd0, 0xbf, 0x11, 0xfb, 0x0, 0x0, 0x3f,
-    0x93, 0xf7, 0xcd, 0xb, 0xf1, 0x1f, 0xb0, 0x0,
-    0x3, 0xf9, 0x8f, 0x2c, 0xd0, 0xbf, 0x11, 0xfb,
-    0x0, 0x0, 0x3f, 0x9c, 0xd0, 0xcd, 0xc, 0xf0,
-    0x1f, 0xb0, 0x0, 0x3, 0xf9, 0x2, 0xc, 0xd0,
-    0xee, 0x1, 0xfb, 0x0, 0x0, 0x3f, 0x90, 0x0,
-    0x88, 0x5f, 0x94, 0x2a, 0x70, 0x0, 0x3, 0xf9,
-    0x0, 0x0, 0x3e, 0xf4, 0xfe, 0x60, 0x0, 0x0,
-    0x6f, 0x80, 0x0, 0x7f, 0xf7, 0x7, 0xff, 0xa0,
-    0x0, 0xff, 0xf7, 0x5, 0xef, 0xf7, 0x0, 0x3,
-    0xef, 0xc0, 0xa, 0xea, 0x10, 0x2f, 0xd3, 0x0,
-    0x0, 0x1, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x20,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+98CE "风" */
-    0x0, 0x1, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
-    0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xf1, 0x0, 0x0, 0x1f, 0xfd, 0xdd, 0xdd,
-    0xdd, 0xdd, 0xff, 0x10, 0x0, 0x1, 0xfe, 0x0,
-    0x0, 0x0, 0x1, 0xe, 0xf1, 0x0, 0x0, 0x1f,
-    0xe5, 0xe3, 0x0, 0x8, 0xe4, 0xef, 0x10, 0x0,
-    0x1, 0xfe, 0x5f, 0xd0, 0x1, 0xff, 0x1e, 0xf1,
-    0x0, 0x0, 0x1f, 0xe0, 0xaf, 0x90, 0x9f, 0x80,
-    0xef, 0x10, 0x0, 0x1, 0xfe, 0x1, 0xef, 0x8f,
-    0xe0, 0xe, 0xf1, 0x0, 0x0, 0x1f, 0xe0, 0x4,
-    0xff, 0xf5, 0x0, 0xef, 0x10, 0x0, 0x1, 0xfe,
-    0x0, 0xb, 0xfe, 0x0, 0xe, 0xf1, 0x0, 0x0,
-    0x2f, 0xd0, 0x4, 0xff, 0xf6, 0x0, 0xef, 0x10,
-    0x0, 0x4, 0xfb, 0x1, 0xef, 0xaf, 0xe1, 0xd,
-    0xf1, 0x0, 0x0, 0x7f, 0x80, 0xbf, 0xa0, 0xaf,
-    0xb0, 0xdf, 0x14, 0x10, 0xb, 0xf5, 0xaf, 0xd0,
-    0x1, 0xef, 0x5b, 0xf3, 0xbd, 0x1, 0xff, 0x7f,
-    0xe2, 0x0, 0x6, 0xfd, 0x9f, 0x5e, 0xb0, 0x7f,
-    0xa1, 0xb4, 0x0, 0x0, 0xb, 0x36, 0xff, 0xf7,
-    0xe, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
-    0xff, 0x20, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x7f, 0x70,
-
-    /* U+9AD8 "高" */
-    0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x7, 0xfa, 0x0, 0x0,
-    0x0, 0x0, 0x89, 0x99, 0x99, 0x9b, 0xff, 0x99,
-    0x99, 0x99, 0x94, 0xef, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x2f,
-    0xe7, 0x77, 0x77, 0x77, 0x9f, 0xc0, 0x0, 0x0,
-    0x2f, 0xd3, 0x33, 0x33, 0x33, 0x6f, 0xc0, 0x0,
-    0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
-    0x0, 0x0, 0x3, 0x33, 0x33, 0x33, 0x33, 0x33,
-    0x20, 0x0, 0x6, 0x88, 0x88, 0x88, 0x88, 0x88,
-    0x88, 0x88, 0x20, 0xb, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x50, 0xb, 0xf3, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xaf, 0x50, 0xb, 0xf3, 0x2f,
-    0xff, 0xff, 0xff, 0xb0, 0xaf, 0x50, 0xb, 0xf3,
-    0x2f, 0xd7, 0x77, 0x8f, 0xb0, 0xaf, 0x50, 0xb,
-    0xf3, 0x2f, 0xd7, 0x77, 0x9f, 0xb0, 0xaf, 0x50,
-    0xb, 0xf3, 0x2f, 0xff, 0xff, 0xff, 0xb0, 0xbf,
-    0x50, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x8e,
-    0xff, 0x30, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x0,
-    0x4e, 0xc6, 0x0,
-
     /* U+F001 "" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
@@ -3089,7 +2566,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
 
 static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
-    {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
     {.bitmap_index = 0, .adv_w = 82, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
     {.bitmap_index = 0, .adv_w = 117, .box_w = 4, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
     {.bitmap_index = 28, .adv_w = 132, .box_w = 7, .box_h = 6, .ofs_x = 1, .ofs_y = 9},
@@ -3186,124 +2662,96 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 6085, .adv_w = 106, .box_w = 6, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 6142, .adv_w = 182, .box_w = 11, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
     {.bitmap_index = 6164, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6354, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6535, .adv_w = 315, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6354, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 6525, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
     {.bitmap_index = 6706, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6896, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7077, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 7258, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7448, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 7619, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7809, .adv_w = 315, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7999, .adv_w = 315, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8189, .adv_w = 315, .box_w = 17, .box_h = 20, .ofs_x = 2, .ofs_y = -3},
-    {.bitmap_index = 8359, .adv_w = 315, .box_w = 17, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 8521, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8702, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8883, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9073, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 9244, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9434, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9624, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9805, .adv_w = 315, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = -3},
-    {.bitmap_index = 9965, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10136, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10317, .adv_w = 315, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10488, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10659, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10869, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11019, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11209, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11359, .adv_w = 220, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11464, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11674, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11884, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 12103, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12313, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12486, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12696, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12776, .adv_w = 240, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 12896, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 13115, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 13265, .adv_w = 220, .box_w = 14, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13412, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 13536, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13725, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 13896, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 14067, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 14191, .adv_w = 280, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 14372, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 14477, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 14582, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 14753, .adv_w = 280, .box_w = 18, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 14798, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14971, .adv_w = 400, .box_w = 26, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 15244, .adv_w = 360, .box_w = 24, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 15496, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 15686, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 15785, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 15884, .adv_w = 400, .box_w = 26, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 16092, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 16242, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 16452, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 16673, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 16844, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 17033, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 17204, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 17357, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 17507, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 17654, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 17843, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 18032, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 18205, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 18436, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 18594, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 18832, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 18995, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19158, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19321, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19484, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19647, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 19868, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 20036, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 20225, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 20446, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 20634, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 20792, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 6896, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7106, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7256, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7446, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7596, .adv_w = 220, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7701, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7911, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8121, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8340, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8550, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8723, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8933, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9013, .adv_w = 240, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9133, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9352, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9502, .adv_w = 220, .box_w = 14, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9649, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 9773, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9962, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10133, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10304, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 10428, .adv_w = 280, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 10609, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10714, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10819, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10990, .adv_w = 280, .box_w = 18, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
+    {.bitmap_index = 11035, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 11208, .adv_w = 400, .box_w = 26, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11481, .adv_w = 360, .box_w = 24, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11733, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11923, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 12022, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 12121, .adv_w = 400, .box_w = 26, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 12329, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 12479, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 12689, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 12910, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 13081, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13270, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 13441, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13594, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 13744, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 13891, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14080, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14269, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14442, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 14673, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14831, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 15069, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15232, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15395, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15558, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15721, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15884, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 16105, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 16273, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 16462, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 16683, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 16871, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 17029, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
  *  CHARACTER MAPPING
  *--------------------*/
 
-static const uint16_t unicode_list_2[] = {
-    0x0, 0x2d, 0x748, 0x11ff, 0x1472, 0x1625, 0x1690, 0x17d4,
-    0x181a, 0x1d14, 0x1dd5, 0x2615, 0x2639, 0x29a1, 0x2ddb, 0x2fbf,
-    0x3c8f, 0x40bb, 0x40e1, 0x40fa, 0x46e0, 0x477c, 0x4964, 0x49ae,
-    0x4bb8, 0xa0e1, 0xa0e8, 0xa0eb, 0xa0ec, 0xa0ed, 0xa0f1, 0xa0f3,
-    0xa0f5, 0xa0f9, 0xa0fc, 0xa101, 0xa106, 0xa107, 0xa108, 0xa11e,
-    0xa123, 0xa128, 0xa12b, 0xa12c, 0xa12d, 0xa131, 0xa132, 0xa133,
-    0xa134, 0xa147, 0xa148, 0xa14e, 0xa150, 0xa151, 0xa154, 0xa157,
-    0xa158, 0xa159, 0xa15b, 0xa173, 0xa175, 0xa1a4, 0xa1a5, 0xa1a7,
-    0xa1a9, 0xa1c0, 0xa1c7, 0xa1ca, 0xa1d3, 0xa1fc, 0xa204, 0xa23b,
-    0xa2cb, 0xa320, 0xa321, 0xa322, 0xa323, 0xa324, 0xa367, 0xa373,
-    0xa3cd, 0xa3e4, 0xa63a, 0xa8a2, 0xa982
+static const uint16_t unicode_list_1[] = {
+    0x0, 0x144, 0x174b, 0x192f, 0x8a51, 0x8a58, 0x8a5b, 0x8a5c,
+    0x8a5d, 0x8a61, 0x8a63, 0x8a65, 0x8a69, 0x8a6c, 0x8a71, 0x8a76,
+    0x8a77, 0x8a78, 0x8a8e, 0x8a93, 0x8a98, 0x8a9b, 0x8a9c, 0x8a9d,
+    0x8aa1, 0x8aa2, 0x8aa3, 0x8aa4, 0x8ab7, 0x8ab8, 0x8abe, 0x8ac0,
+    0x8ac1, 0x8ac4, 0x8ac7, 0x8ac8, 0x8ac9, 0x8acb, 0x8ae3, 0x8ae5,
+    0x8b14, 0x8b15, 0x8b17, 0x8b19, 0x8b30, 0x8b37, 0x8b3a, 0x8b43,
+    0x8b6c, 0x8b74, 0x8bab, 0x8c3b, 0x8c90, 0x8c91, 0x8c92, 0x8c93,
+    0x8c94, 0x8cd7, 0x8ce3, 0x8d3d, 0x8d54, 0x8faa, 0x9212, 0x92f2
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
 static const lv_font_fmt_txt_cmap_t cmaps[] =
 {
     {
-        .range_start = 10, .range_length = 1, .glyph_id_start = 1,
+        .range_start = 32, .range_length = 95, .glyph_id_start = 1,
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 32, .range_length = 95, .glyph_id_start = 2,
-        .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
-    },
-    {
-        .range_start = 20256, .range_length = 43395, .glyph_id_start = 97,
-        .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 85, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 26032, .range_length = 37619, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 64, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -3315,20 +2763,18 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
 /*Map glyph_ids to kern left classes*/
 static const uint8_t kern_left_class_mapping[] =
 {
-    0, 0, 0, 0, 1, 0, 0, 0,
-    0, 2, 3, 0, 0, 0, 4, 0,
-    4, 5, 0, 6, 0, 0, 0, 0,
-    0, 7, 0, 0, 8, 8, 0, 0,
-    0, 0, 0, 9, 10, 0, 11, 12,
-    13, 14, 0, 0, 15, 16, 17, 0,
-    0, 11, 18, 19, 20, 21, 22, 23,
-    24, 25, 16, 26, 27, 28, 0, 0,
-    0, 0, 0, 29, 30, 0, 0, 31,
-    32, 0, 33, 34, 35, 36, 37, 33,
-    33, 30, 30, 38, 39, 40, 41, 42,
-    43, 44, 36, 43, 45, 46, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 1, 0, 0, 0, 0,
+    2, 3, 0, 0, 0, 4, 0, 4,
+    5, 0, 6, 0, 0, 0, 0, 0,
+    7, 0, 0, 8, 8, 0, 0, 0,
+    0, 0, 9, 10, 0, 11, 12, 13,
+    14, 0, 0, 15, 16, 17, 0, 0,
+    11, 18, 19, 20, 21, 22, 23, 24,
+    25, 16, 26, 27, 28, 0, 0, 0,
+    0, 0, 29, 30, 0, 0, 31, 32,
+    0, 33, 34, 35, 36, 37, 33, 33,
+    30, 30, 38, 39, 40, 41, 42, 43,
+    44, 36, 43, 45, 46, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
@@ -3336,28 +2782,24 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0, 0, 0, 0, 0
 };
 
 /*Map glyph_ids to kern right classes*/
 static const uint8_t kern_right_class_mapping[] =
 {
-    0, 0, 0, 0, 1, 0, 0, 0,
-    0, 1, 0, 2, 3, 0, 4, 0,
-    4, 5, 0, 6, 0, 0, 0, 0,
-    0, 7, 0, 8, 9, 9, 0, 0,
-    0, 10, 0, 11, 0, 12, 0, 0,
-    0, 12, 0, 0, 13, 0, 0, 0,
-    0, 12, 0, 12, 0, 14, 15, 16,
-    17, 18, 19, 20, 21, 0, 0, 22,
-    0, 0, 0, 23, 0, 24, 24, 24,
-    25, 26, 27, 28, 29, 27, 30, 31,
-    31, 24, 32, 24, 31, 33, 34, 35,
-    36, 37, 38, 36, 31, 0, 0, 39,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 1, 0, 0, 0, 0,
+    1, 0, 2, 3, 0, 4, 0, 4,
+    5, 0, 6, 0, 0, 0, 0, 0,
+    7, 0, 8, 9, 9, 0, 0, 0,
+    10, 0, 11, 0, 12, 0, 0, 0,
+    12, 0, 0, 13, 0, 0, 0, 0,
+    12, 0, 12, 0, 14, 15, 16, 17,
+    18, 19, 20, 21, 0, 0, 22, 0,
+    0, 0, 23, 0, 24, 24, 24, 25,
+    26, 27, 28, 29, 27, 30, 31, 31,
+    24, 32, 24, 31, 33, 34, 35, 36,
+    37, 38, 36, 31, 0, 0, 39, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
@@ -3365,7 +2807,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0, 0, 0, 0, 0
 };
 
 /*Kern values between classes*/
@@ -3628,7 +3070,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
     .cmaps = cmaps,
     .kern_dsc = &kern_classes,
     .kern_scale = 16,
-    .cmap_num = 3,
+    .cmap_num = 2,
     .bpp = 4,
     .kern_classes = 1,
     .bitmap_format = 0,

+ 71 - 105
main/ui/generated/guider_fonts/lv_font_iconfont_24.c

@@ -22,39 +22,6 @@
 
 /*Store the image of the glyphs*/
 static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
-    /* U+E60A "" */
-    0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf5,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x8f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x6, 0xf9, 0xb, 0xf5, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xa0,
-    0x0, 0xbf, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x1, 0xec, 0x0, 0x0, 0xc, 0xe0, 0x2, 0x90,
-    0x0, 0x0, 0x0, 0x9, 0xf2, 0x0, 0x0, 0x1,
-    0x70, 0x1e, 0xfa, 0x0, 0x0, 0x0, 0x3f, 0x60,
-    0x0, 0x0, 0x0, 0x0, 0xdd, 0x5f, 0x80, 0x0,
-    0x0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x9, 0xf2,
-    0x7, 0xf4, 0x0, 0x2, 0xf5, 0x0, 0x0, 0x0,
-    0x0, 0x2f, 0x60, 0x0, 0xcd, 0x0, 0x8, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x3f,
-    0x50, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x1, 0xf6,
-    0x0, 0x0, 0xc, 0xb0, 0xf, 0x60, 0x91, 0x0,
-    0x0, 0x4, 0xf1, 0x63, 0x0, 0x7, 0xf0, 0x1f,
-    0x43, 0xf2, 0x0, 0x0, 0x6, 0xf0, 0xd8, 0x0,
-    0x5, 0xf1, 0x1f, 0x54, 0xf2, 0x0, 0x0, 0x6,
-    0xf0, 0xad, 0x40, 0x5, 0xf0, 0xf, 0x81, 0xf8,
-    0x0, 0x0, 0x3, 0xf4, 0x1c, 0xf5, 0xa, 0xd0,
-    0xa, 0xd0, 0x8f, 0x50, 0x0, 0x0, 0xbe, 0x20,
-    0x20, 0x7f, 0x50, 0x3, 0xf7, 0xa, 0xfd, 0xb8,
-    0x0, 0x1d, 0xfb, 0x9d, 0xf8, 0x0, 0x0, 0x7f,
-    0x70, 0x49, 0xb6, 0x0, 0x20, 0x7b, 0xda, 0x40,
-    0x0, 0x0, 0x8, 0xfc, 0x52, 0x2, 0x6d, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4d, 0xff,
-    0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x25, 0x54, 0x10, 0x0, 0x0, 0x0,
-    0x0, 0x0,
-
     /* U+E660 "" */
     0x0, 0x0, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x5e, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x3,
@@ -2028,68 +1995,67 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
 
 static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
-    {.bitmap_index = 0, .adv_w = 384, .box_w = 22, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 242, .adv_w = 384, .box_w = 14, .box_h = 24, .ofs_x = 5, .ofs_y = -3},
-    {.bitmap_index = 410, .adv_w = 384, .box_w = 24, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 710, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 926, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 1190, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 1406, .adv_w = 264, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 1559, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 1847, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 2135, .adv_w = 432, .box_w = 27, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 2432, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 2720, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 2963, .adv_w = 384, .box_w = 24, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
-    {.bitmap_index = 3275, .adv_w = 192, .box_w = 12, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 3389, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 3560, .adv_w = 432, .box_w = 27, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 3884, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 4100, .adv_w = 264, .box_w = 17, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 4304, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
-    {.bitmap_index = 4469, .adv_w = 336, .box_w = 21, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
-    {.bitmap_index = 4742, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4973, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5204, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
-    {.bitmap_index = 5369, .adv_w = 336, .box_w = 23, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 5622, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 5765, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 5908, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6139, .adv_w = 336, .box_w = 21, .box_h = 6, .ofs_x = 0, .ofs_y = 6},
-    {.bitmap_index = 6202, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6445, .adv_w = 480, .box_w = 31, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 6817, .adv_w = 432, .box_w = 29, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 7165, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7429, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 7576, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 7723, .adv_w = 480, .box_w = 31, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 8018, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8234, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8522, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 8835, .adv_w = 336, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9077, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9329, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9560, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9770, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9986, .adv_w = 240, .box_w = 17, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10190, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10442, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10694, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10937, .adv_w = 384, .box_w = 26, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
-    {.bitmap_index = 11275, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11491, .adv_w = 480, .box_w = 30, .box_h = 23, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11836, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12076, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12316, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12556, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12796, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13036, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 13346, .adv_w = 336, .box_w = 19, .box_h = 24, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 13574, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13826, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
-    {.bitmap_index = 14139, .adv_w = 480, .box_w = 30, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14409, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 14625, .adv_w = 386, .box_w = 25, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 0, .adv_w = 384, .box_w = 14, .box_h = 24, .ofs_x = 5, .ofs_y = -3},
+    {.bitmap_index = 168, .adv_w = 384, .box_w = 24, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 468, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 684, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 948, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 1164, .adv_w = 264, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 1317, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 1605, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 1893, .adv_w = 432, .box_w = 27, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 2190, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 2478, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 2721, .adv_w = 384, .box_w = 24, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
+    {.bitmap_index = 3033, .adv_w = 192, .box_w = 12, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 3147, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 3318, .adv_w = 432, .box_w = 27, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 3642, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 3858, .adv_w = 264, .box_w = 17, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 4062, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
+    {.bitmap_index = 4227, .adv_w = 336, .box_w = 21, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
+    {.bitmap_index = 4500, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4731, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4962, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
+    {.bitmap_index = 5127, .adv_w = 336, .box_w = 23, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 5380, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 5523, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 5666, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5897, .adv_w = 336, .box_w = 21, .box_h = 6, .ofs_x = 0, .ofs_y = 6},
+    {.bitmap_index = 5960, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6203, .adv_w = 480, .box_w = 31, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 6575, .adv_w = 432, .box_w = 29, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 6923, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7187, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 7334, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 7481, .adv_w = 480, .box_w = 31, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 7776, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7992, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8280, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 8593, .adv_w = 336, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8835, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9087, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9318, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9528, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9744, .adv_w = 240, .box_w = 17, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9948, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10200, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10452, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10695, .adv_w = 384, .box_w = 26, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
+    {.bitmap_index = 11033, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11249, .adv_w = 480, .box_w = 30, .box_h = 23, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11594, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 11834, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12074, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12314, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12554, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12794, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13104, .adv_w = 336, .box_w = 19, .box_h = 24, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 13332, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13584, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
+    {.bitmap_index = 13897, .adv_w = 480, .box_w = 30, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14167, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14383, .adv_w = 386, .box_w = 25, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
@@ -2097,22 +2063,22 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_0[] = {
-    0x0, 0x56, 0x9f7, 0x9fe, 0xa01, 0xa02, 0xa03, 0xa07,
-    0xa09, 0xa0b, 0xa0f, 0xa12, 0xa17, 0xa1c, 0xa1d, 0xa1e,
-    0xa34, 0xa39, 0xa3e, 0xa41, 0xa42, 0xa43, 0xa47, 0xa48,
-    0xa49, 0xa4a, 0xa5d, 0xa5e, 0xa64, 0xa66, 0xa67, 0xa6a,
-    0xa6d, 0xa6e, 0xa6f, 0xa71, 0xa89, 0xa8b, 0xaba, 0xabb,
-    0xabd, 0xabf, 0xad6, 0xadd, 0xae0, 0xae9, 0xb12, 0xb1a,
-    0xb51, 0xbe1, 0xc36, 0xc37, 0xc38, 0xc39, 0xc3a, 0xc7d,
-    0xc89, 0xce3, 0xcfa, 0xf50, 0x11b8, 0x1298
+    0x0, 0x9a1, 0x9a8, 0x9ab, 0x9ac, 0x9ad, 0x9b1, 0x9b3,
+    0x9b5, 0x9b9, 0x9bc, 0x9c1, 0x9c6, 0x9c7, 0x9c8, 0x9de,
+    0x9e3, 0x9e8, 0x9eb, 0x9ec, 0x9ed, 0x9f1, 0x9f2, 0x9f3,
+    0x9f4, 0xa07, 0xa08, 0xa0e, 0xa10, 0xa11, 0xa14, 0xa17,
+    0xa18, 0xa19, 0xa1b, 0xa33, 0xa35, 0xa64, 0xa65, 0xa67,
+    0xa69, 0xa80, 0xa87, 0xa8a, 0xa93, 0xabc, 0xac4, 0xafb,
+    0xb8b, 0xbe0, 0xbe1, 0xbe2, 0xbe3, 0xbe4, 0xc27, 0xc33,
+    0xc8d, 0xca4, 0xefa, 0x1162, 0x1242
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
 static const lv_font_fmt_txt_cmap_t cmaps[] =
 {
     {
-        .range_start = 58890, .range_length = 4761, .glyph_id_start = 1,
-        .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 62, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 58976, .range_length = 4675, .glyph_id_start = 1,
+        .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 61, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 

+ 72 - 86
main/ui/generated/guider_fonts/lv_font_montserratMedium_16.c

@@ -833,18 +833,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xb5, 0xc, 0x86, 0xf5, 0x1e, 0x20, 0xf0, 0x3,
     0xef, 0x90, 0x2, 0x0, 0x0, 0x10, 0x0,
 
-    /* U+00B3 "³" */
-    0x5f, 0xff, 0xfb, 0x0, 0x0, 0x3e, 0x20, 0x0,
-    0x2e, 0x40, 0x0, 0x5, 0xce, 0x60, 0x0, 0x0,
-    0x2f, 0x3, 0x50, 0x5, 0xe0, 0x3b, 0xef, 0xc3,
-    0x0,
-
-    /* U+2082 "₂" */
-    0x1a, 0xff, 0xb1, 0x2, 0x71, 0x9, 0xa0, 0x0,
-    0x0, 0x8a, 0x0, 0x0, 0x4e, 0x20, 0x0, 0x5e,
-    0x30, 0x0, 0x6e, 0x20, 0x0, 0x3f, 0xfe, 0xee,
-    0x10,
-
     /* U+F001 "" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xdc,
@@ -1890,68 +1878,66 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 4535, .adv_w = 77, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = -3},
     {.bitmap_index = 4558, .adv_w = 90, .box_w = 5, .box_h = 15, .ofs_x = 0, .ofs_y = -3},
     {.bitmap_index = 4596, .adv_w = 149, .box_w = 9, .box_h = 5, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 4619, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 4644, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4669, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4805, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 4901, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5013, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5109, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5175, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5303, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5431, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5557, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5685, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5793, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5921, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5977, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6061, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6205, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6301, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6389, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 6469, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6595, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6700, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6798, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 6878, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 6990, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7060, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7130, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7228, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 7256, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 7364, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7524, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 7684, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7812, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 7882, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 7952, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8092, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8188, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8316, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 8461, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8566, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8678, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8776, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8874, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8970, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 9066, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9178, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9290, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9398, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 9560, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9656, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9806, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 9906, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10006, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10106, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10206, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10306, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 10453, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10549, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10661, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10806, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10926, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11022, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 4619, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4755, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 4851, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 4963, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5059, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5125, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5253, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5381, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 5507, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5635, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5743, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5871, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 5927, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6011, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6155, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6251, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6339, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 6419, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6545, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6650, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6748, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 6828, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 6940, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7010, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7080, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7178, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
+    {.bitmap_index = 7206, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7314, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7474, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 7634, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7762, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 7832, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 7902, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8042, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8138, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8266, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 8411, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8516, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8628, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8726, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8824, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8920, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 9016, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9128, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9240, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9348, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9510, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9606, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9756, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 9856, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 9956, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10056, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10156, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10256, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 10403, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10499, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10611, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 10756, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10876, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10972, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
@@ -1959,14 +1945,14 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_1[] = {
-    0x0, 0x1fcf, 0xef4e, 0xef55, 0xef58, 0xef59, 0xef5a, 0xef5e,
-    0xef60, 0xef62, 0xef66, 0xef69, 0xef6e, 0xef73, 0xef74, 0xef75,
-    0xef8b, 0xef90, 0xef95, 0xef98, 0xef99, 0xef9a, 0xef9e, 0xef9f,
-    0xefa0, 0xefa1, 0xefb4, 0xefb5, 0xefbb, 0xefbd, 0xefbe, 0xefc1,
-    0xefc4, 0xefc5, 0xefc6, 0xefc8, 0xefe0, 0xefe2, 0xf011, 0xf012,
-    0xf014, 0xf016, 0xf02d, 0xf034, 0xf037, 0xf040, 0xf069, 0xf071,
-    0xf0a8, 0xf138, 0xf18d, 0xf18e, 0xf18f, 0xf190, 0xf191, 0xf1d4,
-    0xf1e0, 0xf23a, 0xf251, 0xf4a7, 0xf70f, 0xf7ef
+    0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14,
+    0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x42,
+    0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53,
+    0x66, 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77,
+    0x78, 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xc8,
+    0xdf, 0xe6, 0xe9, 0xf2, 0x11b, 0x123, 0x15a, 0x1ea,
+    0x23f, 0x240, 0x241, 0x242, 0x243, 0x286, 0x292, 0x2ec,
+    0x303, 0x559, 0x7c1, 0x8a1
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
@@ -1977,8 +1963,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 179, .range_length = 63472, .glyph_id_start = 96,
-        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 62, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 61441, .range_length = 2210, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 60, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -2009,7 +1995,7 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0
 };
 
 /*Map glyph_ids to kern right classes*/
@@ -2034,7 +2020,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0
 };
 
 /*Kern values between classes*/

+ 1 - 1
main/ui/generated/images/images_list.mk

@@ -1 +1 @@
-GEN_CSRCS += _back_RGB565A8_480x480.c _huise_RGB565A8_74x26.c _you_RGB565A8_30x30.c _auto_off_RGB565A8_80x80.c _auto_on_RGB565A8_80x80.c _xf_off_RGB565A8_80x80.c _xf_on_RGB565A8_80x80.c _js_off_RGB565A8_80x80.c _js_on_RGB565A8_80x80.c _nxh_off_RGB565A8_80x80.c _nxh_on_RGB565A8_80x80.c _power_RGB565A8_50x50.c _power_open_RGB565A8_50x50.c _speed_RGB565A8_20x20.c _hum_RGB565A8_20x20.c _WiFiruo_RGB565A8_30x30.c
+GEN_CSRCS += _back_RGB565A8_480x480.c _songfeng_RGB565A8_60x60.c _songfengkai_RGB565A8_60x60.c _jiashi_RGB565A8_60x60.c _jiashikai_RGB565A8_60x60.c _chushi_RGB565A8_60x60.c _chushikai_RGB565A8_60x60.c _power_RGB565A8_50x50.c _power_open_RGB565A8_50x50.c _speed_RGB565A8_20x20.c _hum_RGB565A8_20x20.c _WiFiruo_RGB565A8_30x30.c _xinfeng_RGB565A8_60x60.c _xinfengkai_RGB565A8_60x60.c _proof_RGB565A8_22x22.c

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
main/ui/generated/images/images_md5.json


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 117 - 945
main/ui/generated/setup_scr_FactorySettingPage.c


+ 1 - 1
main/ui/generated/setup_scr_SettingPage.c

@@ -359,7 +359,7 @@ void setup_scr_SettingPage(lv_ui *ui)
     lv_textarea_set_text(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_placeholder_text(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_password_bullet(ui->SettingPage_txt_wifi_password, "*");
-    lv_textarea_set_password_mode(ui->SettingPage_txt_wifi_password, true);
+    lv_textarea_set_password_mode(ui->SettingPage_txt_wifi_password, false);
     lv_textarea_set_one_line(ui->SettingPage_txt_wifi_password, true);
     lv_textarea_set_accepted_chars(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_max_length(ui->SettingPage_txt_wifi_password, 32);

+ 239 - 417
main/ui/generated/setup_scr_screen_main.c

@@ -22,17 +22,14 @@ void set_xf_mode(lv_ui *ui, uint16_t mode) {
         lv_obj_remove_state(child, LV_STATE_CHECKED);
     }
     switch (mode) {
-    case NXH:
-        lv_obj_add_state(ui->screen_main_imgbtn_nxh, LV_STATE_CHECKED);
+    case CS:
+        lv_obj_add_state(ui->screen_main_imgbtn_cs, LV_STATE_CHECKED);
         break;
     case JS:
         lv_obj_add_state(ui->screen_main_imgbtn_js, LV_STATE_CHECKED);
         break;
-    case XF:
-        lv_obj_add_state(ui->screen_main_imgbtn_xf, LV_STATE_CHECKED);
-        break;
-    case AUTO:
-        lv_obj_add_state(ui->screen_main_imgbtn_auto, LV_STATE_CHECKED);
+    case SF:
+        lv_obj_add_state(ui->screen_main_imgbtn_sf, LV_STATE_CHECKED);
         break;
     default:
         break;
@@ -53,45 +50,45 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_bg_image_opa(ui->screen_main, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_bg_image_recolor_opa(ui->screen_main, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_arc_AIQ
-    ui->screen_main_arc_AIQ = lv_arc_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_arc_AIQ, 78, 56);
-    lv_obj_set_size(ui->screen_main_arc_AIQ, 326, 320);
-    lv_arc_set_mode(ui->screen_main_arc_AIQ, LV_ARC_MODE_NORMAL);
-    lv_arc_set_range(ui->screen_main_arc_AIQ, 0, 100);
-    lv_arc_set_bg_angles(ui->screen_main_arc_AIQ, 180, 0);
-    lv_arc_set_value(ui->screen_main_arc_AIQ, 100);
-    lv_arc_set_rotation(ui->screen_main_arc_AIQ, 0);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_bg_opa(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_border_width(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_width(ui->screen_main_arc_AIQ, 12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_opa(ui->screen_main_arc_AIQ, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_color(ui->screen_main_arc_AIQ, lv_color_hex(0xe6e6e6), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_rounded(ui->screen_main_arc_AIQ, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_arc_AIQ, 6, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_arc_width(ui->screen_main_arc_AIQ, 12, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_opa(ui->screen_main_arc_AIQ, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_color(ui->screen_main_arc_AIQ, lv_color_hex(0x2FDA64), LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_rounded(ui->screen_main_arc_AIQ, true, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_KNOB, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_bg_opa(ui->screen_main_arc_AIQ, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_all(ui->screen_main_arc_AIQ, 5, LV_PART_KNOB|LV_STATE_DEFAULT);
+    //Write codes screen_main_arc_hum
+    ui->screen_main_arc_hum = lv_arc_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_arc_hum, 110, 77);
+    lv_obj_set_size(ui->screen_main_arc_hum, 256, 256);
+    lv_arc_set_mode(ui->screen_main_arc_hum, LV_ARC_MODE_NORMAL);
+    lv_arc_set_range(ui->screen_main_arc_hum, 0, 100);
+    lv_arc_set_bg_angles(ui->screen_main_arc_hum, 20, 19);
+    lv_arc_set_value(ui->screen_main_arc_hum, 70);
+    lv_arc_set_rotation(ui->screen_main_arc_hum, 0);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_bg_opa(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_border_width(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_width(ui->screen_main_arc_hum, 12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_opa(ui->screen_main_arc_hum, 90, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_color(ui->screen_main_arc_hum, lv_color_hex(0x005cff), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_rounded(ui->screen_main_arc_hum, true, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_radius(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_top(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_bottom(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_left(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_right(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_arc_width(ui->screen_main_arc_hum, 17, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_opa(ui->screen_main_arc_hum, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_color(ui->screen_main_arc_hum, lv_color_hex(0x00afff), LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_rounded(ui->screen_main_arc_hum, true, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_KNOB, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_bg_opa(ui->screen_main_arc_hum, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_all(ui->screen_main_arc_hum, 5, LV_PART_KNOB|LV_STATE_DEFAULT);
 
     //Write codes screen_main_label_temp
     ui->screen_main_label_temp = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_temp, 75, 290);
-    lv_obj_set_size(ui->screen_main_label_temp, 65, 30);
-    lv_label_set_text(ui->screen_main_label_temp, "0");
+    lv_obj_set_pos(ui->screen_main_label_temp, 222, 339);
+    lv_obj_set_size(ui->screen_main_label_temp, 34, 30);
+    lv_label_set_text(ui->screen_main_label_temp, "30");
     lv_label_set_long_mode(ui->screen_main_label_temp, LV_LABEL_LONG_WRAP);
 
     //Write style for screen_main_label_temp, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
@@ -112,16 +109,16 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_hum_vul2
     ui->screen_main_label_hum_vul2 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_hum_vul2, 175, 290);
-    lv_obj_set_size(ui->screen_main_label_hum_vul2, 69, 25);
-    lv_label_set_text(ui->screen_main_label_hum_vul2, "0");
+    lv_obj_set_pos(ui->screen_main_label_hum_vul2, 183, 217);
+    lv_obj_set_size(ui->screen_main_label_hum_vul2, 81, 47);
+    lv_label_set_text(ui->screen_main_label_hum_vul2, "60");
     lv_label_set_long_mode(ui->screen_main_label_hum_vul2, LV_LABEL_LONG_WRAP);
 
     //Write style for screen_main_label_hum_vul2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
     lv_obj_set_style_border_width(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_hum_vul2, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_hum_vul2, &lv_font_Alibaba_PuHuiTi_Medium_26, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_hum_vul2, &lv_font_Alibaba_PuHuiTi_Medium_48, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_hum_vul2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -133,56 +130,10 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_co2
-    ui->screen_main_label_co2 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_co2, 291, 290);
-    lv_obj_set_size(ui->screen_main_label_co2, 69, 26);
-    lv_label_set_text(ui->screen_main_label_co2, "0");
-    lv_label_set_long_mode(ui->screen_main_label_co2, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_co2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_co2, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_co2, &lv_font_Alibaba_PuHuiTi_Medium_26, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_co2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_co2, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_6
-    ui->screen_main_label_6 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_6, 360, 299);
-    lv_obj_set_size(ui->screen_main_label_6, 66, 18);
-    lv_label_set_text(ui->screen_main_label_6, "ppm");
-    lv_label_set_long_mode(ui->screen_main_label_6, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_6, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_6, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_6, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_6, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_6, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_label_7
     ui->screen_main_label_7 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_7, 244, 299);
-    lv_obj_set_size(ui->screen_main_label_7, 66, 18);
+    lv_obj_set_pos(ui->screen_main_label_7, 267, 228);
+    lv_obj_set_size(ui->screen_main_label_7, 66, 31);
     lv_label_set_text(ui->screen_main_label_7, "%");
     lv_label_set_long_mode(ui->screen_main_label_7, LV_LABEL_LONG_WRAP);
 
@@ -190,7 +141,7 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_border_width(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_7, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_7, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_7, &lv_font_Alibaba_PuHuiTi_Medium_32, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_7, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -204,7 +155,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_8
     ui->screen_main_label_8 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_8, 140, 299);
+    lv_obj_set_pos(ui->screen_main_label_8, 264, 347);
     lv_obj_set_size(ui->screen_main_label_8, 66, 18);
     lv_label_set_text(ui->screen_main_label_8, "℃");
     lv_label_set_long_mode(ui->screen_main_label_8, LV_LABEL_LONG_WRAP);
@@ -227,8 +178,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_9
     ui->screen_main_label_9 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_9, 108, 328);
-    lv_obj_set_size(ui->screen_main_label_9, 40, 26);
+    lv_obj_set_pos(ui->screen_main_label_9, 195, 339);
+    lv_obj_set_size(ui->screen_main_label_9, 27, 26);
     lv_label_set_text(ui->screen_main_label_9, "");
     lv_label_set_long_mode(ui->screen_main_label_9, LV_LABEL_LONG_WRAP);
 
@@ -250,8 +201,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_10
     ui->screen_main_label_10 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_10, 225, 328);
-    lv_obj_set_size(ui->screen_main_label_10, 36, 25);
+    lv_obj_set_pos(ui->screen_main_label_10, 222, 149);
+    lv_obj_set_size(ui->screen_main_label_10, 36, 40);
     lv_label_set_text(ui->screen_main_label_10, "");
     lv_label_set_long_mode(ui->screen_main_label_10, LV_LABEL_LONG_WRAP);
 
@@ -259,7 +210,7 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_border_width(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_10, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_10, &lv_font_iconfont_24, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_10, &lv_font_iconfont_32, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_10, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -271,29 +222,6 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_11
-    ui->screen_main_label_11 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_11, 323, 327);
-    lv_obj_set_size(ui->screen_main_label_11, 53, 27);
-    lv_label_set_text(ui->screen_main_label_11, "CO₂");
-    lv_label_set_long_mode(ui->screen_main_label_11, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_11, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_11, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_11, &lv_font_Alibaba_PuHuiTi_Medium_18, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_11, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_11, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_label_14
     ui->screen_main_label_14 = lv_label_create(ui->screen_main);
     lv_obj_set_pos(ui->screen_main_label_14, 505, 2);
@@ -319,132 +247,10 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_14, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_14, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_lvxin
-    ui->screen_main_label_lvxin = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_lvxin, 535, 53);
-    lv_obj_set_size(ui->screen_main_label_lvxin, 127, 20);
-    lv_obj_add_flag(ui->screen_main_label_lvxin, LV_OBJ_FLAG_HIDDEN);
-    lv_obj_add_flag(ui->screen_main_label_lvxin, LV_OBJ_FLAG_HIDDEN);
-    lv_label_set_text(ui->screen_main_label_lvxin, "100%");
-    lv_label_set_long_mode(ui->screen_main_label_lvxin, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_lvxin, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_lvxin, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_lvxin, &lv_font_Alibaba_PuHuiTi_Medium_18, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_lvxin, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_lvxin, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_AIQ_vul
-    ui->screen_main_label_AIQ_vul = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_AIQ_vul, 179, 185);
-    lv_obj_set_size(ui->screen_main_label_AIQ_vul, 95, 44);
-    lv_label_set_text(ui->screen_main_label_AIQ_vul, "0");
-    lv_label_set_long_mode(ui->screen_main_label_AIQ_vul, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_AIQ_vul, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_AIQ_vul, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_AIQ_vul, &lv_font_Alibaba_PuHuiTi_Medium_48, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_AIQ_vul, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_AIQ_vul, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_17
-    ui->screen_main_label_17 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_17, 274, 214);
-    lv_obj_set_size(ui->screen_main_label_17, 66, 18);
-    lv_label_set_text(ui->screen_main_label_17, "ug/m³");
-    lv_label_set_long_mode(ui->screen_main_label_17, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_17, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_17, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_17, &lv_font_Alibaba_PuHuiTi_Medium_14, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_17, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_17, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_18
-    ui->screen_main_label_18 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_18, 203, 141);
-    lv_obj_set_size(ui->screen_main_label_18, 74, 26);
-    lv_label_set_text(ui->screen_main_label_18, "PM2.5");
-    lv_label_set_long_mode(ui->screen_main_label_18, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_18, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_18, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_18, &lv_font_Alibaba_PuHuiTi_Medium_22, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_18, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_18, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_src(ui->screen_main_label_18, &_huise_RGB565A8_74x26, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_opa(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_AIQ_sign
-    ui->screen_main_label_AIQ_sign = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_AIQ_sign, 157, 178);
-    lv_obj_set_size(ui->screen_main_label_AIQ_sign, 30, 30);
-    lv_label_set_text(ui->screen_main_label_AIQ_sign, "");
-    lv_label_set_long_mode(ui->screen_main_label_AIQ_sign, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_AIQ_sign, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_AIQ_sign, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_AIQ_sign, &lv_font_montserratMedium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_AIQ_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_AIQ_sign, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_src(ui->screen_main_label_AIQ_sign, &_you_RGB565A8_30x30, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_opa(ui->screen_main_label_AIQ_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_recolor_opa(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_cont_mode
     ui->screen_main_cont_mode = lv_obj_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_cont_mode, 40, 370);
-    lv_obj_set_size(ui->screen_main_cont_mode, 420, 109);
+    lv_obj_set_pos(ui->screen_main_cont_mode, 14, 372);
+    lv_obj_set_size(ui->screen_main_cont_mode, 349, 103);
     lv_obj_set_scrollbar_mode(ui->screen_main_cont_mode, LV_SCROLLBAR_MODE_OFF);
 
     //Write style for screen_main_cont_mode, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
@@ -460,99 +266,57 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_right(ui->screen_main_cont_mode, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_cont_mode, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_imgbtn_auto
-    ui->screen_main_imgbtn_auto = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_auto, 321, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_auto, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_auto, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_auto, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_RELEASED, &_auto_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_PRESSED, &_auto_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_auto_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_auto_label = lv_label_create(ui->screen_main_imgbtn_auto);
-    lv_label_set_text(ui->screen_main_imgbtn_auto_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_auto_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_auto_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_auto, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_auto, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-
-    //Write codes screen_main_imgbtn_xf
-    ui->screen_main_imgbtn_xf = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_xf, 214, -1);
-    lv_obj_set_size(ui->screen_main_imgbtn_xf, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_xf, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_xf, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_RELEASED, &_xf_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_PRESSED, &_xf_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_xf_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_xf_label = lv_label_create(ui->screen_main_imgbtn_xf);
-    lv_label_set_text(ui->screen_main_imgbtn_xf_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_xf_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_xf_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_xf, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_xf, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    //Write codes screen_main_imgbtn_sf
+    ui->screen_main_imgbtn_sf = lv_imagebutton_create(ui->screen_main_cont_mode);
+    lv_obj_set_pos(ui->screen_main_imgbtn_sf, 256, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_sf, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_sf, LV_OBJ_FLAG_EVENT_BUBBLE);
+    lv_obj_add_flag(ui->screen_main_imgbtn_sf, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_RELEASED, &_songfeng_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_PRESSED, &_songfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_songfengkai_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_sf_label = lv_label_create(ui->screen_main_imgbtn_sf);
+    lv_label_set_text(ui->screen_main_imgbtn_sf_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_sf_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_sf_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_sf, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_sf, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
     //Write codes screen_main_imgbtn_js
     ui->screen_main_imgbtn_js = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_js, 107, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_js, 80, 80);
+    lv_obj_set_pos(ui->screen_main_imgbtn_js, 144, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_js, 60, 60);
     lv_obj_add_flag(ui->screen_main_imgbtn_js, LV_OBJ_FLAG_EVENT_BUBBLE);
     lv_obj_add_flag(ui->screen_main_imgbtn_js, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_RELEASED, &_js_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_PRESSED, &_js_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_js_on_RGB565A8_80x80, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_RELEASED, &_jiashi_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_PRESSED, &_jiashikai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_jiashikai_RGB565A8_60x60, NULL, NULL);
     ui->screen_main_imgbtn_js_label = lv_label_create(ui->screen_main_imgbtn_js);
     lv_label_set_text(ui->screen_main_imgbtn_js_label, "");
     lv_label_set_long_mode(ui->screen_main_imgbtn_js_label, LV_LABEL_LONG_WRAP);
@@ -586,47 +350,47 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_js, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
     lv_obj_set_style_image_opa(ui->screen_main_imgbtn_js, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
-    //Write codes screen_main_imgbtn_nxh
-    ui->screen_main_imgbtn_nxh = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_nxh, 0, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_nxh, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_nxh, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_nxh, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_RELEASED, &_nxh_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_PRESSED, &_nxh_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_nxh_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_nxh_label = lv_label_create(ui->screen_main_imgbtn_nxh);
-    lv_label_set_text(ui->screen_main_imgbtn_nxh_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_nxh_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_nxh_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_nxh, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_nxh, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    //Write codes screen_main_imgbtn_cs
+    ui->screen_main_imgbtn_cs = lv_imagebutton_create(ui->screen_main_cont_mode);
+    lv_obj_set_pos(ui->screen_main_imgbtn_cs, 32, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_cs, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_cs, LV_OBJ_FLAG_EVENT_BUBBLE);
+    lv_obj_add_flag(ui->screen_main_imgbtn_cs, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_RELEASED, &_chushi_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_PRESSED, &_chushikai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_chushikai_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_cs_label = lv_label_create(ui->screen_main_imgbtn_cs);
+    lv_label_set_text(ui->screen_main_imgbtn_cs_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_cs_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_cs_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_cs, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_cs, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
     //Write codes screen_main_imgbtn_power
     ui->screen_main_imgbtn_power = lv_imagebutton_create(ui->screen_main);
@@ -693,9 +457,9 @@ void setup_scr_screen_main(lv_ui *ui)
     ui->screen_main_slider_speedSet_sign = lv_slider_create(ui->screen_main_cont_speedset);
     lv_obj_set_pos(ui->screen_main_slider_speedSet_sign, 0, 0);
     lv_obj_set_size(ui->screen_main_slider_speedSet_sign, 40, 245);
-    lv_slider_set_range(ui->screen_main_slider_speedSet_sign, 0, 100);
+    lv_slider_set_range(ui->screen_main_slider_speedSet_sign, 0, 90);
     lv_slider_set_mode(ui->screen_main_slider_speedSet_sign, LV_SLIDER_MODE_NORMAL);
-    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, 40, LV_ANIM_OFF);
+    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, 30, LV_ANIM_OFF);
 
     //Write style for screen_main_slider_speedSet_sign, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
     lv_obj_set_style_bg_opa(ui->screen_main_slider_speedSet_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -718,22 +482,9 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_bg_opa(ui->screen_main_slider_speedSet_sign, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_slider_speedSet_sign, 50, LV_PART_KNOB|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_line_2
-    ui->screen_main_line_2 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_2, 1, 148);
-    lv_obj_set_size(ui->screen_main_line_2, 37, 48);
-    static lv_point_precise_t screen_main_line_2[] = {{0, 0},{180, 0}};
-    lv_line_set_points(ui->screen_main_line_2, screen_main_line_2, 2);
-
-    //Write style for screen_main_line_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_line_width(ui->screen_main_line_2, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_color(ui->screen_main_line_2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_opa(ui->screen_main_line_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_rounded(ui->screen_main_line_2, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_line_1
     ui->screen_main_line_1 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_1, 1, 199);
+    lv_obj_set_pos(ui->screen_main_line_1, 1, 165);
     lv_obj_set_size(ui->screen_main_line_1, 37, 48);
     static lv_point_precise_t screen_main_line_1[] = {{0, 0},{180, 0}};
     lv_line_set_points(ui->screen_main_line_1, screen_main_line_1, 2);
@@ -744,22 +495,9 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_line_opa(ui->screen_main_line_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_line_rounded(ui->screen_main_line_1, true, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_line_3
-    ui->screen_main_line_3 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_3, 1, 48);
-    lv_obj_set_size(ui->screen_main_line_3, 37, 48);
-    static lv_point_precise_t screen_main_line_3[] = {{0, 0},{180, 0}};
-    lv_line_set_points(ui->screen_main_line_3, screen_main_line_3, 2);
-
-    //Write style for screen_main_line_3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_line_width(ui->screen_main_line_3, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_color(ui->screen_main_line_3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_opa(ui->screen_main_line_3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_rounded(ui->screen_main_line_3, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_line_5
     ui->screen_main_line_5 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_5, 1, 97);
+    lv_obj_set_pos(ui->screen_main_line_5, 1, 84);
     lv_obj_set_size(ui->screen_main_line_5, 37, 48);
     static lv_point_precise_t screen_main_line_5[] = {{0, 0},{180, 0}};
     lv_line_set_points(ui->screen_main_line_5, screen_main_line_5, 2);
@@ -919,7 +657,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_lab_err
     ui->screen_main_lab_err = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_lab_err, 327, 7);
+    lv_obj_set_pos(ui->screen_main_lab_err, 292, 7);
     lv_obj_set_size(ui->screen_main_lab_err, 32, 32);
     lv_obj_add_flag(ui->screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_lab_err, "");
@@ -943,7 +681,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_lab_485_err
     ui->screen_main_lab_485_err = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_lab_485_err, 360, 7);
+    lv_obj_set_pos(ui->screen_main_lab_485_err, 359, 7);
     lv_obj_set_size(ui->screen_main_lab_485_err, 32, 32);
     lv_obj_add_flag(ui->screen_main_lab_485_err, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_lab_485_err, "");
@@ -967,7 +705,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_wifi
     ui->screen_main_label_wifi = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_wifi, 427, 2);
+    lv_obj_set_pos(ui->screen_main_label_wifi, 425, 2);
     lv_obj_set_size(ui->screen_main_label_wifi, 30, 30);
     lv_obj_add_flag(ui->screen_main_label_wifi, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_label_wifi, "");
@@ -1043,8 +781,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_filter_error
     ui->screen_main_label_filter_error = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_filter_error, 294, 7);
-    lv_obj_set_size(ui->screen_main_label_filter_error, 32, 32);
+    lv_obj_set_pos(ui->screen_main_label_filter_error, 269, 7);
+    lv_obj_set_size(ui->screen_main_label_filter_error, 21, 26);
     lv_obj_add_flag(ui->screen_main_label_filter_error, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_label_filter_error, "");
     lv_label_set_long_mode(ui->screen_main_label_filter_error, LV_LABEL_LONG_WRAP);
@@ -1065,15 +803,99 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_filter_error, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_filter_error, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
+    //Write codes screen_main_imgbtn_new_fan
+    ui->screen_main_imgbtn_new_fan = lv_imagebutton_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_imgbtn_new_fan, 374, 385);
+    lv_obj_set_size(ui->screen_main_imgbtn_new_fan, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_new_fan, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_RELEASED, &_xinfeng_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_PRESSED, &_xinfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_xinfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_CHECKED_PRESSED, &_xinfeng_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_new_fan_label = lv_label_create(ui->screen_main_imgbtn_new_fan);
+    lv_label_set_text(ui->screen_main_imgbtn_new_fan_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_new_fan_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_new_fan_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_new_fan, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_new_fan, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+
+    //Write codes screen_main_img_proof
+    ui->screen_main_img_proof = lv_image_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_img_proof, 237, 7);
+    lv_obj_set_size(ui->screen_main_img_proof, 22, 22);
+    lv_obj_add_flag(ui->screen_main_img_proof, LV_OBJ_FLAG_HIDDEN);
+    lv_obj_add_flag(ui->screen_main_img_proof, LV_OBJ_FLAG_CLICKABLE);
+    lv_image_set_src(ui->screen_main_img_proof, &_proof_RGB565A8_22x22);
+    lv_image_set_pivot(ui->screen_main_img_proof, 50,50);
+    lv_image_set_rotation(ui->screen_main_img_proof, 0);
+
+    //Write style for screen_main_img_proof, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_img_proof, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_image_opa(ui->screen_main_img_proof, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write codes screen_main_lab_485_err_js
+    ui->screen_main_lab_485_err_js = lv_label_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_lab_485_err_js, 324, 7);
+    lv_obj_set_size(ui->screen_main_lab_485_err_js, 32, 32);
+    lv_obj_add_flag(ui->screen_main_lab_485_err_js, LV_OBJ_FLAG_HIDDEN);
+    lv_label_set_text(ui->screen_main_lab_485_err_js, "");
+    lv_label_set_long_mode(ui->screen_main_lab_485_err_js, LV_LABEL_LONG_WRAP);
+
+    //Write style for screen_main_lab_485_err_js, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_border_width(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_radius(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_color(ui->screen_main_lab_485_err_js, lv_color_hex(0xff7300), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_lab_485_err_js, &lv_font_iconfont_22, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_lab_485_err_js, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_letter_space(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_line_space(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_lab_485_err_js, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_bg_opa(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_top(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_right(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_bottom(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_left(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
     //The custom code of screen_main.
-    lv_obj_clear_flag(ui->screen_main_arc_AIQ, LV_OBJ_FLAG_CLICKABLE);
-    lv_arc_set_range(ui->screen_main_arc_AIQ, 0, 500);
-    lv_arc_set_value(ui->screen_main_arc_AIQ, 500);
     lv_obj_remove_flag(ui->screen_main_slider_humSet_sign, LV_OBJ_FLAG_GESTURE_BUBBLE);
     lv_obj_remove_flag(ui->screen_main_slider_speedSet_sign, LV_OBJ_FLAG_GESTURE_BUBBLE);
+    lv_obj_clear_flag(ui->screen_main_arc_hum, LV_OBJ_FLAG_CLICKABLE);
+    if(xf_status.new_fan==1)
+    {
+        lv_obj_add_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    } else {
+        lv_obj_remove_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    }
 
     lv_label_set_text_fmt(ui->screen_main_label_humSet_vul, "%d%%",  xf_status.set_max_hum);
-    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*20, LV_ANIM_ON);
+    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*30, LV_ANIM_ON);
     lv_label_set_text_fmt(ui->screen_main_label_spedSet_vul, "%d档",xf_status.fan_speed);
     lv_slider_set_value(ui->screen_main_slider_humSet_sign, xf_status.set_max_hum, LV_ANIM_ON);
     set_xf_mode(ui, xf_status.mode);

+ 0 - 140
main/ui/generated/widgets_init.c

@@ -107,144 +107,4 @@ void lv_SettingPage_spinbox_2_decrement_event_cb(lv_event_t * event)
         lv_spinbox_decrement(guider_ui.SettingPage_spinbox_2);
     }
 }
-void lv_FactorySettingPage_spinbox_exhaust1_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust1_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust3_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust3_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust5_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust5_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust4_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust4_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust2_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust2_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply1_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply1_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply2_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply2_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply3_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply3_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply4_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply4_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply5_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply5_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply5_vol);
-    }
-}
 

+ 0 - 30
main/ui/generated/widgets_init.h

@@ -26,36 +26,6 @@ void digital_clock_count(int * hour, int * minute, int * seconds, char * meridie
 extern lv_obj_t * SettingPage_spinbox_2;
 void lv_SettingPage_spinbox_2_increment_event_cb(lv_event_t * event);
 void lv_SettingPage_spinbox_2_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust1_vol;
-void lv_FactorySettingPage_spinbox_exhaust1_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust1_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust3_vol;
-void lv_FactorySettingPage_spinbox_exhaust3_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust3_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust5_vol;
-void lv_FactorySettingPage_spinbox_exhaust5_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust5_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust4_vol;
-void lv_FactorySettingPage_spinbox_exhaust4_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust4_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust2_vol;
-void lv_FactorySettingPage_spinbox_exhaust2_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust2_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply1_vol;
-void lv_FactorySettingPage_spinbox_supply1_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply1_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply2_vol;
-void lv_FactorySettingPage_spinbox_supply2_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply2_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply3_vol;
-void lv_FactorySettingPage_spinbox_supply3_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply3_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply4_vol;
-void lv_FactorySettingPage_spinbox_supply4_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply4_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply5_vol;
-void lv_FactorySettingPage_spinbox_supply5_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply5_vol_decrement_event_cb(lv_event_t * event);
 
 
 

+ 119 - 114
server_cert/ssl.pem

@@ -1,126 +1,131 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAlBk/TREC75ziGXtiBCEk0dQWAs39ic4b9ttTqZQkcOg9tkD0
-T3z93SlyehlYbnPRBTtqsWZRTlKcm/XWX0EnWQ83E4JNyFO4miSmwaPfi5cnLbLk
-VSfSp9KOr/75vGtIIIEtQiCkpfrZSINW/twiYrkuaFA236CaRVL6fr6A6WP8YiTs
-vPMuURJmDtSJCObTFbd5q+ypDbtqOqECZKvF2XInd5RCFElx/hbx/B079niGV3Xl
-v1UE3058wrqPkyBIcdrIbT/YmiRhL5T8vVz9lcJyjDHqqF787R6OI6ucRev77Mm0
-mBcBY8T2VcrflodxccM0vaS775y+4mZO7sUzuwIDAQABAoIBAFAfWJ/ZFD2OIsSm
-e+DADat3knDyALkNSRPElP6ppw1ul/SCL6rRdIayZbyo+a7H+c1a194h/Nri1teJ
-qPDfzunf0Ww8kthOcxDxw0X/4nEi1Y9juSRY5x7kS03sJDBL2jm7qUCdaHZjwCn6
-5JX9gpzmkrTcsNNLkCrxOZRYfGXHXNDXtDt2PxPhj9wkI/U/Y4dDXkyLA5H9m29o
-SGlazOoLqp2xMhLnrkXgNIvUcUjF/Rz0d/9whj2UvgDwOrfWwKlgpOtylEoJeCTP
-i/Qmi/TIXdLXh4oJHP60BAcTLRnV3K3O7/2+uE8jwyslSKLKwAv7fkxu4XMjlnNE
-GNTMbAECgYEA5Od5LMvi5jZLpF5tugMiU9mLRCHtOmeEIp+uUHJOGfp/yfbpkTKo
-SU3ZzC6gc+6TnfplZMPsrAeeoYst2QBXbotZeGxsVWN5CKB0vYQ1vadNht16CmaU
-fmyNanR6myTAV/kX5EUwfSl+0bPZq16WOd73J3GOYw95eN/Qa6V2S0UCgYEApaEb
-ijNMZK5pJ9QRyF6yS+UEqPKYRNn2QjJ865TEyd87OhW45uqvebAiYvF3QdALOA2w
-PK3yAo9nzTKYTACjA3zoQZdMlUJ4CatCFv6QmzqOM5Kbf2/hUSkbv3IHCgvki+WE
-UDt1YBWQ3r+vrMRHYIkgFCvgabo1sCBuD3e18v8CgYEAkKJ5/IYvrorsLMXFy10j
-mZvB1aEiRl8WLNJ80DQJiXywtiqf1rENiJP6ZHupwtciyxVmb88kgmamIyjQJWeD
-10ORmvfXU/TwizTnzr/1PQqzf939uQisF1371SIYPmNwbaXlJMVbKBrKGTLs/M1d
-Wt+5h2DHOWyTsn6pMPtxzYkCgYBY53OK6SI2YNAdCt5IuVvnFRU9QoqtWnmu6r7X
-DVHcMjDuar6HZK2wGfU7OvWSpAOBoQdaatwet682G9RX53eY5bEdlAMNk1Ivjne5
-NAeW6wVtdWJ2My20jOZSCvjwUZXp6dbt4hyM6MaMakP37puJm9FWQn8BAWzUD3RE
-ZTOLLQKBgQCJMtI3l7bRXguf1q+IuNg0d+9HGdo/103B8BOxNG8e0zVUqtIWbonA
-KAkdGOpER5EJSNMn4mFafQcPzyP7v19aHSZPEJWMmuFW2kbIIsZTAuAvv/9iv0sv
-//5pa9nqZlD6XIa74Ua0fS6A4iSEWFfbyaFugxjvJTPkOdKgiuB9qA==
+MIIEpAIBAAKCAQEA1OedMAQWt7R1pjOgm9P3G9RtU1ODRtfoE0vgkA0FnjoiEion
+D7deWRTy3AwRdvRS07QcvbkPZqkFnTPRbbt8LKUomN0FU4rfA9Rpcsjwu4EPVD58
+nzJXhu7iX1Y7yHbafQMRDtkQSLoqvl7tgfx2AVQbWM66x3o+qelV+kK2EVTCGbWP
+DBC5weSeFWYX83csNKebFeAAdu/v5ItyPCxbjYtdEe+UUZ1tDvj1JyRxhyxA8oQB
+5twCQOTlMWycPaVxROy4I27XxcSVjS5NsdstxS1q7p2fq2SA7z4HSZEZ1bOTP29r
+bgd/8Y9LMRBxT3ySAgYo9c/XNzf5q+IUjRTKgQIDAQABAoIBAAGBSIfl3NWxgET2
+OXeXpH8n6/2zMQrgjNgnaMVBP6Tc3OUgwUQLdBI7BvUjJV51n1q2UREHYdCnzOL4
+br+CqmNwZ6rI92nzRWrergcJaygB8ZraPR4QiG1Os/8RwUNu5sO26VXKlyKZz6KK
+irEo7hotTU6hrwnFZYIdpMIdaSqg9kiuRwvj2McjvyDfUlgm7aLTZJNFWqbKskjX
+kO0jfrrwbOx3ItIhBRXuP/aVLCF6hKN9fanOhKWdjmO1NjNR1MZyo3MIvAIc970F
+x7zuOWA7QDyi6Zc9Ehcwu1uVslnOpmBE8lr60Rfzi6Pa1f/l59fydZBZgYXyIlb5
+dPTCxqECgYEA9tClnFtg4Xvj65EybICCbFVYBRMQWMQF+6F30bRSnWpHM4s/fcgy
+k7lNcfhHc3xcq+TRXRwb0Q8btIaWYggGDLl5v+M8uByB27cB9SAE8zGevCfd8lWh
+hYyPPcCdYTJb6HLwudBkvD0laxY0LpDc4BSBNo7woT48Th0wZSOsdFkCgYEA3NPp
+Q6yKRLXTe58+oeKsSzqQO0vx3bXKoSs+nG03arQEyGx370eYKkER1HGuhMoThBpd
+zHG+7ay3OnfKJuHjfg4XRFHmVbbngj7wZmvaLFNrDv0A8NIA/xv9GtXieSZtZJqV
+fuknEWD9Fq6BeMTBLVPbPG5S7Lhtj0ETh+9nYmkCgYEAmBdwxk4lAC35AFOkD+qM
+9DcPG2lo/FonGa2hiU8mTayNHb0kLd1tFUzt5VpKpWawMJi7TzYgCg7WUsNQ7i3l
+lHfDB7T+2LFwcDVw9l15z2b3WxjyEwAjnYlFR5dnI9sFedNCdi5ttPW1Fi1DkKJi
+CY95JGam76XLQZOJG/oErlkCgYBIqd5e616QH3iYfB0C7fCdzIZ7TJEo0FH92JoA
+pRuQG+5a+P46GUfj14eDbWjsvwXO+VIWHPOjh6q/LX2yb7AI4aAcVgrB966UOBuo
+yCKBZW2b//qYQ7IaP954PxsHnHJwoUFCAnxdhpmhJgjqcWvTe31vlCnrRQCgG9zO
+ZSOSyQKBgQDMiNqE4Hg3KEvZ/UZZqdevlAlL0/y5D/tE4Tl/pOFg783CsIt4IQ+r
+cDYQCnjanHlFQ2pf7RG5UiBbjnvdnRXpSKUn0X0viG5fOBOg+QPxsStXht6SJPZV
+6Hz5+HCx41+eoT/JEJ1xDOdGtHjCO/j00owX3cnz5XxcTT4HYe9ing==
 -----END RSA PRIVATE KEY-----
 -----BEGIN CERTIFICATE-----
-MIIG1TCCBb2gAwIBAgIQBXU9LmSFTXdtnlRZjToYRjANBgkqhkiG9w0BAQsFADBf
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMR4wHAYDVQQDExVHZW9UcnVzdCBDTiBSU0EgQ0EgRzEw
-HhcNMjQxMDEwMDAwMDAwWhcNMjUxMTA3MjM1OTU5WjCBjTELMAkGA1UEBhMCQ04x
-EjAQBgNVBAgMCeWxseS4nOecgTESMBAGA1UEBwwJ5rWO5Y2X5biCMTkwNwYDVQQK
-DDDlsbHkuJzmsLjnu63nu7/lu7rkupTmgZLnjq/looPnp5HmioDmnInpmZDlhazl
-j7gxGzAZBgNVBAMMEioueW9uZ3h1bHZqaWFuLmNvbTCCASIwDQYJKoZIhvcNAQEB
-BQADggEPADCCAQoCggEBAJQZP00RAu+c4hl7YgQhJNHUFgLN/YnOG/bbU6mUJHDo
-PbZA9E98/d0pcnoZWG5z0QU7arFmUU5SnJv11l9BJ1kPNxOCTchTuJokpsGj34uX
-Jy2y5FUn0qfSjq/++bxrSCCBLUIgpKX62UiDVv7cImK5LmhQNt+gmkVS+n6+gOlj
-/GIk7LzzLlESZg7UiQjm0xW3eavsqQ27ajqhAmSrxdlyJ3eUQhRJcf4W8fwdO/Z4
-hld15b9VBN9OfMK6j5MgSHHayG0/2JokYS+U/L1c/ZXCcowx6qhe/O0ejiOrnEXr
-++zJtJgXAWPE9lXK35aHcXHDNL2ku++cvuJmTu7FM7sCAwEAAaOCA1wwggNYMB8G
-A1UdIwQYMBaAFJGfXjEVrhCfrWDB98HMqkg0LwwmMB0GA1UdDgQWBBSaFCJJUqrb
-k3zJvtfCUrqC5KQxFDAvBgNVHREEKDAmghIqLnlvbmd4dWx2amlhbi5jb22CEHlv
-bmd4dWx2amlhbi5jb20wPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAnBggrBgEFBQcC
-ARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB/wQEAwIFoDAd
-BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYDVR0fBG4wbDA0oDKgMIYu
-aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0dlb1RydXN0Q05SU0FDQUcxLmNybDA0
-oDKgMIYuaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0dlb1RydXN0Q05SU0FDQUcx
-LmNybDBvBggrBgEFBQcBAQRjMGEwIQYIKwYBBQUHMAGGFWh0dHA6Ly9vY3NwLmRj
-b2NzcC5jbjA8BggrBgEFBQcwAoYwaHR0cDovL2NybC5kaWdpY2VydC1jbi5jb20v
-R2VvVHJ1c3RDTlJTQUNBRzEuY3J0MAwGA1UdEwEB/wQCMAAwggF+BgorBgEEAdZ5
-AgQCBIIBbgSCAWoBaAB2ABLxTjS9U3JMhAYZw48/ehP457Vih4icbTAFhOvlhiY6
-AAABknRkZpMAAAQDAEcwRQIhANq4em1Cbq9RFLIuGbW0AY6UrsjzuYu+rwUr4Gjc
-DFXaAiBXaAxySzE7kaT61dGv8DnlkjWX64TewRgrUAKxPzW/BAB2AMz7D2qFcQll
-/pWbU87psnwi6YVcDZeNtql+VMD+TA2wAAABknRkZnAAAAQDAEcwRQIhAJ74Bx8O
-FF+bDXdqFaLc2cwNGsclk4fN6QKcEZmywbpcAiApOrvlVNFhKpQWpY5xBXmpr2nI
-OhCYf25lSqp0o7cSAwB2AN3cyjSV1+EWBeeVMvrHn/g9HFDf2wA6FBJ2Ciysu8gq
-AAABknRkaVMAAAQDAEcwRQIgXBjsFwp/r5Ynto7knh5h1BghqXb8TDZ8y3UOolnR
-UMYCIQDvE1NlCrbcSeVL8dxdufjbODd0XDH1rC0Ann6wrwvzOzANBgkqhkiG9w0B
-AQsFAAOCAQEAQMg9R9B26HGi0fufnerKWD+OEZCK4rxv2zGHDU/PHSghUh0S7N/3
-Nl/ePvVW6t4ZsUY1RPUfq2Q9Hgy3x95t/+fjIc5mtfMAbM2SvclPytFSayL5y0/H
-aMOmRIE7njUgXoMYDiDBHCYC3/PtbWiOrrsDVWTK76SLSIpGrVcnHqHXXmVMytGs
-u+r3qv629hQiNWqy6pIXD0HBTk4VN+qs+ecobKGBDFcVFcgS6XxiciGj2QhOA6Q+
-wgzR3YsFqbEGczeJVzy3wyUPnS4DK7a8cVM210FvX82d8O5fqIPXwpMi9xE93rhQ
-tnS+5DYkotBVmd2T76SuLurTkcnwpIBYrA==
+MIIHvzCCBaegAwIBAgIQCEVPgPr08UAUIqHt3NWRNTANBgkqhkiG9w0BAQsFADBb
+MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xMzAxBgNVBAMT
+Kkdlb1RydXN0IEcyIFRMUyBDTiBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMTAeFw0y
+NTEwMjAwMDAwMDBaFw0yNjExMTAyMzU5NTlaMIGNMQswCQYDVQQGEwJDTjESMBAG
+A1UECAwJ5bGx5Lic55yBMRIwEAYDVQQHDAnmtY7ljZfluIIxOTA3BgNVBAoMMOWx
+seS4nOawuOe7ree7v+W7uuS6lOaBkueOr+Wig+enkeaKgOaciemZkOWFrOWPuDEb
+MBkGA1UEAwwSKi55b25neHVsdmppYW4uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA1OedMAQWt7R1pjOgm9P3G9RtU1ODRtfoE0vgkA0FnjoiEion
+D7deWRTy3AwRdvRS07QcvbkPZqkFnTPRbbt8LKUomN0FU4rfA9Rpcsjwu4EPVD58
+nzJXhu7iX1Y7yHbafQMRDtkQSLoqvl7tgfx2AVQbWM66x3o+qelV+kK2EVTCGbWP
+DBC5weSeFWYX83csNKebFeAAdu/v5ItyPCxbjYtdEe+UUZ1tDvj1JyRxhyxA8oQB
+5twCQOTlMWycPaVxROy4I27XxcSVjS5NsdstxS1q7p2fq2SA7z4HSZEZ1bOTP29r
+bgd/8Y9LMRBxT3ySAgYo9c/XNzf5q+IUjRTKgQIDAQABo4IDSjCCA0YwHwYDVR0j
+BBgwFoAUQU6OaZ30biXseBQcftfNHZnP+WswHQYDVR0OBBYEFFqF1PJU1JToBZJE
+Al4M2vncDiw2MC8GA1UdEQQoMCaCEioueW9uZ3h1bHZqaWFuLmNvbYIQeW9uZ3h1
+bHZqaWFuLmNvbTA+BgNVHSAENzA1MDMGBmeBDAECAjApMCcGCCsGAQUFBwIBFhto
+dHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0PAQH/BAQDAgWgMB0GA1Ud
+JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBPBgNVHR8ESDBGMESgQqBAhj5odHRw
+Oi8vY3JsLmRpZ2ljZXJ0LmNuL0dlb1RydXN0RzJUTFNDTlJTQTQwOTZTSEEyNTYy
+MDIyQ0ExLmNybDCBgwYIKwYBBQUHAQEEdzB1MCMGCCsGAQUFBzABhhdodHRwOi8v
+b2NzcC5kaWdpY2VydC5jbjBOBggrBgEFBQcwAoZCaHR0cDovL2NhY2VydHMuZGln
+aWNlcnQuY24vR2VvVHJ1c3RHMlRMU0NOUlNBNDA5NlNIQTI1NjIwMjJDQTEuY3J0
+MAwGA1UdEwEB/wQCMAAwggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB1ANdtfRDR
+p/V3wsfpX9cAv/mCyTNaZeHQswFzF8DIxWl3AAABmf9emAsAAAQDAEYwRAIgb+5Y
+wdy6JQmvPp61aBnMmUa2UdPetMhi86j2Txl4+2gCIBbtYJI/Qp0ZMJlyfWoMpC85
+hJCUl7X8+qdYroc/QyzDAHcAwjF+V0UZo0XufzjespBB68fCIVoiv3/Vta12mtkO
+Us0AAAGZ/16XvQAABAMASDBGAiEAhLs6DzBy781s6PnsuNpVeVKUZIBrCXfM0Hmn
+ynkpDjUCIQC5I/ve1JiTvDiou7W65Fy9gtzX68szNzN4zjCcPGjO3gB1AJROQ4f6
+7MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABmf9el9QAAAQDAEYwRAIgVQNO
+cxGu8SbeVJSyzT3zsLpq2t6KWS5VqksraTC28RMCIAOpmgiRWbCzMSrnjIWMS1OE
+Tza6VOttEIk80HInR9RLMA0GCSqGSIb3DQEBCwUAA4ICAQBG2TDAe06tQicYCcHw
+ya195fJElxxzj3/VcxIlyFIfb5DQ4VmaCDHNySt8Ki18ZEcu/8RVGHRfRaZr7dIh
++YJrsSsXFX2K2AIPgnMwBESOeys4NM0aCIWjmJ8T4j8VKX+Y6pX/po5b3vK0TewT
+94+4tYTJkIyPWSlcilW3SiAyXuZ5vzO4BQ3eO+kzaVnvhPpumYn4qaboY6gD9GDl
+eE24oJMVIHJjNoud14bgzKnQD6BxsmyfG7EruTRslGsK0WNg2y6NyyjxNPBhC0sm
+psmUUuklfiE1+UO3OGiw6iufn2qLACZJU1j/H1WqEtftvcCUU3ZXWGNiFR68tt67
+rdmi4M+kFDkjzAUaQYvmSctY/or/E6JWfG+C1lnGkKVVUcjAnjLTN92/GGar9lJG
+j1ce4SJzHVZ/O/s1zP9xmgp4APldCyIKFjI9sBoys2Qa7Qmlx5wDL4ppKl1aA5ac
+HQvqWDMxScCBad9xfKX1OMqmN2KCcDQ12KyrpZMT41VGdC0CF6faYkS4wDfVSDjl
+cnP4T8sqBnj/7XoGOXjWVPHIsKnXUq3/+TjmsP+BZlxe+ZGOzZTZ7oor9fx8xDln
+Yv+5mKti44DCX/skUbsFE/JhPhKgUDnQZ6HHe/pXvHBPBtzqslkTwZ77VbOuECux
+9e7yWnUkL8ptZCnPijqIy0Ir8g==
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFGjCCBAKgAwIBAgIQCgRw0Ja8ihLIkKbfgm7sSzANBgkqhkiG9w0BAQsFADBh
+MIIFxjCCBK6gAwIBAgIQDwa7CTBhSCZ/yhtxwduAfTANBgkqhkiG9w0BAQsFADBh
 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0xOTA2MjAxMjI3NThaFw0yOTA2MjAxMjI3NThaMF8xCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xHjAcBgNVBAMTFUdlb1RydXN0IENOIFJTQSBDQSBHMTCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBALFJ+j1KeZVG4jzgQob23lQ8PJUNhY31ufZihuUx
-hYc6HSU4Lw0fxfA43a9DpJl74M3E6F1ZRBOfJ+dWnaiyYD0PxRIQd4wJisti4Uad
-vz61IYY/oQ/Elxk/X7GFDquYuxCSyBdHtTVMXCxFSvQ2C/7jWZFDfGGKKNoQSiJy
-wDe8iiHbUOakLMmXmOTZyWJnFdR/TH5YNTiMKCNUPHAleG4IigGxDyL/gbwrdDNi
-bDA4lUNhD0xNvPjQ8BNKqm5HWDvirUuHdC+4hpi0GJO34O3iiRV16YmWTuVFNboU
-LDZ0+PQtctJnatpuZKPGyKX6jCpPvzzPw/EhNDlpEdrYHZMCAwEAAaOCAc4wggHK
-MB0GA1UdDgQWBBSRn14xFa4Qn61gwffBzKpINC8MJjAfBgNVHSMEGDAWgBQD3lA1
-VtFMu2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYB
-BQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMBAf8wMQYIKwYBBQUHAQEEJTAj
-MCEGCCsGAQUFBzABhhVodHRwOi8vb2NzcC5kY29jc3AuY24wRAYDVR0fBD0wOzA5
-oDegNYYzaHR0cDovL2NybC5kaWdpY2VydC1jbi5jb20vRGlnaUNlcnRHbG9iYWxS
-b290Q0EuY3JsMIHOBgNVHSAEgcYwgcMwgcAGBFUdIAAwgbcwKAYIKwYBBQUHAgEW
-HGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgYoGCCsGAQUFBwICMH4MfEFu
-eSB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjb25zdGl0dXRlcyBhY2NlcHRhbmNl
-IG9mIHRoZSBSZWx5aW5nIFBhcnR5IEFncmVlbWVudCBsb2NhdGVkIGF0IGh0dHBz
-Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9ycGEtdWEwDQYJKoZIhvcNAQELBQADggEBABfg
-eXrxIrtlixBv+KMDeqKxtNJbZiLDzJBkGCd4HI63X5eS6BElJBn6mI9eYVrr7qOL
-Tp7WiO02Sf1Yrpaz/ePSjZ684o89UAGpxOfbgVSMvo/a07n/220jUWLxzaJhQNLu
-lACXwwWsxYf8twP8glkoIHnUUNTlhsyyl1ZzvVC4bDpI4hC6QkJGync1MNqYSMj8
-tZbhQNw3HdSmcTO0Nc/J/pK2VZc6fFbKBgspmzdHc6jMKG2t4lisXEysS3wPcg0a
-Nfr1Odl5+myh3MnMK08f6pTXvduLz+QZiIh8IYL+Z6QWgTZ9e2jnV8juumX1I8Ge
-7cZdtNnTCB8hFfwGLUA=
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
+MjAeFw0yMjEyMTUwMDAwMDBaFw0zMjEyMTQyMzU5NTlaMFsxCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEzMDEGA1UEAxMqR2VvVHJ1c3QgRzIg
+VExTIENOIFJTQTQwOTYgU0hBMjU2IDIwMjIgQ0ExMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEAn1dxOo4OzYa4O1EJd0nhFI5QB/kXAJTHRI6C1J2Gz86B
+Ge9+DD8R4vexG7/QnUvV+5887o+G4enlkDwJV1Pehq4i0n+X6VKIPg5cThCx6/o0
+3bUkLWld7slhi3Hli/MaosZZuytdU1uCzQlGpaLB2TiTZbDImiVaykdfwl8V6AXP
+0Ab4wIcvPggl4qlwyPsBY6NODbP884BmL1ntdXfzecGst30FnAtm4w+PTo0I1T3F
+ITYXaNuIJnKonD1xXaN4Ar/rvcpKpntxVyZQ2T1Lb7vlfYISqNF+1ugpTzKnI1z7
+xV7tSqXd2vs6Csy6yFN+QLWwMnGWuQkvrO1m+F7V85S9ECpbqn9qNtKl8gIQ7JeZ
+BmBdLroW+4j1PDzBWmSWKB+gvRubVSTuoDR3VCtlI4G/Uh+ObF4UStbhKjr1SNCW
+JcrB1oF+wWBl8Bvozm4xflyyGDY47KCP/Fn9X5GHDNLQA9R0zqDKRumipp1UXswF
+uzH0I+gOuqSdZSsYID9XSVq6adcJ3rIMAcTuODcrPrJssOFKGFUbmY/VxbxMgYHI
+/07Zfdxoa+q0osWpofbMhLPZz9UuJFBCLsjgSckkSU02/4itmLm9e3lt6E/4q9Mc
+MCaS8+qrLWKG9wQtviC8zGynEXpxjEQE8WyrfeYKyXwZFCPB4rpTw1joJmGFeLUC
+AwEAAaOCAX4wggF6MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFEFOjmmd
+9G4l7HgUHH7XzR2Zz/lrMB8GA1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485
+MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
+dAYIKwYBBQUHAQEEaDBmMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5kaWdpY2Vy
+dC5jbjA/BggrBgEFBQcwAoYzaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY24vRGln
+aUNlcnRHbG9iYWxSb290RzIuY3J0MEAGA1UdHwQ5MDcwNaAzoDGGL2h0dHA6Ly9j
+cmwuZGlnaWNlcnQuY24vRGlnaUNlcnRHbG9iYWxSb290RzIuY3JsMD0GA1UdIAQ2
+MDQwCwYJYIZIAYb9bAIBMAcGBWeBDAEBMAgGBmeBDAECATAIBgZngQwBAgIwCAYG
+Z4EMAQIDMA0GCSqGSIb3DQEBCwUAA4IBAQAkpDVI+nCKnAEEpDfldytHXUYOr2ys
+aGeboE3d1KAN4Gt+eioRvgNdmDKbVFCYY0C6ErIXIvSGXafsprU2dclka/kmH+9U
+4q3v5Acx6KwcnEuYLN0QOtrlQ9s3Z4IbIzdYUv8IauXC27a3x99x2WMVxNu1KGJy
+0r1Z+Xya1adf9/e1LFj1CGdq9HfQ/HFWP2khzxQZ4u62sOHuZdPgtNidFOhQLC+2
+5cNsPgqsaCrGLbSjzni7VN7NhAbTsLhA1oz41vHHB+q4ZzNlC01elmPBOtupe2HM
+/lqMA/J/nTxc718THdxpszFllAET1/lFEolnqihpUFPaPjRwU7yZIseS
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIFGjCCBAKgAwIBAgIQCgRw0Ja8ihLIkKbfgm7sSzANBgkqhkiG9w0BAQsFADBh
+MIIEfjCCA2agAwIBAgIQD+Ayq4RNAzEGxQyOE8iwaDANBgkqhkiG9w0BAQsFADBh
 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0xOTA2MjAxMjI3NThaFw0yOTA2MjAxMjI3NThaMF8xCzAJBgNVBAYTAlVT
+QTAeFw0yNDAxMTgwMDAwMDBaFw0zMTExMDkyMzU5NTlaMGExCzAJBgNVBAYTAlVT
 MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xHjAcBgNVBAMTFUdlb1RydXN0IENOIFJTQSBDQSBHMTCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBALFJ+j1KeZVG4jzgQob23lQ8PJUNhY31ufZihuUx
-hYc6HSU4Lw0fxfA43a9DpJl74M3E6F1ZRBOfJ+dWnaiyYD0PxRIQd4wJisti4Uad
-vz61IYY/oQ/Elxk/X7GFDquYuxCSyBdHtTVMXCxFSvQ2C/7jWZFDfGGKKNoQSiJy
-wDe8iiHbUOakLMmXmOTZyWJnFdR/TH5YNTiMKCNUPHAleG4IigGxDyL/gbwrdDNi
-bDA4lUNhD0xNvPjQ8BNKqm5HWDvirUuHdC+4hpi0GJO34O3iiRV16YmWTuVFNboU
-LDZ0+PQtctJnatpuZKPGyKX6jCpPvzzPw/EhNDlpEdrYHZMCAwEAAaOCAc4wggHK
-MB0GA1UdDgQWBBSRn14xFa4Qn61gwffBzKpINC8MJjAfBgNVHSMEGDAWgBQD3lA1
-VtFMu2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYB
-BQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMBAf8wMQYIKwYBBQUHAQEEJTAj
-MCEGCCsGAQUFBzABhhVodHRwOi8vb2NzcC5kY29jc3AuY24wRAYDVR0fBD0wOzA5
-oDegNYYzaHR0cDovL2NybC5kaWdpY2VydC1jbi5jb20vRGlnaUNlcnRHbG9iYWxS
-b290Q0EuY3JsMIHOBgNVHSAEgcYwgcMwgcAGBFUdIAAwgbcwKAYIKwYBBQUHAgEW
-HGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgYoGCCsGAQUFBwICMH4MfEFu
-eSB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjb25zdGl0dXRlcyBhY2NlcHRhbmNl
-IG9mIHRoZSBSZWx5aW5nIFBhcnR5IEFncmVlbWVudCBsb2NhdGVkIGF0IGh0dHBz
-Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9ycGEtdWEwDQYJKoZIhvcNAQELBQADggEBABfg
-eXrxIrtlixBv+KMDeqKxtNJbZiLDzJBkGCd4HI63X5eS6BElJBn6mI9eYVrr7qOL
-Tp7WiO02Sf1Yrpaz/ePSjZ684o89UAGpxOfbgVSMvo/a07n/220jUWLxzaJhQNLu
-lACXwwWsxYf8twP8glkoIHnUUNTlhsyyl1ZzvVC4bDpI4hC6QkJGync1MNqYSMj8
-tZbhQNw3HdSmcTO0Nc/J/pK2VZc6fFbKBgspmzdHc6jMKG2t4lisXEysS3wPcg0a
-Nfr1Odl5+myh3MnMK08f6pTXvduLz+QZiIh8IYL+Z6QWgTZ9e2jnV8juumX1I8Ge
-7cZdtNnTCB8hFfwGLUA=
+b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
+2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
+1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
+q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
+tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
+vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo4IBMDCC
+ASwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUTiJUIBiV5uNu5g/6+rkS7QYX
+jzkwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQD
+AgGGMHQGCCsGAQUFBwEBBGgwZjAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZGln
+aWNlcnQuY24wPwYIKwYBBQUHMAKGM2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNu
+L0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNydDBABgNVHR8EOTA3MDWgM6Axhi9odHRw
+Oi8vY3JsLmRpZ2ljZXJ0LmNuL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNybDARBgNV
+HSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQELBQADggEBAHRBl3jN7+XHBUK0dZnu
+hMdoNwD1nCROU3BTIh1TNzRI0bQ0m5+C/dCRzzlqoSAFHUlOi+OiDltWkXTzmQn6
+Z8bH5PFBy5sYpc/8cNPoSzhyqcpvvEZvv/Ivc0Up+dzma7vBDJC9WrMRUUlSFSQp
+kdXSmphDNkXJsgARmxzc18IN6LYMRiOWlY7RE2F900pPW60BvJHHNCX0bbSRj/Ql
+bmVq8wuftBD++D+RS8K++ujpMjFBROyWfBX+woQDGsMazkmgulQdnZrdj476elOL
+axRvrSgEorju1kJM7M65z2RUZrfzQYW/1rs8mRUXin6iEtad/Rv1ZI1WGYmWPyBm
+pbo=
 -----END CERTIFICATE-----

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 415 - 331
xfUI/XFJS/XFJS.guiguider


+ 21 - 6
xfUI/XFJS/generated/events_init.c

@@ -116,6 +116,20 @@ static void screen_main_slider_humSet_sign_event_handler (lv_event_t *e)
     }
 }
 
+static void screen_main_imgbtn_new_fan_event_handler (lv_event_t *e)
+{
+    lv_event_code_t code = lv_event_get_code(e);
+    switch (code) {
+    case LV_EVENT_CLICKED:
+    {
+        on_new_fan_on_off(e);
+        break;
+    }
+    default:
+        break;
+    }
+}
+
 void events_init_screen_main (lv_ui *ui)
 {
     lv_obj_add_event_cb(ui->screen_main, screen_main_event_handler, LV_EVENT_ALL, ui);
@@ -123,6 +137,7 @@ void events_init_screen_main (lv_ui *ui)
     lv_obj_add_event_cb(ui->screen_main_imgbtn_power, screen_main_imgbtn_power_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->screen_main_slider_speedSet_sign, screen_main_slider_speedSet_sign_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->screen_main_slider_humSet_sign, screen_main_slider_humSet_sign_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->screen_main_imgbtn_new_fan, screen_main_imgbtn_new_fan_event_handler, LV_EVENT_ALL, ui);
 }
 
 static void SettingPage_event_handler (lv_event_t *e)
@@ -331,13 +346,13 @@ static void FactorySettingPage_event_handler (lv_event_t *e)
     }
 }
 
-static void FactorySettingPage_btn_fan_vol_save_event_handler (lv_event_t *e)
+static void FactorySettingPage_btn_refresh_event_handler (lv_event_t *e)
 {
     lv_event_code_t code = lv_event_get_code(e);
     switch (code) {
     case LV_EVENT_CLICKED:
     {
-        on_fan_vol_save(e);
+        on_refresh_set_on_off(e);
         break;
     }
     default:
@@ -345,13 +360,13 @@ static void FactorySettingPage_btn_fan_vol_save_event_handler (lv_event_t *e)
     }
 }
 
-static void FactorySettingPage_btn_refresh_vol_event_handler (lv_event_t *e)
+static void FactorySettingPage_btn_save_event_handler (lv_event_t *e)
 {
     lv_event_code_t code = lv_event_get_code(e);
     switch (code) {
     case LV_EVENT_CLICKED:
     {
-        on_fan_vol_refresh(e);
+        on_asve_set_on_off(e);
         break;
     }
     default:
@@ -432,8 +447,8 @@ static void FactorySettingPage_btn_6_event_handler (lv_event_t *e)
 void events_init_FactorySettingPage (lv_ui *ui)
 {
     lv_obj_add_event_cb(ui->FactorySettingPage, FactorySettingPage_event_handler, LV_EVENT_ALL, ui);
-    lv_obj_add_event_cb(ui->FactorySettingPage_btn_fan_vol_save, FactorySettingPage_btn_fan_vol_save_event_handler, LV_EVENT_ALL, ui);
-    lv_obj_add_event_cb(ui->FactorySettingPage_btn_refresh_vol, FactorySettingPage_btn_refresh_vol_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->FactorySettingPage_btn_refresh, FactorySettingPage_btn_refresh_event_handler, LV_EVENT_ALL, ui);
+    lv_obj_add_event_cb(ui->FactorySettingPage_btn_save, FactorySettingPage_btn_save_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_error, FactorySettingPage_btn_error_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_4, FactorySettingPage_btn_4_event_handler, LV_EVENT_ALL, ui);
     lv_obj_add_event_cb(ui->FactorySettingPage_btn_5, FactorySettingPage_btn_5_event_handler, LV_EVENT_ALL, ui);

+ 26 - 77
xfUI/XFJS/generated/gui_guider.h

@@ -21,38 +21,26 @@ typedef struct
   
 	lv_obj_t *screen_main;
 	bool screen_main_del;
-	lv_obj_t *screen_main_arc_AIQ;
+	lv_obj_t *screen_main_arc_hum;
 	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_sf;
+	lv_obj_t *screen_main_imgbtn_sf_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_cs;
+	lv_obj_t *screen_main_imgbtn_cs_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;
@@ -66,6 +54,10 @@ typedef struct
 	lv_obj_t *screen_main_label_19;
 	lv_obj_t *screen_main_lab_cloud1;
 	lv_obj_t *screen_main_label_filter_error;
+	lv_obj_t *screen_main_imgbtn_new_fan;
+	lv_obj_t *screen_main_imgbtn_new_fan_label;
+	lv_obj_t *screen_main_img_proof;
+	lv_obj_t *screen_main_lab_485_err_js;
 	lv_obj_t *SettingPage;
 	bool SettingPage_del;
 	lv_obj_t *SettingPage_tabview_1;
@@ -119,52 +111,12 @@ typedef struct
 	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_label_11;
-	lv_obj_t *FactorySettingPage_label_12;
-	lv_obj_t *FactorySettingPage_btn_refresh_vol;
-	lv_obj_t *FactorySettingPage_btn_refresh_vol_label;
+	lv_obj_t *FactorySettingPage_ddlist_proof_set;
+	lv_obj_t *FactorySettingPage_btn_refresh;
+	lv_obj_t *FactorySettingPage_btn_refresh_label;
+	lv_obj_t *FactorySettingPage_btn_save;
+	lv_obj_t *FactorySettingPage_btn_save_label;
 	lv_obj_t *FactorySettingPage_label_detail_error;
 	lv_obj_t *FactorySettingPage_btn_error;
 	lv_obj_t *FactorySettingPage_btn_error_label;
@@ -221,18 +173,12 @@ 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(_songfeng_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_songfengkai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_jiashi_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_jiashikai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_chushi_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_chushikai_RGB565A8_60x60);
 LV_IMAGE_DECLARE(_power_RGB565A8_50x50);
 LV_IMAGE_DECLARE(_power_open_RGB565A8_50x50);
 
@@ -241,15 +187,18 @@ LV_IMAGE_DECLARE(_speed_RGB565A8_20x20);
 LV_IMAGE_DECLARE(_hum_RGB565A8_20x20);
 
 LV_IMAGE_DECLARE(_WiFiruo_RGB565A8_30x30);
+LV_IMAGE_DECLARE(_xinfeng_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_xinfengkai_RGB565A8_60x60);
+LV_IMAGE_DECLARE(_proof_RGB565A8_22x22);
 
 LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_26)
 LV_FONT_DECLARE(lv_font_montserratMedium_16)
+LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_48)
+LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_32)
 LV_FONT_DECLARE(lv_font_Alibaba_PuHuiTi_Medium_16)
 LV_FONT_DECLARE(lv_font_iconfont_24)
+LV_FONT_DECLARE(lv_font_iconfont_32)
 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_22)

+ 1 - 1
xfUI/XFJS/generated/guider_fonts/fonts_list.mk

@@ -1 +1 @@
-GEN_CSRCS += lv_font_Alibaba_PuHuiTi_Medium_18.c lv_font_montserratMedium_16.c lv_font_Alibaba_PuHuiTi_Medium_48.c lv_font_Alibaba_PuHuiTi_Medium_14.c lv_font_Alibaba_PuHuiTi_Medium_22.c lv_font_montserratMedium_12.c lv_font_Alibaba_PuHuiTi_Medium_12.c lv_font_iconfont_22.c lv_font_iconfont_16.c lv_font_Alibaba_PuHuiTi_Medium_26.c lv_font_iconfont_24.c lv_font_Alibaba_PuHuiTi_Medium_16.c lv_font_Alibaba_PuHuiTi_Medium_20.c lv_font_SourceHanSerifSC_Regular_18.c
+GEN_CSRCS += lv_font_Alibaba_PuHuiTi_Medium_26.c lv_font_montserratMedium_16.c lv_font_Alibaba_PuHuiTi_Medium_48.c lv_font_Alibaba_PuHuiTi_Medium_32.c lv_font_Alibaba_PuHuiTi_Medium_16.c lv_font_iconfont_24.c lv_font_iconfont_32.c lv_font_Alibaba_PuHuiTi_Medium_18.c lv_font_montserratMedium_12.c lv_font_Alibaba_PuHuiTi_Medium_12.c lv_font_iconfont_22.c lv_font_iconfont_16.c lv_font_Alibaba_PuHuiTi_Medium_20.c lv_font_SourceHanSerifSC_Regular_18.c

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 808 - 245
xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_16.c


+ 78 - 85
xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_18.c

@@ -905,12 +905,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0x5, 0xef, 0xc5, 0x2, 0xe8, 0x2f, 0xfd, 0xff,
     0xee, 0xf6, 0x5e, 0x50, 0x3a, 0xee, 0x90,
 
-    /* U+2082 "₂" */
-    0x6, 0xef, 0xe7, 0x0, 0x57, 0x7d, 0xf4, 0x0,
-    0x0, 0x5f, 0x60, 0x0, 0xb, 0xf2, 0x0, 0x9,
-    0xf7, 0x0, 0x1b, 0xf7, 0x0, 0xd, 0xfb, 0x77,
-    0x40, 0xff, 0xff, 0xfa,
-
     /* U+4F59 "余" */
     0x0, 0x0, 0x0, 0x6, 0xfe, 0x20, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x4, 0xff, 0xfc, 0x0, 0x0,
@@ -2313,72 +2307,71 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 5141, .adv_w = 60, .box_w = 3, .box_h = 18, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 5168, .adv_w = 96, .box_w = 6, .box_h = 18, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 5222, .adv_w = 164, .box_w = 10, .box_h = 3, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 5237, .adv_w = 118, .box_w = 7, .box_h = 8, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5265, .adv_w = 283, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5410, .adv_w = 283, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5563, .adv_w = 283, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5734, .adv_w = 283, .box_w = 17, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 5896, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6077, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6203, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6356, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6482, .adv_w = 198, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6567, .adv_w = 288, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6738, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6909, .adv_w = 324, .box_w = 21, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7088, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7259, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 7406, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7577, .adv_w = 144, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7645, .adv_w = 216, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7750, .adv_w = 324, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7939, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8065, .adv_w = 198, .box_w = 13, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8189, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 8291, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8443, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8579, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8715, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 8817, .adv_w = 252, .box_w = 18, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 8970, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9058, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9146, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9282, .adv_w = 252, .box_w = 16, .box_h = 4, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 9314, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9461, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9680, .adv_w = 324, .box_w = 22, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 9889, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10042, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 10122, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 10202, .adv_w = 360, .box_w = 24, .box_h = 15, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 10382, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10508, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10679, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10860, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10996, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11148, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11284, .adv_w = 252, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 11404, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11530, .adv_w = 180, .box_w = 13, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 11654, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11806, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11958, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12105, .adv_w = 288, .box_w = 20, .box_h = 20, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 12305, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12438, .adv_w = 360, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 12645, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12783, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12921, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13059, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13197, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13335, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 13508, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 13641, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13793, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 13974, .adv_w = 360, .box_w = 23, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14135, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 14268, .adv_w = 290, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 14382, .adv_w = 283, .box_w = 4, .box_h = 11, .ofs_x = 3, .ofs_y = -1}
+    {.bitmap_index = 5237, .adv_w = 283, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5382, .adv_w = 283, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5535, .adv_w = 283, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5706, .adv_w = 283, .box_w = 17, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 5868, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6049, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6175, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6328, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6454, .adv_w = 198, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6539, .adv_w = 288, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6710, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6881, .adv_w = 324, .box_w = 21, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7060, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7231, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7378, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7549, .adv_w = 144, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7617, .adv_w = 216, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7722, .adv_w = 324, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7911, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8037, .adv_w = 198, .box_w = 13, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8161, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 8263, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8415, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8551, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8687, .adv_w = 252, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 8789, .adv_w = 252, .box_w = 18, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 8942, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9030, .adv_w = 180, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9118, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9254, .adv_w = 252, .box_w = 16, .box_h = 4, .ofs_x = 0, .ofs_y = 5},
+    {.bitmap_index = 9286, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9433, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9652, .adv_w = 324, .box_w = 22, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9861, .adv_w = 288, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10014, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 10094, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 10174, .adv_w = 360, .box_w = 24, .box_h = 15, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 10354, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10480, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10651, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 10832, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10968, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11120, .adv_w = 252, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11256, .adv_w = 252, .box_w = 16, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 11376, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 11502, .adv_w = 180, .box_w = 13, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11626, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11778, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11930, .adv_w = 324, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 12077, .adv_w = 288, .box_w = 20, .box_h = 20, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 12277, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 12410, .adv_w = 360, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 12617, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12755, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12893, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13031, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13169, .adv_w = 360, .box_w = 23, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 13307, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13480, .adv_w = 252, .box_w = 14, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 13613, .adv_w = 252, .box_w = 16, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13765, .adv_w = 288, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 13946, .adv_w = 360, .box_w = 23, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14107, .adv_w = 216, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14240, .adv_w = 290, .box_w = 19, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 14354, .adv_w = 283, .box_w = 4, .box_h = 11, .ofs_x = 3, .ofs_y = -1}
 };
 
 /*---------------------
@@ -2386,15 +2379,15 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_1[] = {
-    0x0, 0x2ed7, 0x31e7, 0x4e62, 0x622d, 0xcf7f, 0xcf86, 0xcf89,
-    0xcf8a, 0xcf8b, 0xcf8f, 0xcf91, 0xcf93, 0xcf97, 0xcf9a, 0xcf9f,
-    0xcfa4, 0xcfa5, 0xcfa6, 0xcfbc, 0xcfc1, 0xcfc6, 0xcfc9, 0xcfca,
-    0xcfcb, 0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2, 0xcfe5, 0xcfe6, 0xcfec,
-    0xcfee, 0xcfef, 0xcff2, 0xcff5, 0xcff6, 0xcff7, 0xcff9, 0xd011,
-    0xd013, 0xd042, 0xd043, 0xd045, 0xd047, 0xd05e, 0xd065, 0xd068,
-    0xd071, 0xd09a, 0xd0a2, 0xd0d9, 0xd169, 0xd1be, 0xd1bf, 0xd1c0,
-    0xd1c1, 0xd1c2, 0xd205, 0xd211, 0xd26b, 0xd282, 0xd4d8, 0xd740,
-    0xd820, 0xde98
+    0x0, 0x310, 0x1f8b, 0x3356, 0xa0a8, 0xa0af, 0xa0b2, 0xa0b3,
+    0xa0b4, 0xa0b8, 0xa0ba, 0xa0bc, 0xa0c0, 0xa0c3, 0xa0c8, 0xa0cd,
+    0xa0ce, 0xa0cf, 0xa0e5, 0xa0ea, 0xa0ef, 0xa0f2, 0xa0f3, 0xa0f4,
+    0xa0f8, 0xa0f9, 0xa0fa, 0xa0fb, 0xa10e, 0xa10f, 0xa115, 0xa117,
+    0xa118, 0xa11b, 0xa11e, 0xa11f, 0xa120, 0xa122, 0xa13a, 0xa13c,
+    0xa16b, 0xa16c, 0xa16e, 0xa170, 0xa187, 0xa18e, 0xa191, 0xa19a,
+    0xa1c3, 0xa1cb, 0xa202, 0xa292, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea,
+    0xa2eb, 0xa32e, 0xa33a, 0xa394, 0xa3ab, 0xa601, 0xa869, 0xa949,
+    0xafc1
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
@@ -2405,8 +2398,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 8322, .range_length = 56985, .glyph_id_start = 96,
-        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 66, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 20313, .range_length = 44994, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 65, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -2438,7 +2431,7 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0
+    0
 };
 
 /*Map glyph_ids to kern right classes*/
@@ -2464,7 +2457,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0
+    0
 };
 
 /*Kern values between classes*/

+ 101 - 659
xfUI/XFJS/generated/guider_fonts/lv_font_Alibaba_PuHuiTi_Medium_20.c

@@ -22,8 +22,6 @@
 
 /*Store the image of the glyphs*/
 static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
-    /* U+000A "\n" */
-
     /* U+0020 " " */
 
     /* U+0021 "!" */
@@ -1026,157 +1024,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xf9, 0x17, 0xf9, 0x3f, 0xd1, 0x5f, 0xff, 0xff,
     0x34, 0xc7, 0x0, 0x1a, 0xfe, 0x60,
 
-    /* U+4F20 "传" */
-    0x0, 0x0, 0x23, 0x0, 0x0, 0x36, 0x20, 0x0,
-    0x0, 0x0, 0x0, 0x9, 0xf7, 0x0, 0x9, 0xf6,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x20, 0x0,
-    0xcf, 0x30, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xc0,
-    0xcc, 0xcf, 0xfd, 0xcc, 0xcc, 0x90, 0x0, 0xd,
-    0xf5, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
-    0x5, 0xff, 0x10, 0x11, 0x7f, 0xa1, 0x11, 0x11,
-    0x0, 0x0, 0xdf, 0xf1, 0x0, 0x9, 0xf6, 0x0,
-    0x0, 0x0, 0x0, 0x6f, 0xff, 0x3d, 0xdd, 0xff,
-    0xdd, 0xdd, 0xdd, 0xd8, 0x1e, 0xff, 0xf4, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xfc, 0xcf,
-    0x10, 0x6, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x6f,
-    0x2c, 0xf1, 0x0, 0xbf, 0x61, 0x11, 0x11, 0x10,
-    0x0, 0x40, 0xcf, 0x10, 0xe, 0xff, 0xff, 0xff,
-    0xff, 0x10, 0x0, 0xc, 0xf1, 0x0, 0xbc, 0xcc,
-    0xcc, 0xdf, 0xf1, 0x0, 0x0, 0xcf, 0x10, 0x4,
-    0x0, 0x0, 0xc, 0xf8, 0x0, 0x0, 0xc, 0xf1,
-    0x6, 0xfd, 0x60, 0x8, 0xfb, 0x0, 0x0, 0x0,
-    0xcf, 0x10, 0x4c, 0xff, 0xe9, 0xfe, 0x10, 0x0,
-    0x0, 0xc, 0xf1, 0x0, 0x3, 0xaf, 0xff, 0xb1,
-    0x0, 0x0, 0x0, 0xcf, 0x10, 0x0, 0x0, 0x29,
-    0xff, 0xf6, 0x0, 0x0, 0xc, 0xf1, 0x0, 0x0,
-    0x0, 0x1, 0x9f, 0x70, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x21, 0x0,
-
-    /* U+4F4D "位" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xb, 0xe5, 0x0, 0x5, 0xd8,
-    0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x20, 0x0,
-    0x3f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xc0,
-    0x0, 0x0, 0xef, 0x30, 0x0, 0x0, 0x0, 0xe,
-    0xf6, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0,
-    0x5, 0xff, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xf0, 0x0, 0xdf, 0xf1, 0x0, 0x11, 0x0, 0x0,
-    0x4, 0x0, 0x0, 0x7f, 0xff, 0x10, 0x6f, 0x80,
-    0x0, 0x1, 0xff, 0x0, 0x2f, 0xff, 0xf1, 0x2,
-    0xfd, 0x0, 0x0, 0x6f, 0xb0, 0xb, 0xfb, 0xef,
-    0x10, 0xc, 0xf3, 0x0, 0xa, 0xf6, 0x0, 0x5e,
-    0x1e, 0xf1, 0x0, 0x8f, 0x80, 0x0, 0xef, 0x20,
-    0x0, 0x10, 0xef, 0x10, 0x3, 0xfd, 0x0, 0x2f,
-    0xd0, 0x0, 0x0, 0xe, 0xf1, 0x0, 0xe, 0xf1,
-    0x7, 0xf8, 0x0, 0x0, 0x0, 0xef, 0x10, 0x0,
-    0xaf, 0x50, 0xdf, 0x20, 0x0, 0x0, 0xe, 0xf1,
-    0x0, 0x5, 0xb2, 0x2f, 0xd0, 0x0, 0x0, 0x0,
-    0xef, 0x10, 0x0, 0x0, 0x7, 0xf8, 0x0, 0x0,
-    0x0, 0xe, 0xf4, 0xcc, 0xcc, 0xcc, 0xef, 0xdd,
-    0xdd, 0x70, 0x0, 0xef, 0x5f, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xf9, 0x0, 0xe, 0xf1, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+5668 "器" */
-    0x0, 0x68, 0x88, 0x88, 0x80, 0x59, 0x99, 0x99,
-    0x92, 0x0, 0xb, 0xff, 0xff, 0xff, 0x19, 0xff,
-    0xff, 0xff, 0x40, 0x0, 0xbf, 0x10, 0xa, 0xf1,
-    0x9f, 0x30, 0x7, 0xf4, 0x0, 0xb, 0xf0, 0x0,
-    0xaf, 0x19, 0xf2, 0x0, 0x6f, 0x40, 0x0, 0xbf,
-    0xff, 0xff, 0xf1, 0x9f, 0xff, 0xff, 0xf4, 0x0,
-    0x7, 0xaa, 0xaa, 0xab, 0x36, 0xab, 0xfa, 0xaa,
-    0x30, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xa0, 0x6f,
-    0x90, 0x0, 0x0, 0x4b, 0xbb, 0xbb, 0xbe, 0xfd,
-    0xbb, 0xfe, 0xbb, 0xb0, 0x5, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0,
-    0x5d, 0xfd, 0x15, 0xff, 0x81, 0x0, 0x0, 0x2,
-    0x5a, 0xef, 0xf9, 0x0, 0x2, 0xbf, 0xfb, 0x74,
-    0x11, 0xff, 0xff, 0xfa, 0x88, 0x4, 0x88, 0xcf,
-    0xff, 0xfb, 0xa, 0xdf, 0xff, 0xff, 0xf0, 0x8f,
-    0xff, 0xff, 0xfb, 0x50, 0x9, 0xf3, 0x0, 0xbf,
-    0x8, 0xf4, 0x11, 0x9f, 0x30, 0x0, 0x9f, 0x30,
-    0xb, 0xf0, 0x8f, 0x40, 0x9, 0xf3, 0x0, 0x9,
-    0xfa, 0x99, 0xef, 0x8, 0xfa, 0x99, 0xdf, 0x30,
-    0x0, 0x9f, 0xff, 0xff, 0xf0, 0x8f, 0xff, 0xff,
-    0xf3, 0x0, 0x9, 0xf3, 0x0, 0xbf, 0x8, 0xf4,
-    0x0, 0x9f, 0x30,
-
-    /* U+611F "感" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfd,
-    0xd, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0xf, 0xe0, 0x5f, 0xa0, 0x0, 0x1, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x1f,
-    0xfb, 0xbb, 0xbb, 0xbe, 0xfc, 0xbb, 0xbb, 0x30,
-    0x1, 0xfc, 0x0, 0x0, 0x0, 0x9f, 0x50, 0x6a,
-    0x10, 0x0, 0x1f, 0xcb, 0xff, 0xff, 0xfa, 0xf8,
-    0xe, 0xf1, 0x0, 0x2, 0xfb, 0x46, 0x66, 0x66,
-    0x4f, 0xc8, 0xf8, 0x0, 0x0, 0x3f, 0xa3, 0x66,
-    0x66, 0x50, 0xef, 0xfe, 0x0, 0x0, 0x6, 0xf8,
-    0x8f, 0xee, 0xfd, 0x8, 0xff, 0x40, 0x51, 0x0,
-    0xaf, 0x58, 0xf0, 0xb, 0xd2, 0xef, 0xe1, 0xe,
-    0xb0, 0x1f, 0xf0, 0x8f, 0xaa, 0xef, 0xff, 0xdf,
-    0xc7, 0xf7, 0xa, 0xf9, 0x5, 0xbb, 0xbc, 0xad,
-    0x70, 0xcf, 0xff, 0x10, 0xbf, 0x20, 0x13, 0x11,
-    0xda, 0x0, 0x0, 0x8c, 0x30, 0x0, 0x6f, 0x77,
-    0xf6, 0xc, 0xfa, 0x0, 0x1e, 0xd0, 0x0, 0xd,
-    0xf5, 0x7f, 0x60, 0x1d, 0xb3, 0xb3, 0xaf, 0x90,
-    0x7, 0xfc, 0x6, 0xf7, 0x0, 0x20, 0x6f, 0x61,
-    0xef, 0x40, 0xef, 0x30, 0x5f, 0xfc, 0xcc, 0xcf,
-    0xf3, 0x5, 0xf8, 0x2, 0x60, 0x0, 0x9e, 0xff,
-    0xff, 0xd8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6392 "排" */
-    0x0, 0x3, 0xc6, 0x0, 0x0, 0xb8, 0xb, 0xd0,
-    0x0, 0x0, 0x0, 0x4f, 0x90, 0x0, 0x1f, 0xc0,
-    0xdf, 0x0, 0x0, 0x0, 0x4, 0xf9, 0x1, 0x34,
-    0xfc, 0xd, 0xf3, 0x33, 0x10, 0x6d, 0xef, 0xfc,
-    0x6f, 0xff, 0xc0, 0xdf, 0xff, 0xf5, 0x7, 0xff,
-    0xff, 0xe5, 0xdd, 0xfc, 0xd, 0xfc, 0xcc, 0x30,
-    0x1, 0x5f, 0xa1, 0x0, 0x1f, 0xc0, 0xdf, 0x0,
-    0x0, 0x0, 0x4, 0xf9, 0x0, 0x1, 0xfc, 0xd,
-    0xf0, 0x0, 0x0, 0x0, 0x4f, 0x94, 0x11, 0x2f,
-    0xc0, 0xdf, 0x11, 0x10, 0x0, 0x4, 0xff, 0xfb,
-    0xff, 0xfc, 0xd, 0xff, 0xff, 0x0, 0x39, 0xff,
-    0xfb, 0xbe, 0xef, 0xc0, 0xdf, 0xee, 0xe0, 0xf,
-    0xff, 0xf9, 0x0, 0x1, 0xfc, 0xd, 0xf0, 0x0,
-    0x0, 0x63, 0x4f, 0x90, 0x0, 0x1f, 0xc0, 0xdf,
-    0x0, 0x0, 0x0, 0x4, 0xf9, 0x4d, 0xdd, 0xfc,
-    0xd, 0xfd, 0xdd, 0xc0, 0x0, 0x4f, 0x95, 0xff,
-    0xff, 0xc0, 0xdf, 0xff, 0xfe, 0x0, 0x4, 0xf9,
-    0x13, 0x34, 0xfc, 0xd, 0xf4, 0x33, 0x30, 0x0,
-    0x7f, 0x90, 0x0, 0x1f, 0xc0, 0xdf, 0x0, 0x0,
-    0x2, 0xff, 0xf8, 0x0, 0x1, 0xfc, 0xd, 0xf0,
-    0x0, 0x0, 0xd, 0xea, 0x10, 0x0, 0x1f, 0xc0,
-    0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6545 "故" */
-    0x0, 0x8, 0xb2, 0x0, 0x0, 0x8c, 0x30, 0x0,
-    0x0, 0x0, 0x0, 0xbf, 0x30, 0x0, 0xd, 0xf1,
-    0x0, 0x0, 0x0, 0x0, 0xb, 0xf3, 0x0, 0x3,
-    0xfd, 0x22, 0x22, 0x21, 0xe, 0xff, 0xff, 0xff,
-    0xf2, 0x9f, 0xff, 0xff, 0xff, 0xa0, 0xff, 0xff,
-    0xff, 0xff, 0x4f, 0xfc, 0xcc, 0xff, 0xc7, 0x0,
-    0x11, 0xbf, 0x41, 0x19, 0xfa, 0x0, 0xf, 0xf0,
-    0x0, 0x0, 0xb, 0xf3, 0x2, 0xff, 0xc0, 0x2,
-    0xfc, 0x0, 0x0, 0x0, 0xbf, 0x30, 0xbf, 0xff,
-    0x0, 0x5f, 0x90, 0x0, 0x3, 0x3c, 0xf5, 0x37,
-    0xeb, 0xf4, 0x9, 0xf5, 0x0, 0x4, 0xff, 0xff,
-    0xff, 0xb2, 0x5f, 0xb0, 0xef, 0x0, 0x0, 0x4f,
-    0xed, 0xdd, 0xfb, 0x0, 0xef, 0x8f, 0xa0, 0x0,
-    0x4, 0xfa, 0x0, 0x2f, 0xb0, 0x6, 0xff, 0xf2,
-    0x0, 0x0, 0x4f, 0xa0, 0x2, 0xfb, 0x0, 0xf,
-    0xfd, 0x0, 0x0, 0x4, 0xfa, 0x0, 0x2f, 0xb0,
-    0xa, 0xff, 0xfa, 0x0, 0x0, 0x4f, 0xa0, 0x2,
-    0xfb, 0x1b, 0xfe, 0x7f, 0xfb, 0x0, 0x4, 0xff,
-    0xee, 0xef, 0xde, 0xfe, 0x30, 0x5f, 0xfd, 0x30,
-    0x4f, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x5f,
-    0xfd, 0x0, 0x0, 0x0, 0x2, 0xe9, 0x0, 0x0,
-    0x0, 0x2d, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
     /* U+65B0 "新" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x7, 0xf5, 0x0, 0x0, 0x0,
@@ -1227,156 +1074,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xce, 0xf6, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0,
 
-    /* U+673A "机" */
-    0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0xf,
-    0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x1f, 0xc0,
-    0x0, 0xff, 0xee, 0xef, 0xe0, 0x0, 0x6, 0xbc,
-    0xff, 0xbb, 0x3f, 0xe0, 0x1, 0xfe, 0x0, 0x0,
-    0x9f, 0xff, 0xff, 0xf4, 0xfe, 0x0, 0x1f, 0xe0,
-    0x0, 0x1, 0x37, 0xfd, 0x33, 0x1f, 0xe0, 0x1,
-    0xfe, 0x0, 0x0, 0x0, 0xaf, 0xc0, 0x0, 0xfe,
-    0x0, 0x1f, 0xe0, 0x0, 0x0, 0x1f, 0xfe, 0xc0,
-    0xf, 0xe0, 0x1, 0xfe, 0x0, 0x0, 0x8, 0xff,
-    0xff, 0xb1, 0xfe, 0x0, 0x1f, 0xe0, 0x0, 0x1,
-    0xff, 0xfd, 0xcf, 0x9f, 0xe0, 0x1, 0xfe, 0x0,
-    0x0, 0x9f, 0xaf, 0xc1, 0xe8, 0xfd, 0x0, 0x1f,
-    0xe0, 0x0, 0x2f, 0xf3, 0xfc, 0x1, 0x3f, 0xc0,
-    0x1, 0xfe, 0x0, 0x0, 0xc7, 0x1f, 0xc0, 0x5,
-    0xfa, 0x0, 0x1f, 0xe0, 0x73, 0x1, 0x1, 0xfc,
-    0x0, 0x8f, 0x60, 0x1, 0xfe, 0xe, 0xf0, 0x0,
-    0x1f, 0xc0, 0xe, 0xf1, 0x0, 0x1f, 0xe0, 0xfe,
-    0x0, 0x1, 0xfc, 0x6, 0xfa, 0x0, 0x1, 0xff,
-    0x2f, 0xd0, 0x0, 0x1f, 0xc2, 0xff, 0x20, 0x0,
-    0xf, 0xff, 0xfb, 0x0, 0x1, 0xfc, 0x7f, 0x70,
-    0x0, 0x0, 0x8f, 0xfe, 0x40, 0x0, 0x0, 0x0,
-    0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6C34 "水" */
-    0x0, 0x0, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x1f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x1f, 0xf0, 0x0, 0x1, 0x40, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x1f, 0xf4, 0x0, 0xc,
-    0xf5, 0x0, 0x5, 0xdd, 0xdd, 0xdc, 0x1f, 0xf9,
-    0x0, 0xbf, 0xf3, 0x0, 0x6, 0xff, 0xff, 0xfe,
-    0x1f, 0xff, 0x2c, 0xff, 0x30, 0x0, 0x1, 0x33,
-    0x34, 0xfd, 0x1f, 0xff, 0xff, 0xe3, 0x0, 0x0,
-    0x0, 0x0, 0x6, 0xf8, 0x1f, 0xfe, 0xfd, 0x20,
-    0x0, 0x0, 0x0, 0x0, 0xc, 0xf3, 0x1f, 0xe7,
-    0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xc0,
-    0x1f, 0xe0, 0xef, 0x40, 0x0, 0x0, 0x0, 0x0,
-    0xdf, 0x50, 0x1f, 0xe0, 0x5f, 0xe1, 0x0, 0x0,
-    0x0, 0x9, 0xfc, 0x0, 0x1f, 0xe0, 0xa, 0xfc,
-    0x0, 0x0, 0x0, 0x5f, 0xf2, 0x0, 0x1f, 0xe0,
-    0x1, 0xdf, 0xc1, 0x0, 0x4, 0xff, 0x70, 0x0,
-    0x1f, 0xe0, 0x0, 0x1e, 0xfd, 0x20, 0x2f, 0xfa,
-    0x0, 0x0, 0x2f, 0xe0, 0x0, 0x2, 0xef, 0xd0,
-    0x9, 0xc0, 0x0, 0x46, 0xbf, 0xe0, 0x0, 0x0,
-    0x1c, 0x30, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xa0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c,
-    0xa7, 0x10, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+6CF5 "泵" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x80, 0x0, 0xbb, 0xbb, 0xff,
-    0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0x50, 0x0, 0x0,
-    0x7, 0xfe, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x9f, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb,
-    0x70, 0x0, 0x0, 0x2c, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xb0, 0x0, 0x7, 0xff, 0xdf, 0xb0,
-    0x0, 0x0, 0x0, 0x4f, 0xb0, 0x0, 0x7, 0xf6,
-    0x3f, 0xea, 0xaa, 0xaa, 0xaa, 0xbf, 0xb0, 0x0,
-    0x0, 0x10, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf8,
-    0x0, 0x0, 0x81, 0x0, 0x0, 0x11, 0x11, 0x11,
-    0x7, 0xfb, 0x0, 0xa, 0xf9, 0x0, 0x1, 0xff,
-    0xff, 0xff, 0x97, 0xff, 0x62, 0xdf, 0xf6, 0x0,
-    0x0, 0xaa, 0xaa, 0xef, 0x87, 0xff, 0xff, 0xfd,
-    0x30, 0x0, 0x0, 0x0, 0x7, 0xfd, 0x7, 0xfb,
-    0xff, 0xd0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xd2,
-    0x7, 0xf8, 0x3e, 0xfd, 0x30, 0x0, 0x0, 0x5e,
-    0xfc, 0x10, 0x7, 0xf8, 0x2, 0xdf, 0xfb, 0x40,
-    0xc, 0xff, 0x70, 0x5, 0x9e, 0xf7, 0x0, 0x7,
-    0xff, 0xf1, 0x6, 0xb2, 0x0, 0x7, 0xff, 0xe2,
-    0x0, 0x0, 0x18, 0x60, 0x0, 0x0, 0x0, 0x1,
-    0x42, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+7535 "电" */
-    0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xe, 0xf1, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0xef, 0x10, 0x0, 0x0,
-    0x0, 0x8, 0xbb, 0xbb, 0xbf, 0xfb, 0xbb, 0xbb,
-    0xb1, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0x20, 0xc, 0xf4, 0x22, 0x2e, 0xf3, 0x22,
-    0x2e, 0xf2, 0x0, 0xcf, 0x30, 0x0, 0xef, 0x10,
-    0x0, 0xef, 0x20, 0xc, 0xf3, 0x0, 0xe, 0xf1,
-    0x0, 0xe, 0xf2, 0x0, 0xcf, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x20, 0xc, 0xfd, 0xcc, 0xcf,
-    0xfc, 0xcc, 0xcf, 0xf2, 0x0, 0xcf, 0x30, 0x0,
-    0xef, 0x10, 0x0, 0xef, 0x20, 0xc, 0xf3, 0x0,
-    0xe, 0xf1, 0x0, 0xe, 0xf2, 0x0, 0xcf, 0xdc,
-    0xcc, 0xff, 0xcc, 0xcc, 0xff, 0x20, 0xc, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x10, 0x0,
-    0x0, 0x0, 0xef, 0x10, 0x0, 0x0, 0x8f, 0x70,
-    0x0, 0x0, 0xe, 0xf1, 0x0, 0x0, 0xa, 0xf8,
-    0x0, 0x0, 0x0, 0xef, 0x50, 0x0, 0x2, 0xef,
-    0x50, 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0xff,
-    0xf1, 0x0, 0x0, 0x0, 0x2b, 0xef, 0xff, 0xff,
-    0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0,
-
-    /* U+7559 "留" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x14, 0x7b, 0xe2, 0x0, 0x0, 0x0,
-    0x0, 0xb, 0xff, 0xff, 0xfe, 0xaf, 0xff, 0xff,
-    0xff, 0xa0, 0xdf, 0xb8, 0x53, 0x3, 0xaf, 0xfa,
-    0xab, 0xf9, 0xd, 0xf0, 0x6, 0xf4, 0x0, 0xfb,
-    0x0, 0x5f, 0x80, 0xdf, 0x10, 0x1f, 0xd0, 0x4f,
-    0x90, 0x6, 0xf7, 0xd, 0xf4, 0x7d, 0xff, 0x8b,
-    0xf3, 0x0, 0x8f, 0x51, 0xff, 0xff, 0xf9, 0xbb,
-    0xfc, 0x9, 0xcf, 0xf3, 0xe, 0xfb, 0x50, 0x8,
-    0xfe, 0x20, 0xaf, 0xe8, 0x0, 0x41, 0x0, 0x0,
-    0x1b, 0x20, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x3f, 0xe9,
-    0x99, 0x9f, 0xe9, 0x99, 0xaf, 0xc0, 0x3, 0xfc,
-    0x0, 0x1, 0xfd, 0x0, 0x2, 0xfc, 0x0, 0x3f,
-    0xea, 0xaa, 0xaf, 0xfa, 0xaa, 0xbf, 0xc0, 0x3,
-    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0,
-    0x3f, 0xc0, 0x0, 0x1f, 0xd0, 0x0, 0x2f, 0xc0,
-    0x3, 0xfe, 0x88, 0x88, 0xfe, 0x88, 0x89, 0xfc,
-    0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xc0, 0x3, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x3,
-    0xfc, 0x0,
-
-    /* U+78C1 "磁" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x0,
-    0x1, 0xe6, 0x0, 0x4, 0x88, 0x88, 0x81, 0x8,
-    0xf9, 0x0, 0x8f, 0x60, 0x0, 0x9f, 0xff, 0xff,
-    0x31, 0x1e, 0xd1, 0x3f, 0xd1, 0x10, 0x2, 0x59,
-    0xf8, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0,
-    0x0, 0xaf, 0x10, 0x5b, 0xef, 0xcb, 0xbe, 0xfc,
-    0xb7, 0x0, 0xe, 0xc0, 0x0, 0xd, 0xd0, 0x0,
-    0xcd, 0x0, 0x0, 0x4, 0xf6, 0x0, 0x3, 0xf6,
-    0x65, 0x2f, 0x73, 0x60, 0x0, 0xbf, 0xff, 0xe0,
-    0xae, 0xe, 0xa9, 0xe0, 0xaf, 0x0, 0x3f, 0xfc,
-    0xee, 0x1f, 0x97, 0xf6, 0xf9, 0x4f, 0x90, 0xc,
-    0xff, 0xa, 0xea, 0xff, 0xfe, 0x9f, 0xff, 0xf3,
-    0x3, 0xff, 0xf0, 0xae, 0x6c, 0xcf, 0x85, 0xdb,
-    0xfc, 0x0, 0x9, 0x9f, 0xa, 0xe0, 0x8, 0xf1,
-    0x0, 0x3f, 0x50, 0x0, 0x9, 0xf0, 0xae, 0x1,
-    0xfd, 0xb0, 0xb, 0xfd, 0x40, 0x0, 0x9f, 0xa,
-    0xe0, 0x8f, 0x5f, 0x33, 0xf6, 0xe9, 0x0, 0x9,
-    0xf0, 0xae, 0x1f, 0xa0, 0xe8, 0xbd, 0x8, 0xe0,
-    0x0, 0x9f, 0xff, 0xea, 0xfe, 0xff, 0xff, 0xed,
-    0xff, 0x30, 0x6, 0xcc, 0xcb, 0x5f, 0xcb, 0xcf,
-    0xff, 0xdc, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3, 0xa2, 0x0, 0x8, 0x40,
-
     /* U+7CFB "系" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x34, 0x57,
     0x81, 0x0, 0x8, 0xbc, 0xcd, 0xef, 0xff, 0xff,
@@ -1428,226 +1125,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0x0, 0x7, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x3,
     0x50, 0x0, 0x0, 0x0, 0x0, 0x0,
 
-    /* U+8BAF "讯" */
-    0x5, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x2f, 0xe1, 0xa, 0xff, 0xff, 0xff, 0xff,
-    0xf0, 0x0, 0x8, 0xfc, 0x9, 0xee, 0xff, 0xee,
-    0xef, 0xf0, 0x0, 0x0, 0xcf, 0x70, 0x1, 0xfd,
-    0x0, 0xe, 0xf0, 0x0, 0x0, 0x2d, 0x10, 0x1,
-    0xfd, 0x0, 0xe, 0xf0, 0x0, 0x0, 0x0, 0x0,
-    0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0, 0xcd, 0xdd,
-    0x10, 0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0, 0xef,
-    0xff, 0x10, 0x1, 0xfd, 0x0, 0xe, 0xf0, 0x0,
-    0x23, 0xdf, 0x2f, 0xff, 0xff, 0xff, 0xce, 0xf0,
-    0x0, 0x0, 0xdf, 0x2e, 0xee, 0xff, 0xee, 0xae,
-    0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1, 0xfd, 0x0,
-    0xe, 0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1, 0xfd,
-    0x0, 0xd, 0xf0, 0x0, 0x0, 0xdf, 0x10, 0x1,
-    0xfd, 0x0, 0xd, 0xf0, 0x0, 0x0, 0xdf, 0x16,
-    0x21, 0xfd, 0x0, 0xc, 0xf0, 0xb7, 0x0, 0xdf,
-    0xcf, 0x61, 0xfd, 0x0, 0xb, 0xf1, 0xee, 0x0,
-    0xdf, 0xfd, 0x21, 0xfd, 0x0, 0x8, 0xf9, 0xfb,
-    0x1, 0xff, 0x90, 0x1, 0xfd, 0x0, 0x4, 0xff,
-    0xf6, 0x0, 0x74, 0x0, 0x1, 0xfd, 0x0, 0x0,
-    0x9f, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x43, 0x0,
-    0x0, 0x0, 0x0,
-
-    /* U+8FDB "进" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x6, 0x30, 0x0, 0x6, 0xf7, 0x0,
-    0x7f, 0x60, 0x0, 0x3, 0xfe, 0x10, 0x0, 0x7f,
-    0x70, 0x7, 0xf7, 0x0, 0x0, 0x9, 0xfc, 0x0,
-    0x7, 0xf7, 0x0, 0x7f, 0x70, 0x0, 0x0, 0xc,
-    0xf9, 0x5e, 0xff, 0xfe, 0xef, 0xff, 0xe9, 0x0,
-    0x0, 0x2e, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xa0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x70, 0x7,
-    0xf7, 0x0, 0x0, 0x89, 0x99, 0x0, 0x7, 0xf7,
-    0x0, 0x7f, 0x70, 0x0, 0xf, 0xff, 0xf1, 0x0,
-    0x7f, 0x70, 0x7, 0xf7, 0x0, 0x0, 0x66, 0xef,
-    0x18, 0x8b, 0xfc, 0x88, 0xbf, 0xb8, 0x81, 0x0,
-    0xd, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x20, 0x0, 0xdf, 0x15, 0x6c, 0xf9, 0x66, 0xaf,
-    0xa6, 0x60, 0x0, 0xd, 0xf1, 0x0, 0xcf, 0x30,
-    0x7, 0xf7, 0x0, 0x0, 0x0, 0xdf, 0x10, 0x4f,
-    0xe0, 0x0, 0x7f, 0x70, 0x0, 0x0, 0xe, 0xf3,
-    0x1e, 0xf7, 0x0, 0x7, 0xf7, 0x0, 0x0, 0xa,
-    0xff, 0xc3, 0xec, 0x0, 0x0, 0x7f, 0x70, 0x0,
-    0x8, 0xfe, 0xcf, 0xc6, 0x20, 0x0, 0x0, 0x10,
-    0x0, 0x4, 0xff, 0x31, 0xdf, 0xff, 0xee, 0xed,
-    0xdd, 0xef, 0xf7, 0xb, 0x50, 0x0, 0x7c, 0xef,
-    0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+9001 "送" */
-    0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x31,
-    0x0, 0x0, 0x5, 0x50, 0x0, 0x4f, 0xb0, 0x0,
-    0xe, 0xe1, 0x0, 0x2, 0xff, 0x30, 0x0, 0xcf,
-    0x70, 0x9, 0xfa, 0x0, 0x0, 0x7, 0xfd, 0x0,
-    0x1, 0xe5, 0x4, 0xfd, 0x0, 0x0, 0x0, 0xb,
-    0xf9, 0x3d, 0xde, 0xdd, 0xff, 0xed, 0xd6, 0x0,
-    0x0, 0x1c, 0x23, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xd0,
-    0x0, 0x0, 0x0, 0x78, 0x88, 0x0, 0x0, 0x2,
-    0xfd, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf1, 0xaa,
-    0xaa, 0xbf, 0xfa, 0xaa, 0xa8, 0x0, 0x44, 0xdf,
-    0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0,
-    0xc, 0xf1, 0x22, 0x22, 0xaf, 0xb2, 0x22, 0x21,
-    0x0, 0x0, 0xcf, 0x10, 0x0, 0x1e, 0xff, 0x90,
-    0x0, 0x0, 0x0, 0xc, 0xf1, 0x0, 0xc, 0xfe,
-    0xff, 0xc2, 0x0, 0x0, 0x0, 0xcf, 0x10, 0x3d,
-    0xff, 0x35, 0xff, 0xe3, 0x0, 0x0, 0xc, 0xf2,
-    0xaf, 0xfe, 0x30, 0x2, 0xdf, 0xf3, 0x0, 0x5,
-    0xff, 0x9c, 0xfb, 0x10, 0x0, 0x1, 0xce, 0x10,
-    0x5, 0xff, 0xff, 0xe9, 0x0, 0x0, 0x0, 0x0,
-    0x40, 0x3, 0xff, 0x74, 0xff, 0xff, 0xfe, 0xee,
-    0xee, 0xef, 0xf6, 0xc, 0x80, 0x1, 0x8c, 0xff,
-    0xff, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+901A "通" */
-    0x0, 0x4, 0x0, 0x0, 0x11, 0x11, 0x11, 0x11,
-    0x10, 0x0, 0xb, 0xf4, 0x0, 0xef, 0xff, 0xff,
-    0xff, 0xff, 0x40, 0x0, 0x4f, 0xe0, 0x8, 0xaf,
-    0xc9, 0x9a, 0xff, 0xe2, 0x0, 0x0, 0xaf, 0x90,
-    0x3, 0xef, 0x87, 0xff, 0x90, 0x0, 0x0, 0x1,
-    0xf9, 0x1, 0x13, 0xdf, 0xfd, 0x41, 0x10, 0x0,
-    0x0, 0x2, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0x20, 0x4, 0x55, 0x50, 0x1f, 0xd9, 0x9f, 0xe9,
-    0x9d, 0xf2, 0x0, 0xbf, 0xff, 0x1, 0xfd, 0x88,
-    0xfe, 0x88, 0xdf, 0x20, 0x2, 0x3e, 0xf0, 0x1f,
-    0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0xef,
-    0x1, 0xfb, 0x11, 0xed, 0x11, 0xaf, 0x20, 0x0,
-    0xe, 0xf0, 0x1f, 0xd9, 0x9f, 0xe9, 0x9d, 0xf2,
-    0x0, 0x0, 0xef, 0x1, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0x20, 0x0, 0xe, 0xf0, 0x1f, 0xb0, 0xe,
-    0xd0, 0xa, 0xf2, 0x0, 0x0, 0xef, 0x1, 0xfb,
-    0x0, 0xed, 0x1a, 0xff, 0x10, 0x0, 0x9f, 0xf7,
-    0x1f, 0xb0, 0xe, 0xc0, 0xef, 0xe0, 0x0, 0x6f,
-    0xfe, 0xf9, 0x52, 0x0, 0x0, 0x5, 0x51, 0x0,
-    0x2f, 0xf6, 0x3f, 0xff, 0xed, 0xdd, 0xdd, 0xdd,
-    0xef, 0x80, 0x97, 0x0, 0x19, 0xdf, 0xff, 0xff,
-    0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x11, 0x0, 0x0, 0x0,
-
-    /* U+9600 "阀" */
-    0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3f, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x3f, 0xf6, 0xd, 0xff, 0xff, 0xff, 0xff, 0xfb,
-    0x3, 0xff, 0x29, 0xbb, 0xbb, 0xbb, 0xbb, 0xfb,
-    0x43, 0x59, 0x36, 0x4, 0x60, 0x71, 0x0, 0xfb,
-    0xfc, 0x0, 0xaf, 0x19, 0xf3, 0xfd, 0x10, 0xfb,
-    0xfc, 0x1, 0xfa, 0x9, 0xf0, 0x4f, 0x70, 0xfb,
-    0xfc, 0x9, 0xf3, 0x8, 0xf3, 0x5a, 0xa2, 0xfb,
-    0xfc, 0x2f, 0xf7, 0xce, 0xff, 0xff, 0xf4, 0xfb,
-    0xfc, 0xbf, 0xf8, 0xcc, 0xf9, 0x34, 0x20, 0xfb,
-    0xfe, 0xff, 0xf1, 0x2, 0xf7, 0x1e, 0xc0, 0xfb,
-    0xfc, 0x89, 0xf1, 0x0, 0xfc, 0xef, 0x30, 0xfb,
-    0xfc, 0x8, 0xf1, 0x0, 0xdf, 0xf4, 0x0, 0xfb,
-    0xfc, 0x8, 0xf1, 0x5d, 0xff, 0x50, 0x92, 0xfb,
-    0xfc, 0x8, 0xfd, 0xff, 0x9f, 0xb2, 0xf5, 0xfb,
-    0xfc, 0x8, 0xf6, 0x91, 0xa, 0xfe, 0xf1, 0xfb,
-    0xfc, 0x8, 0xf1, 0x0, 0x1, 0xcf, 0x82, 0xfb,
-    0xfc, 0x3, 0x50, 0x0, 0x0, 0x9, 0xdf, 0xfa,
-    0xfc, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xe3,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32, 0x0,
-
-    /* U+969C "障" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0x80,
-    0x0, 0x0, 0x1f, 0xff, 0xff, 0x33, 0x33, 0x4f,
-    0xe3, 0x33, 0x30, 0x1f, 0xfe, 0xff, 0x4f, 0xff,
-    0xff, 0xff, 0xff, 0xf1, 0x1f, 0xa0, 0xaf, 0x13,
-    0x6f, 0x93, 0x39, 0xf6, 0x30, 0x1f, 0xa0, 0xec,
-    0x12, 0x3f, 0xb2, 0x2b, 0xf3, 0x21, 0x1f, 0xa2,
-    0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f,
-    0xa7, 0xf2, 0x34, 0x44, 0x44, 0x44, 0x44, 0x43,
-    0x1f, 0xab, 0xf0, 0x7, 0x77, 0x77, 0x77, 0x77,
-    0x30, 0x1f, 0xa5, 0xf6, 0xf, 0xfe, 0xee, 0xee,
-    0xef, 0x90, 0x1f, 0xa0, 0xdd, 0xf, 0xd3, 0x33,
-    0x33, 0x4f, 0x90, 0x1f, 0xa0, 0x8f, 0x2f, 0xff,
-    0xff, 0xff, 0xff, 0x90, 0x1f, 0xa0, 0x7f, 0x3f,
-    0xc2, 0x22, 0x22, 0x3f, 0x90, 0x1f, 0xb5, 0xdf,
-    0x3f, 0xff, 0xff, 0xff, 0xff, 0x90, 0x1f, 0xae,
-    0xfe, 0x5, 0x55, 0x6f, 0xd5, 0x55, 0x30, 0x1f,
-    0xa6, 0x75, 0xaa, 0xaa, 0xaf, 0xea, 0xaa, 0xa7,
-    0x1f, 0xa0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xfb, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x1f, 0xc0,
-    0x0, 0x0, 0x1f, 0xa0, 0x0, 0x0, 0x0, 0x1f,
-    0xc0, 0x0, 0x0,
-
-    /* U+9884 "预" */
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x6f, 0xff, 0xff, 0xf6, 0xff, 0xff,
-    0xff, 0xff, 0xf8, 0x4, 0xcc, 0xcc, 0xff, 0x5c,
-    0xcc, 0xff, 0xdc, 0xcc, 0x60, 0x2, 0x50, 0x4f,
-    0xc0, 0x0, 0xd, 0xf0, 0x0, 0x0, 0x0, 0x9f,
-    0x6e, 0xe2, 0x4, 0x66, 0xfd, 0x66, 0x64, 0x0,
-    0x0, 0xcf, 0xf5, 0x0, 0xcf, 0xff, 0xff, 0xff,
-    0xb0, 0x0, 0x2, 0xfd, 0x0, 0xc, 0xe5, 0x55,
-    0x56, 0xfb, 0x1, 0xff, 0xff, 0xff, 0xfb, 0xcd,
-    0xb, 0xf1, 0x1f, 0xb0, 0x1d, 0xde, 0xfe, 0xdf,
-    0xbc, 0xd0, 0xbf, 0x11, 0xfb, 0x0, 0x0, 0x3f,
-    0x93, 0xf7, 0xcd, 0xb, 0xf1, 0x1f, 0xb0, 0x0,
-    0x3, 0xf9, 0x8f, 0x2c, 0xd0, 0xbf, 0x11, 0xfb,
-    0x0, 0x0, 0x3f, 0x9c, 0xd0, 0xcd, 0xc, 0xf0,
-    0x1f, 0xb0, 0x0, 0x3, 0xf9, 0x2, 0xc, 0xd0,
-    0xee, 0x1, 0xfb, 0x0, 0x0, 0x3f, 0x90, 0x0,
-    0x88, 0x5f, 0x94, 0x2a, 0x70, 0x0, 0x3, 0xf9,
-    0x0, 0x0, 0x3e, 0xf4, 0xfe, 0x60, 0x0, 0x0,
-    0x6f, 0x80, 0x0, 0x7f, 0xf7, 0x7, 0xff, 0xa0,
-    0x0, 0xff, 0xf7, 0x5, 0xef, 0xf7, 0x0, 0x3,
-    0xef, 0xc0, 0xa, 0xea, 0x10, 0x2f, 0xd3, 0x0,
-    0x0, 0x1, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x20,
-    0x0, 0x0, 0x0, 0x0, 0x0,
-
-    /* U+98CE "风" */
-    0x0, 0x1, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
-    0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xf1, 0x0, 0x0, 0x1f, 0xfd, 0xdd, 0xdd,
-    0xdd, 0xdd, 0xff, 0x10, 0x0, 0x1, 0xfe, 0x0,
-    0x0, 0x0, 0x1, 0xe, 0xf1, 0x0, 0x0, 0x1f,
-    0xe5, 0xe3, 0x0, 0x8, 0xe4, 0xef, 0x10, 0x0,
-    0x1, 0xfe, 0x5f, 0xd0, 0x1, 0xff, 0x1e, 0xf1,
-    0x0, 0x0, 0x1f, 0xe0, 0xaf, 0x90, 0x9f, 0x80,
-    0xef, 0x10, 0x0, 0x1, 0xfe, 0x1, 0xef, 0x8f,
-    0xe0, 0xe, 0xf1, 0x0, 0x0, 0x1f, 0xe0, 0x4,
-    0xff, 0xf5, 0x0, 0xef, 0x10, 0x0, 0x1, 0xfe,
-    0x0, 0xb, 0xfe, 0x0, 0xe, 0xf1, 0x0, 0x0,
-    0x2f, 0xd0, 0x4, 0xff, 0xf6, 0x0, 0xef, 0x10,
-    0x0, 0x4, 0xfb, 0x1, 0xef, 0xaf, 0xe1, 0xd,
-    0xf1, 0x0, 0x0, 0x7f, 0x80, 0xbf, 0xa0, 0xaf,
-    0xb0, 0xdf, 0x14, 0x10, 0xb, 0xf5, 0xaf, 0xd0,
-    0x1, 0xef, 0x5b, 0xf3, 0xbd, 0x1, 0xff, 0x7f,
-    0xe2, 0x0, 0x6, 0xfd, 0x9f, 0x5e, 0xb0, 0x7f,
-    0xa1, 0xb4, 0x0, 0x0, 0xb, 0x36, 0xff, 0xf7,
-    0xe, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f,
-    0xff, 0x20, 0x6a, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x7f, 0x70,
-
-    /* U+9AD8 "高" */
-    0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x7, 0xfa, 0x0, 0x0,
-    0x0, 0x0, 0x89, 0x99, 0x99, 0x9b, 0xff, 0x99,
-    0x99, 0x99, 0x94, 0xef, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff,
-    0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x2f,
-    0xe7, 0x77, 0x77, 0x77, 0x9f, 0xc0, 0x0, 0x0,
-    0x2f, 0xd3, 0x33, 0x33, 0x33, 0x6f, 0xc0, 0x0,
-    0x0, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
-    0x0, 0x0, 0x3, 0x33, 0x33, 0x33, 0x33, 0x33,
-    0x20, 0x0, 0x6, 0x88, 0x88, 0x88, 0x88, 0x88,
-    0x88, 0x88, 0x20, 0xb, 0xff, 0xff, 0xff, 0xff,
-    0xff, 0xff, 0xff, 0x50, 0xb, 0xf3, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0xaf, 0x50, 0xb, 0xf3, 0x2f,
-    0xff, 0xff, 0xff, 0xb0, 0xaf, 0x50, 0xb, 0xf3,
-    0x2f, 0xd7, 0x77, 0x8f, 0xb0, 0xaf, 0x50, 0xb,
-    0xf3, 0x2f, 0xd7, 0x77, 0x9f, 0xb0, 0xaf, 0x50,
-    0xb, 0xf3, 0x2f, 0xff, 0xff, 0xff, 0xb0, 0xbf,
-    0x50, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x8e,
-    0xff, 0x30, 0xb, 0xf3, 0x0, 0x0, 0x0, 0x0,
-    0x4e, 0xc6, 0x0,
-
     /* U+F001 "" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
@@ -3089,7 +2566,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
 
 static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
-    {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
     {.bitmap_index = 0, .adv_w = 82, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0},
     {.bitmap_index = 0, .adv_w = 117, .box_w = 4, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
     {.bitmap_index = 28, .adv_w = 132, .box_w = 7, .box_h = 6, .ofs_x = 1, .ofs_y = 9},
@@ -3186,124 +2662,96 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 6085, .adv_w = 106, .box_w = 6, .box_h = 19, .ofs_x = 0, .ofs_y = -4},
     {.bitmap_index = 6142, .adv_w = 182, .box_w = 11, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
     {.bitmap_index = 6164, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6354, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6535, .adv_w = 315, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6354, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 6525, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
     {.bitmap_index = 6706, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6896, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7077, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 7258, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7448, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 7619, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 7809, .adv_w = 315, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7999, .adv_w = 315, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8189, .adv_w = 315, .box_w = 17, .box_h = 20, .ofs_x = 2, .ofs_y = -3},
-    {.bitmap_index = 8359, .adv_w = 315, .box_w = 17, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 8521, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8702, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8883, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9073, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 9244, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9434, .adv_w = 315, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9624, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9805, .adv_w = 315, .box_w = 16, .box_h = 20, .ofs_x = 2, .ofs_y = -3},
-    {.bitmap_index = 9965, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10136, .adv_w = 315, .box_w = 19, .box_h = 19, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10317, .adv_w = 315, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10488, .adv_w = 315, .box_w = 18, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10659, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10869, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11019, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11209, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11359, .adv_w = 220, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 11464, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11674, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11884, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 12103, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12313, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12486, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 12696, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 12776, .adv_w = 240, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 12896, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 13115, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 13265, .adv_w = 220, .box_w = 14, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13412, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 13536, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13725, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 13896, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 14067, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 14191, .adv_w = 280, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 14372, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 14477, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 14582, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 14753, .adv_w = 280, .box_w = 18, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 14798, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14971, .adv_w = 400, .box_w = 26, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 15244, .adv_w = 360, .box_w = 24, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 15496, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 15686, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 15785, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 15884, .adv_w = 400, .box_w = 26, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 16092, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 16242, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 16452, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 16673, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 16844, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 17033, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 17204, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 17357, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 17507, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 17654, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 17843, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 18032, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 18205, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 18436, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 18594, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 18832, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 18995, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19158, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19321, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19484, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 19647, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 19868, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 20036, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 20225, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 20446, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 20634, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 20792, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 6896, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7106, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7256, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7446, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7596, .adv_w = 220, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7701, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 7911, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8121, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8340, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8550, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8723, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8933, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9013, .adv_w = 240, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9133, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9352, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9502, .adv_w = 220, .box_w = 14, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9649, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 9773, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9962, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10133, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10304, .adv_w = 280, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 10428, .adv_w = 280, .box_w = 19, .box_h = 19, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 10609, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10714, .adv_w = 200, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10819, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10990, .adv_w = 280, .box_w = 18, .box_h = 5, .ofs_x = 0, .ofs_y = 5},
+    {.bitmap_index = 11035, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 11208, .adv_w = 400, .box_w = 26, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11481, .adv_w = 360, .box_w = 24, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 11733, .adv_w = 320, .box_w = 20, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11923, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 12022, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 12121, .adv_w = 400, .box_w = 26, .box_h = 16, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 12329, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 12479, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 12689, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 12910, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 13081, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13270, .adv_w = 280, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 13441, .adv_w = 280, .box_w = 18, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13594, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 13744, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 13891, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14080, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14269, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14442, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 14673, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14831, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 15069, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15232, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15395, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15558, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15721, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 15884, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 16105, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 16273, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 16462, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 16683, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 16871, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 17029, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
  *  CHARACTER MAPPING
  *--------------------*/
 
-static const uint16_t unicode_list_2[] = {
-    0x0, 0x2d, 0x748, 0x11ff, 0x1472, 0x1625, 0x1690, 0x17d4,
-    0x181a, 0x1d14, 0x1dd5, 0x2615, 0x2639, 0x29a1, 0x2ddb, 0x2fbf,
-    0x3c8f, 0x40bb, 0x40e1, 0x40fa, 0x46e0, 0x477c, 0x4964, 0x49ae,
-    0x4bb8, 0xa0e1, 0xa0e8, 0xa0eb, 0xa0ec, 0xa0ed, 0xa0f1, 0xa0f3,
-    0xa0f5, 0xa0f9, 0xa0fc, 0xa101, 0xa106, 0xa107, 0xa108, 0xa11e,
-    0xa123, 0xa128, 0xa12b, 0xa12c, 0xa12d, 0xa131, 0xa132, 0xa133,
-    0xa134, 0xa147, 0xa148, 0xa14e, 0xa150, 0xa151, 0xa154, 0xa157,
-    0xa158, 0xa159, 0xa15b, 0xa173, 0xa175, 0xa1a4, 0xa1a5, 0xa1a7,
-    0xa1a9, 0xa1c0, 0xa1c7, 0xa1ca, 0xa1d3, 0xa1fc, 0xa204, 0xa23b,
-    0xa2cb, 0xa320, 0xa321, 0xa322, 0xa323, 0xa324, 0xa367, 0xa373,
-    0xa3cd, 0xa3e4, 0xa63a, 0xa8a2, 0xa982
+static const uint16_t unicode_list_1[] = {
+    0x0, 0x144, 0x174b, 0x192f, 0x8a51, 0x8a58, 0x8a5b, 0x8a5c,
+    0x8a5d, 0x8a61, 0x8a63, 0x8a65, 0x8a69, 0x8a6c, 0x8a71, 0x8a76,
+    0x8a77, 0x8a78, 0x8a8e, 0x8a93, 0x8a98, 0x8a9b, 0x8a9c, 0x8a9d,
+    0x8aa1, 0x8aa2, 0x8aa3, 0x8aa4, 0x8ab7, 0x8ab8, 0x8abe, 0x8ac0,
+    0x8ac1, 0x8ac4, 0x8ac7, 0x8ac8, 0x8ac9, 0x8acb, 0x8ae3, 0x8ae5,
+    0x8b14, 0x8b15, 0x8b17, 0x8b19, 0x8b30, 0x8b37, 0x8b3a, 0x8b43,
+    0x8b6c, 0x8b74, 0x8bab, 0x8c3b, 0x8c90, 0x8c91, 0x8c92, 0x8c93,
+    0x8c94, 0x8cd7, 0x8ce3, 0x8d3d, 0x8d54, 0x8faa, 0x9212, 0x92f2
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
 static const lv_font_fmt_txt_cmap_t cmaps[] =
 {
     {
-        .range_start = 10, .range_length = 1, .glyph_id_start = 1,
+        .range_start = 32, .range_length = 95, .glyph_id_start = 1,
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 32, .range_length = 95, .glyph_id_start = 2,
-        .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
-    },
-    {
-        .range_start = 20256, .range_length = 43395, .glyph_id_start = 97,
-        .unicode_list = unicode_list_2, .glyph_id_ofs_list = NULL, .list_length = 85, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 26032, .range_length = 37619, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 64, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -3315,20 +2763,18 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
 /*Map glyph_ids to kern left classes*/
 static const uint8_t kern_left_class_mapping[] =
 {
-    0, 0, 0, 0, 1, 0, 0, 0,
-    0, 2, 3, 0, 0, 0, 4, 0,
-    4, 5, 0, 6, 0, 0, 0, 0,
-    0, 7, 0, 0, 8, 8, 0, 0,
-    0, 0, 0, 9, 10, 0, 11, 12,
-    13, 14, 0, 0, 15, 16, 17, 0,
-    0, 11, 18, 19, 20, 21, 22, 23,
-    24, 25, 16, 26, 27, 28, 0, 0,
-    0, 0, 0, 29, 30, 0, 0, 31,
-    32, 0, 33, 34, 35, 36, 37, 33,
-    33, 30, 30, 38, 39, 40, 41, 42,
-    43, 44, 36, 43, 45, 46, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 1, 0, 0, 0, 0,
+    2, 3, 0, 0, 0, 4, 0, 4,
+    5, 0, 6, 0, 0, 0, 0, 0,
+    7, 0, 0, 8, 8, 0, 0, 0,
+    0, 0, 9, 10, 0, 11, 12, 13,
+    14, 0, 0, 15, 16, 17, 0, 0,
+    11, 18, 19, 20, 21, 22, 23, 24,
+    25, 16, 26, 27, 28, 0, 0, 0,
+    0, 0, 29, 30, 0, 0, 31, 32,
+    0, 33, 34, 35, 36, 37, 33, 33,
+    30, 30, 38, 39, 40, 41, 42, 43,
+    44, 36, 43, 45, 46, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
@@ -3336,28 +2782,24 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0, 0, 0, 0, 0
 };
 
 /*Map glyph_ids to kern right classes*/
 static const uint8_t kern_right_class_mapping[] =
 {
-    0, 0, 0, 0, 1, 0, 0, 0,
-    0, 1, 0, 2, 3, 0, 4, 0,
-    4, 5, 0, 6, 0, 0, 0, 0,
-    0, 7, 0, 8, 9, 9, 0, 0,
-    0, 10, 0, 11, 0, 12, 0, 0,
-    0, 12, 0, 0, 13, 0, 0, 0,
-    0, 12, 0, 12, 0, 14, 15, 16,
-    17, 18, 19, 20, 21, 0, 0, 22,
-    0, 0, 0, 23, 0, 24, 24, 24,
-    25, 26, 27, 28, 29, 27, 30, 31,
-    31, 24, 32, 24, 31, 33, 34, 35,
-    36, 37, 38, 36, 31, 0, 0, 39,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 1, 0, 0, 0, 0,
+    1, 0, 2, 3, 0, 4, 0, 4,
+    5, 0, 6, 0, 0, 0, 0, 0,
+    7, 0, 8, 9, 9, 0, 0, 0,
+    10, 0, 11, 0, 12, 0, 0, 0,
+    12, 0, 0, 13, 0, 0, 0, 0,
+    12, 0, 12, 0, 14, 15, 16, 17,
+    18, 19, 20, 21, 0, 0, 22, 0,
+    0, 0, 23, 0, 24, 24, 24, 25,
+    26, 27, 28, 29, 27, 30, 31, 31,
+    24, 32, 24, 31, 33, 34, 35, 36,
+    37, 38, 36, 31, 0, 0, 39, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
@@ -3365,7 +2807,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0, 0, 0, 0, 0
 };
 
 /*Kern values between classes*/
@@ -3628,7 +3070,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
     .cmaps = cmaps,
     .kern_dsc = &kern_classes,
     .kern_scale = 16,
-    .cmap_num = 3,
+    .cmap_num = 2,
     .bpp = 4,
     .kern_classes = 1,
     .bitmap_format = 0,

+ 71 - 105
xfUI/XFJS/generated/guider_fonts/lv_font_iconfont_24.c

@@ -22,39 +22,6 @@
 
 /*Store the image of the glyphs*/
 static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
-    /* U+E60A "" */
-    0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf5,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x8f, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x0, 0x6, 0xf9, 0xb, 0xf5, 0x0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xa0,
-    0x0, 0xbf, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x1, 0xec, 0x0, 0x0, 0xc, 0xe0, 0x2, 0x90,
-    0x0, 0x0, 0x0, 0x9, 0xf2, 0x0, 0x0, 0x1,
-    0x70, 0x1e, 0xfa, 0x0, 0x0, 0x0, 0x3f, 0x60,
-    0x0, 0x0, 0x0, 0x0, 0xdd, 0x5f, 0x80, 0x0,
-    0x0, 0xbd, 0x0, 0x0, 0x0, 0x0, 0x9, 0xf2,
-    0x7, 0xf4, 0x0, 0x2, 0xf5, 0x0, 0x0, 0x0,
-    0x0, 0x2f, 0x60, 0x0, 0xcd, 0x0, 0x8, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x3f,
-    0x50, 0xd, 0xa0, 0x0, 0x0, 0x0, 0x1, 0xf6,
-    0x0, 0x0, 0xc, 0xb0, 0xf, 0x60, 0x91, 0x0,
-    0x0, 0x4, 0xf1, 0x63, 0x0, 0x7, 0xf0, 0x1f,
-    0x43, 0xf2, 0x0, 0x0, 0x6, 0xf0, 0xd8, 0x0,
-    0x5, 0xf1, 0x1f, 0x54, 0xf2, 0x0, 0x0, 0x6,
-    0xf0, 0xad, 0x40, 0x5, 0xf0, 0xf, 0x81, 0xf8,
-    0x0, 0x0, 0x3, 0xf4, 0x1c, 0xf5, 0xa, 0xd0,
-    0xa, 0xd0, 0x8f, 0x50, 0x0, 0x0, 0xbe, 0x20,
-    0x20, 0x7f, 0x50, 0x3, 0xf7, 0xa, 0xfd, 0xb8,
-    0x0, 0x1d, 0xfb, 0x9d, 0xf8, 0x0, 0x0, 0x7f,
-    0x70, 0x49, 0xb6, 0x0, 0x20, 0x7b, 0xda, 0x40,
-    0x0, 0x0, 0x8, 0xfc, 0x52, 0x2, 0x6d, 0xe0,
-    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4d, 0xff,
-    0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
-    0x0, 0x0, 0x25, 0x54, 0x10, 0x0, 0x0, 0x0,
-    0x0, 0x0,
-
     /* U+E660 "" */
     0x0, 0x0, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x5e, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x3,
@@ -2028,68 +1995,67 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
 
 static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
-    {.bitmap_index = 0, .adv_w = 384, .box_w = 22, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 242, .adv_w = 384, .box_w = 14, .box_h = 24, .ofs_x = 5, .ofs_y = -3},
-    {.bitmap_index = 410, .adv_w = 384, .box_w = 24, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 710, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 926, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 1190, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 1406, .adv_w = 264, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 1559, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 1847, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 2135, .adv_w = 432, .box_w = 27, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 2432, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 2720, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 2963, .adv_w = 384, .box_w = 24, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
-    {.bitmap_index = 3275, .adv_w = 192, .box_w = 12, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 3389, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 3560, .adv_w = 432, .box_w = 27, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 3884, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 4100, .adv_w = 264, .box_w = 17, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 4304, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
-    {.bitmap_index = 4469, .adv_w = 336, .box_w = 21, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
-    {.bitmap_index = 4742, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4973, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5204, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
-    {.bitmap_index = 5369, .adv_w = 336, .box_w = 23, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 5622, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 5765, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 5908, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6139, .adv_w = 336, .box_w = 21, .box_h = 6, .ofs_x = 0, .ofs_y = 6},
-    {.bitmap_index = 6202, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6445, .adv_w = 480, .box_w = 31, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 6817, .adv_w = 432, .box_w = 29, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 7165, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7429, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 7576, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
-    {.bitmap_index = 7723, .adv_w = 480, .box_w = 31, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 8018, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8234, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 8522, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 8835, .adv_w = 336, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9077, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 9329, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9560, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9770, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9986, .adv_w = 240, .box_w = 17, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10190, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10442, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 10694, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10937, .adv_w = 384, .box_w = 26, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
-    {.bitmap_index = 11275, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 11491, .adv_w = 480, .box_w = 30, .box_h = 23, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11836, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12076, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12316, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12556, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 12796, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 13036, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 13346, .adv_w = 336, .box_w = 19, .box_h = 24, .ofs_x = 1, .ofs_y = -3},
-    {.bitmap_index = 13574, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 13826, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
-    {.bitmap_index = 14139, .adv_w = 480, .box_w = 30, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 14409, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 14625, .adv_w = 386, .box_w = 25, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 0, .adv_w = 384, .box_w = 14, .box_h = 24, .ofs_x = 5, .ofs_y = -3},
+    {.bitmap_index = 168, .adv_w = 384, .box_w = 24, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 468, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 684, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 948, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 1164, .adv_w = 264, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 1317, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 1605, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 1893, .adv_w = 432, .box_w = 27, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 2190, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 2478, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 2721, .adv_w = 384, .box_w = 24, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
+    {.bitmap_index = 3033, .adv_w = 192, .box_w = 12, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 3147, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 3318, .adv_w = 432, .box_w = 27, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 3642, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 3858, .adv_w = 264, .box_w = 17, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 4062, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
+    {.bitmap_index = 4227, .adv_w = 336, .box_w = 21, .box_h = 26, .ofs_x = 0, .ofs_y = -4},
+    {.bitmap_index = 4500, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4731, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4962, .adv_w = 336, .box_w = 15, .box_h = 22, .ofs_x = 3, .ofs_y = -2},
+    {.bitmap_index = 5127, .adv_w = 336, .box_w = 23, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 5380, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 5523, .adv_w = 240, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 5666, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5897, .adv_w = 336, .box_w = 21, .box_h = 6, .ofs_x = 0, .ofs_y = 6},
+    {.bitmap_index = 5960, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6203, .adv_w = 480, .box_w = 31, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 6575, .adv_w = 432, .box_w = 29, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 6923, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7187, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 7334, .adv_w = 336, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
+    {.bitmap_index = 7481, .adv_w = 480, .box_w = 31, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 7776, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7992, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 8280, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 8593, .adv_w = 336, .box_w = 22, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8835, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 9087, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9318, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9528, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9744, .adv_w = 240, .box_w = 17, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9948, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10200, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 10452, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10695, .adv_w = 384, .box_w = 26, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
+    {.bitmap_index = 11033, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 11249, .adv_w = 480, .box_w = 30, .box_h = 23, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 11594, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 11834, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12074, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12314, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12554, .adv_w = 480, .box_w = 30, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 12794, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 13104, .adv_w = 336, .box_w = 19, .box_h = 24, .ofs_x = 1, .ofs_y = -3},
+    {.bitmap_index = 13332, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 13584, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
+    {.bitmap_index = 13897, .adv_w = 480, .box_w = 30, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 14167, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 14383, .adv_w = 386, .box_w = 25, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
@@ -2097,22 +2063,22 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_0[] = {
-    0x0, 0x56, 0x9f7, 0x9fe, 0xa01, 0xa02, 0xa03, 0xa07,
-    0xa09, 0xa0b, 0xa0f, 0xa12, 0xa17, 0xa1c, 0xa1d, 0xa1e,
-    0xa34, 0xa39, 0xa3e, 0xa41, 0xa42, 0xa43, 0xa47, 0xa48,
-    0xa49, 0xa4a, 0xa5d, 0xa5e, 0xa64, 0xa66, 0xa67, 0xa6a,
-    0xa6d, 0xa6e, 0xa6f, 0xa71, 0xa89, 0xa8b, 0xaba, 0xabb,
-    0xabd, 0xabf, 0xad6, 0xadd, 0xae0, 0xae9, 0xb12, 0xb1a,
-    0xb51, 0xbe1, 0xc36, 0xc37, 0xc38, 0xc39, 0xc3a, 0xc7d,
-    0xc89, 0xce3, 0xcfa, 0xf50, 0x11b8, 0x1298
+    0x0, 0x9a1, 0x9a8, 0x9ab, 0x9ac, 0x9ad, 0x9b1, 0x9b3,
+    0x9b5, 0x9b9, 0x9bc, 0x9c1, 0x9c6, 0x9c7, 0x9c8, 0x9de,
+    0x9e3, 0x9e8, 0x9eb, 0x9ec, 0x9ed, 0x9f1, 0x9f2, 0x9f3,
+    0x9f4, 0xa07, 0xa08, 0xa0e, 0xa10, 0xa11, 0xa14, 0xa17,
+    0xa18, 0xa19, 0xa1b, 0xa33, 0xa35, 0xa64, 0xa65, 0xa67,
+    0xa69, 0xa80, 0xa87, 0xa8a, 0xa93, 0xabc, 0xac4, 0xafb,
+    0xb8b, 0xbe0, 0xbe1, 0xbe2, 0xbe3, 0xbe4, 0xc27, 0xc33,
+    0xc8d, 0xca4, 0xefa, 0x1162, 0x1242
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
 static const lv_font_fmt_txt_cmap_t cmaps[] =
 {
     {
-        .range_start = 58890, .range_length = 4761, .glyph_id_start = 1,
-        .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 62, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 58976, .range_length = 4675, .glyph_id_start = 1,
+        .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 61, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 

+ 72 - 86
xfUI/XFJS/generated/guider_fonts/lv_font_montserratMedium_16.c

@@ -833,18 +833,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
     0xb5, 0xc, 0x86, 0xf5, 0x1e, 0x20, 0xf0, 0x3,
     0xef, 0x90, 0x2, 0x0, 0x0, 0x10, 0x0,
 
-    /* U+00B3 "³" */
-    0x5f, 0xff, 0xfb, 0x0, 0x0, 0x3e, 0x20, 0x0,
-    0x2e, 0x40, 0x0, 0x5, 0xce, 0x60, 0x0, 0x0,
-    0x2f, 0x3, 0x50, 0x5, 0xe0, 0x3b, 0xef, 0xc3,
-    0x0,
-
-    /* U+2082 "₂" */
-    0x1a, 0xff, 0xb1, 0x2, 0x71, 0x9, 0xa0, 0x0,
-    0x0, 0x8a, 0x0, 0x0, 0x4e, 0x20, 0x0, 0x5e,
-    0x30, 0x0, 0x6e, 0x20, 0x0, 0x3f, 0xfe, 0xee,
-    0x10,
-
     /* U+F001 "" */
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xdc,
@@ -1890,68 +1878,66 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
     {.bitmap_index = 4535, .adv_w = 77, .box_w = 3, .box_h = 15, .ofs_x = 1, .ofs_y = -3},
     {.bitmap_index = 4558, .adv_w = 90, .box_w = 5, .box_h = 15, .ofs_x = 0, .ofs_y = -3},
     {.bitmap_index = 4596, .adv_w = 149, .box_w = 9, .box_h = 5, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 4619, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 5},
-    {.bitmap_index = 4644, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4669, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 4805, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 4901, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5013, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5109, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5175, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5303, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5431, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5557, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5685, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 5793, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 5921, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 5977, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6061, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6205, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 6301, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 6389, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 6469, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
-    {.bitmap_index = 6595, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6700, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 6798, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
-    {.bitmap_index = 6878, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
-    {.bitmap_index = 6990, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7060, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7130, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 7228, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
-    {.bitmap_index = 7256, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 7364, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7524, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 7684, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 7812, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 7882, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 7952, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8092, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8188, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8316, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 8461, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8566, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 8678, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8776, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 8874, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 8970, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
-    {.bitmap_index = 9066, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9178, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9290, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 9398, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 9560, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 9656, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 9806, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 9906, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10006, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10106, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10206, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
-    {.bitmap_index = 10306, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
-    {.bitmap_index = 10453, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
-    {.bitmap_index = 10549, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 10661, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
-    {.bitmap_index = 10806, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
-    {.bitmap_index = 10926, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
-    {.bitmap_index = 11022, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
+    {.bitmap_index = 4619, .adv_w = 256, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 4755, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 4851, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 4963, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5059, .adv_w = 176, .box_w = 11, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5125, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5253, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5381, .adv_w = 288, .box_w = 18, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 5507, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5635, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 5743, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 5871, .adv_w = 128, .box_w = 8, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 5927, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6011, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6155, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 6251, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 6339, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 6419, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
+    {.bitmap_index = 6545, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6650, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 6748, .adv_w = 224, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = -2},
+    {.bitmap_index = 6828, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
+    {.bitmap_index = 6940, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7010, .adv_w = 160, .box_w = 10, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7080, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 7178, .adv_w = 224, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
+    {.bitmap_index = 7206, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 7314, .adv_w = 320, .box_w = 20, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7474, .adv_w = 288, .box_w = 20, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 7634, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 7762, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 7832, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 7902, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8042, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8138, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8266, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 8411, .adv_w = 224, .box_w = 15, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8516, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 8628, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8726, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 8824, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 8920, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
+    {.bitmap_index = 9016, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9128, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9240, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 9348, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 9510, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 9606, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 9756, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 9856, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 9956, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10056, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10156, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
+    {.bitmap_index = 10256, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
+    {.bitmap_index = 10403, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
+    {.bitmap_index = 10499, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10611, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
+    {.bitmap_index = 10756, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
+    {.bitmap_index = 10876, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
+    {.bitmap_index = 10972, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
 };
 
 /*---------------------
@@ -1959,14 +1945,14 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
  *--------------------*/
 
 static const uint16_t unicode_list_1[] = {
-    0x0, 0x1fcf, 0xef4e, 0xef55, 0xef58, 0xef59, 0xef5a, 0xef5e,
-    0xef60, 0xef62, 0xef66, 0xef69, 0xef6e, 0xef73, 0xef74, 0xef75,
-    0xef8b, 0xef90, 0xef95, 0xef98, 0xef99, 0xef9a, 0xef9e, 0xef9f,
-    0xefa0, 0xefa1, 0xefb4, 0xefb5, 0xefbb, 0xefbd, 0xefbe, 0xefc1,
-    0xefc4, 0xefc5, 0xefc6, 0xefc8, 0xefe0, 0xefe2, 0xf011, 0xf012,
-    0xf014, 0xf016, 0xf02d, 0xf034, 0xf037, 0xf040, 0xf069, 0xf071,
-    0xf0a8, 0xf138, 0xf18d, 0xf18e, 0xf18f, 0xf190, 0xf191, 0xf1d4,
-    0xf1e0, 0xf23a, 0xf251, 0xf4a7, 0xf70f, 0xf7ef
+    0x0, 0x7, 0xa, 0xb, 0xc, 0x10, 0x12, 0x14,
+    0x18, 0x1b, 0x20, 0x25, 0x26, 0x27, 0x3d, 0x42,
+    0x47, 0x4a, 0x4b, 0x4c, 0x50, 0x51, 0x52, 0x53,
+    0x66, 0x67, 0x6d, 0x6f, 0x70, 0x73, 0x76, 0x77,
+    0x78, 0x7a, 0x92, 0x94, 0xc3, 0xc4, 0xc6, 0xc8,
+    0xdf, 0xe6, 0xe9, 0xf2, 0x11b, 0x123, 0x15a, 0x1ea,
+    0x23f, 0x240, 0x241, 0x242, 0x243, 0x286, 0x292, 0x2ec,
+    0x303, 0x559, 0x7c1, 0x8a1
 };
 
 /*Collect the unicode lists and glyph_id offsets*/
@@ -1977,8 +1963,8 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
         .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
     },
     {
-        .range_start = 179, .range_length = 63472, .glyph_id_start = 96,
-        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 62, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
+        .range_start = 61441, .range_length = 2210, .glyph_id_start = 96,
+        .unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 60, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
     }
 };
 
@@ -2009,7 +1995,7 @@ static const uint8_t kern_left_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0
 };
 
 /*Map glyph_ids to kern right classes*/
@@ -2034,7 +2020,7 @@ static const uint8_t kern_right_class_mapping[] =
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0
+    0, 0, 0, 0
 };
 
 /*Kern values between classes*/

+ 1 - 1
xfUI/XFJS/generated/images/images_list.mk

@@ -1 +1 @@
-GEN_CSRCS += _back_RGB565A8_480x480.c _huise_RGB565A8_74x26.c _you_RGB565A8_30x30.c _auto_off_RGB565A8_80x80.c _auto_on_RGB565A8_80x80.c _xf_off_RGB565A8_80x80.c _xf_on_RGB565A8_80x80.c _js_off_RGB565A8_80x80.c _js_on_RGB565A8_80x80.c _nxh_off_RGB565A8_80x80.c _nxh_on_RGB565A8_80x80.c _power_RGB565A8_50x50.c _power_open_RGB565A8_50x50.c _speed_RGB565A8_20x20.c _hum_RGB565A8_20x20.c _WiFiruo_RGB565A8_30x30.c
+GEN_CSRCS += _back_RGB565A8_480x480.c _songfeng_RGB565A8_60x60.c _songfengkai_RGB565A8_60x60.c _jiashi_RGB565A8_60x60.c _jiashikai_RGB565A8_60x60.c _chushi_RGB565A8_60x60.c _chushikai_RGB565A8_60x60.c _power_RGB565A8_50x50.c _power_open_RGB565A8_50x50.c _speed_RGB565A8_20x20.c _hum_RGB565A8_20x20.c _WiFiruo_RGB565A8_30x30.c _xinfeng_RGB565A8_60x60.c _xinfengkai_RGB565A8_60x60.c _proof_RGB565A8_22x22.c

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
xfUI/XFJS/generated/images/images_md5.json


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 117 - 945
xfUI/XFJS/generated/setup_scr_FactorySettingPage.c


+ 1 - 1
xfUI/XFJS/generated/setup_scr_SettingPage.c

@@ -359,7 +359,7 @@ void setup_scr_SettingPage(lv_ui *ui)
     lv_textarea_set_text(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_placeholder_text(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_password_bullet(ui->SettingPage_txt_wifi_password, "*");
-    lv_textarea_set_password_mode(ui->SettingPage_txt_wifi_password, true);
+    lv_textarea_set_password_mode(ui->SettingPage_txt_wifi_password, false);
     lv_textarea_set_one_line(ui->SettingPage_txt_wifi_password, true);
     lv_textarea_set_accepted_chars(ui->SettingPage_txt_wifi_password, "");
     lv_textarea_set_max_length(ui->SettingPage_txt_wifi_password, 32);

+ 239 - 417
xfUI/XFJS/generated/setup_scr_screen_main.c

@@ -22,17 +22,14 @@ void set_xf_mode(lv_ui *ui, uint16_t mode) {
         lv_obj_remove_state(child, LV_STATE_CHECKED);
     }
     switch (mode) {
-    case NXH:
-        lv_obj_add_state(ui->screen_main_imgbtn_nxh, LV_STATE_CHECKED);
+    case CS:
+        lv_obj_add_state(ui->screen_main_imgbtn_cs, LV_STATE_CHECKED);
         break;
     case JS:
         lv_obj_add_state(ui->screen_main_imgbtn_js, LV_STATE_CHECKED);
         break;
-    case XF:
-        lv_obj_add_state(ui->screen_main_imgbtn_xf, LV_STATE_CHECKED);
-        break;
-    case AUTO:
-        lv_obj_add_state(ui->screen_main_imgbtn_auto, LV_STATE_CHECKED);
+    case SF:
+        lv_obj_add_state(ui->screen_main_imgbtn_sf, LV_STATE_CHECKED);
         break;
     default:
         break;
@@ -53,45 +50,45 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_bg_image_opa(ui->screen_main, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_bg_image_recolor_opa(ui->screen_main, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_arc_AIQ
-    ui->screen_main_arc_AIQ = lv_arc_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_arc_AIQ, 78, 56);
-    lv_obj_set_size(ui->screen_main_arc_AIQ, 326, 320);
-    lv_arc_set_mode(ui->screen_main_arc_AIQ, LV_ARC_MODE_NORMAL);
-    lv_arc_set_range(ui->screen_main_arc_AIQ, 0, 100);
-    lv_arc_set_bg_angles(ui->screen_main_arc_AIQ, 180, 0);
-    lv_arc_set_value(ui->screen_main_arc_AIQ, 100);
-    lv_arc_set_rotation(ui->screen_main_arc_AIQ, 0);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_bg_opa(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_border_width(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_width(ui->screen_main_arc_AIQ, 12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_opa(ui->screen_main_arc_AIQ, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_color(ui->screen_main_arc_AIQ, lv_color_hex(0xe6e6e6), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_rounded(ui->screen_main_arc_AIQ, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_arc_AIQ, 6, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_arc_AIQ, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_arc_AIQ, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_arc_width(ui->screen_main_arc_AIQ, 12, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_opa(ui->screen_main_arc_AIQ, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_color(ui->screen_main_arc_AIQ, lv_color_hex(0x2FDA64), LV_PART_INDICATOR|LV_STATE_DEFAULT);
-    lv_obj_set_style_arc_rounded(ui->screen_main_arc_AIQ, true, LV_PART_INDICATOR|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_arc_AIQ, Part: LV_PART_KNOB, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_bg_opa(ui->screen_main_arc_AIQ, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_all(ui->screen_main_arc_AIQ, 5, LV_PART_KNOB|LV_STATE_DEFAULT);
+    //Write codes screen_main_arc_hum
+    ui->screen_main_arc_hum = lv_arc_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_arc_hum, 110, 77);
+    lv_obj_set_size(ui->screen_main_arc_hum, 256, 256);
+    lv_arc_set_mode(ui->screen_main_arc_hum, LV_ARC_MODE_NORMAL);
+    lv_arc_set_range(ui->screen_main_arc_hum, 0, 100);
+    lv_arc_set_bg_angles(ui->screen_main_arc_hum, 20, 19);
+    lv_arc_set_value(ui->screen_main_arc_hum, 70);
+    lv_arc_set_rotation(ui->screen_main_arc_hum, 0);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_bg_opa(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_border_width(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_width(ui->screen_main_arc_hum, 12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_opa(ui->screen_main_arc_hum, 90, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_color(ui->screen_main_arc_hum, lv_color_hex(0x005cff), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_rounded(ui->screen_main_arc_hum, true, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_radius(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_top(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_bottom(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_left(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_right(ui->screen_main_arc_hum, 20, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_arc_hum, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_INDICATOR, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_arc_width(ui->screen_main_arc_hum, 17, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_opa(ui->screen_main_arc_hum, 255, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_color(ui->screen_main_arc_hum, lv_color_hex(0x00afff), LV_PART_INDICATOR|LV_STATE_DEFAULT);
+    lv_obj_set_style_arc_rounded(ui->screen_main_arc_hum, true, LV_PART_INDICATOR|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_arc_hum, Part: LV_PART_KNOB, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_bg_opa(ui->screen_main_arc_hum, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_all(ui->screen_main_arc_hum, 5, LV_PART_KNOB|LV_STATE_DEFAULT);
 
     //Write codes screen_main_label_temp
     ui->screen_main_label_temp = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_temp, 75, 290);
-    lv_obj_set_size(ui->screen_main_label_temp, 65, 30);
-    lv_label_set_text(ui->screen_main_label_temp, "0");
+    lv_obj_set_pos(ui->screen_main_label_temp, 222, 339);
+    lv_obj_set_size(ui->screen_main_label_temp, 34, 30);
+    lv_label_set_text(ui->screen_main_label_temp, "30");
     lv_label_set_long_mode(ui->screen_main_label_temp, LV_LABEL_LONG_WRAP);
 
     //Write style for screen_main_label_temp, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
@@ -112,16 +109,16 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_hum_vul2
     ui->screen_main_label_hum_vul2 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_hum_vul2, 175, 290);
-    lv_obj_set_size(ui->screen_main_label_hum_vul2, 69, 25);
-    lv_label_set_text(ui->screen_main_label_hum_vul2, "0");
+    lv_obj_set_pos(ui->screen_main_label_hum_vul2, 183, 217);
+    lv_obj_set_size(ui->screen_main_label_hum_vul2, 81, 47);
+    lv_label_set_text(ui->screen_main_label_hum_vul2, "60");
     lv_label_set_long_mode(ui->screen_main_label_hum_vul2, LV_LABEL_LONG_WRAP);
 
     //Write style for screen_main_label_hum_vul2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
     lv_obj_set_style_border_width(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_hum_vul2, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_hum_vul2, &lv_font_Alibaba_PuHuiTi_Medium_26, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_hum_vul2, &lv_font_Alibaba_PuHuiTi_Medium_48, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_hum_vul2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -133,56 +130,10 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_hum_vul2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_co2
-    ui->screen_main_label_co2 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_co2, 291, 290);
-    lv_obj_set_size(ui->screen_main_label_co2, 69, 26);
-    lv_label_set_text(ui->screen_main_label_co2, "0");
-    lv_label_set_long_mode(ui->screen_main_label_co2, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_co2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_co2, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_co2, &lv_font_Alibaba_PuHuiTi_Medium_26, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_co2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_co2, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_co2, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_6
-    ui->screen_main_label_6 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_6, 360, 299);
-    lv_obj_set_size(ui->screen_main_label_6, 66, 18);
-    lv_label_set_text(ui->screen_main_label_6, "ppm");
-    lv_label_set_long_mode(ui->screen_main_label_6, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_6, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_6, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_6, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_6, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_6, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_6, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_label_7
     ui->screen_main_label_7 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_7, 244, 299);
-    lv_obj_set_size(ui->screen_main_label_7, 66, 18);
+    lv_obj_set_pos(ui->screen_main_label_7, 267, 228);
+    lv_obj_set_size(ui->screen_main_label_7, 66, 31);
     lv_label_set_text(ui->screen_main_label_7, "%");
     lv_label_set_long_mode(ui->screen_main_label_7, LV_LABEL_LONG_WRAP);
 
@@ -190,7 +141,7 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_border_width(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_7, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_7, &lv_font_Alibaba_PuHuiTi_Medium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_7, &lv_font_Alibaba_PuHuiTi_Medium_32, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_7, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_7, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -204,7 +155,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_8
     ui->screen_main_label_8 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_8, 140, 299);
+    lv_obj_set_pos(ui->screen_main_label_8, 264, 347);
     lv_obj_set_size(ui->screen_main_label_8, 66, 18);
     lv_label_set_text(ui->screen_main_label_8, "℃");
     lv_label_set_long_mode(ui->screen_main_label_8, LV_LABEL_LONG_WRAP);
@@ -227,8 +178,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_9
     ui->screen_main_label_9 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_9, 108, 328);
-    lv_obj_set_size(ui->screen_main_label_9, 40, 26);
+    lv_obj_set_pos(ui->screen_main_label_9, 195, 339);
+    lv_obj_set_size(ui->screen_main_label_9, 27, 26);
     lv_label_set_text(ui->screen_main_label_9, "");
     lv_label_set_long_mode(ui->screen_main_label_9, LV_LABEL_LONG_WRAP);
 
@@ -250,8 +201,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_10
     ui->screen_main_label_10 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_10, 225, 328);
-    lv_obj_set_size(ui->screen_main_label_10, 36, 25);
+    lv_obj_set_pos(ui->screen_main_label_10, 222, 149);
+    lv_obj_set_size(ui->screen_main_label_10, 36, 40);
     lv_label_set_text(ui->screen_main_label_10, "");
     lv_label_set_long_mode(ui->screen_main_label_10, LV_LABEL_LONG_WRAP);
 
@@ -259,7 +210,7 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_border_width(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_color(ui->screen_main_label_10, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_10, &lv_font_iconfont_24, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_label_10, &lv_font_iconfont_32, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_opa(ui->screen_main_label_10, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_letter_space(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_text_line_space(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -271,29 +222,6 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_10, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_11
-    ui->screen_main_label_11 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_11, 323, 327);
-    lv_obj_set_size(ui->screen_main_label_11, 53, 27);
-    lv_label_set_text(ui->screen_main_label_11, "CO₂");
-    lv_label_set_long_mode(ui->screen_main_label_11, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_11, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_11, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_11, &lv_font_Alibaba_PuHuiTi_Medium_18, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_11, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_11, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_11, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_label_14
     ui->screen_main_label_14 = lv_label_create(ui->screen_main);
     lv_obj_set_pos(ui->screen_main_label_14, 505, 2);
@@ -319,132 +247,10 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_14, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_14, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_label_lvxin
-    ui->screen_main_label_lvxin = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_lvxin, 535, 53);
-    lv_obj_set_size(ui->screen_main_label_lvxin, 127, 20);
-    lv_obj_add_flag(ui->screen_main_label_lvxin, LV_OBJ_FLAG_HIDDEN);
-    lv_obj_add_flag(ui->screen_main_label_lvxin, LV_OBJ_FLAG_HIDDEN);
-    lv_label_set_text(ui->screen_main_label_lvxin, "100%");
-    lv_label_set_long_mode(ui->screen_main_label_lvxin, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_lvxin, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_lvxin, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_lvxin, &lv_font_Alibaba_PuHuiTi_Medium_18, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_lvxin, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_lvxin, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_lvxin, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_AIQ_vul
-    ui->screen_main_label_AIQ_vul = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_AIQ_vul, 179, 185);
-    lv_obj_set_size(ui->screen_main_label_AIQ_vul, 95, 44);
-    lv_label_set_text(ui->screen_main_label_AIQ_vul, "0");
-    lv_label_set_long_mode(ui->screen_main_label_AIQ_vul, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_AIQ_vul, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_AIQ_vul, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_AIQ_vul, &lv_font_Alibaba_PuHuiTi_Medium_48, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_AIQ_vul, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_AIQ_vul, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_AIQ_vul, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_17
-    ui->screen_main_label_17 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_17, 274, 214);
-    lv_obj_set_size(ui->screen_main_label_17, 66, 18);
-    lv_label_set_text(ui->screen_main_label_17, "ug/m³");
-    lv_label_set_long_mode(ui->screen_main_label_17, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_17, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_17, lv_color_hex(0x8a90a7), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_17, &lv_font_Alibaba_PuHuiTi_Medium_14, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_17, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_17, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_17, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_18
-    ui->screen_main_label_18 = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_18, 203, 141);
-    lv_obj_set_size(ui->screen_main_label_18, 74, 26);
-    lv_label_set_text(ui->screen_main_label_18, "PM2.5");
-    lv_label_set_long_mode(ui->screen_main_label_18, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_18, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_18, lv_color_hex(0xFFFFFF), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_18, &lv_font_Alibaba_PuHuiTi_Medium_22, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_18, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_18, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_src(ui->screen_main_label_18, &_huise_RGB565A8_74x26, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_opa(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_18, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write codes screen_main_label_AIQ_sign
-    ui->screen_main_label_AIQ_sign = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_AIQ_sign, 157, 178);
-    lv_obj_set_size(ui->screen_main_label_AIQ_sign, 30, 30);
-    lv_label_set_text(ui->screen_main_label_AIQ_sign, "");
-    lv_label_set_long_mode(ui->screen_main_label_AIQ_sign, LV_LABEL_LONG_WRAP);
-
-    //Write style for screen_main_label_AIQ_sign, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_border_width(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_radius(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_color(ui->screen_main_label_AIQ_sign, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_label_AIQ_sign, &lv_font_montserratMedium_16, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_label_AIQ_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_letter_space(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_line_space(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_label_AIQ_sign, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_opa(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_top(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_right(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_bottom(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_pad_left(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_src(ui->screen_main_label_AIQ_sign, &_you_RGB565A8_30x30, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_opa(ui->screen_main_label_AIQ_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_bg_image_recolor_opa(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_label_AIQ_sign, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_cont_mode
     ui->screen_main_cont_mode = lv_obj_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_cont_mode, 40, 370);
-    lv_obj_set_size(ui->screen_main_cont_mode, 420, 109);
+    lv_obj_set_pos(ui->screen_main_cont_mode, 14, 372);
+    lv_obj_set_size(ui->screen_main_cont_mode, 349, 103);
     lv_obj_set_scrollbar_mode(ui->screen_main_cont_mode, LV_SCROLLBAR_MODE_OFF);
 
     //Write style for screen_main_cont_mode, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
@@ -460,99 +266,57 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_right(ui->screen_main_cont_mode, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_cont_mode, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_imgbtn_auto
-    ui->screen_main_imgbtn_auto = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_auto, 321, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_auto, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_auto, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_auto, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_RELEASED, &_auto_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_PRESSED, &_auto_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_auto, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_auto_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_auto_label = lv_label_create(ui->screen_main_imgbtn_auto);
-    lv_label_set_text(ui->screen_main_imgbtn_auto_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_auto_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_auto_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_auto, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_auto, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_auto, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_auto, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_auto, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_auto, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_auto, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-
-    //Write codes screen_main_imgbtn_xf
-    ui->screen_main_imgbtn_xf = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_xf, 214, -1);
-    lv_obj_set_size(ui->screen_main_imgbtn_xf, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_xf, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_xf, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_RELEASED, &_xf_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_PRESSED, &_xf_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_xf, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_xf_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_xf_label = lv_label_create(ui->screen_main_imgbtn_xf);
-    lv_label_set_text(ui->screen_main_imgbtn_xf_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_xf_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_xf_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_xf, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_xf, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_xf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_xf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_xf, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_xf, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_xf, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    //Write codes screen_main_imgbtn_sf
+    ui->screen_main_imgbtn_sf = lv_imagebutton_create(ui->screen_main_cont_mode);
+    lv_obj_set_pos(ui->screen_main_imgbtn_sf, 256, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_sf, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_sf, LV_OBJ_FLAG_EVENT_BUBBLE);
+    lv_obj_add_flag(ui->screen_main_imgbtn_sf, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_RELEASED, &_songfeng_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_PRESSED, &_songfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_sf, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_songfengkai_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_sf_label = lv_label_create(ui->screen_main_imgbtn_sf);
+    lv_label_set_text(ui->screen_main_imgbtn_sf_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_sf_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_sf_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_sf, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_sf, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_sf, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_sf, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_sf, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_sf, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_sf, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
     //Write codes screen_main_imgbtn_js
     ui->screen_main_imgbtn_js = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_js, 107, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_js, 80, 80);
+    lv_obj_set_pos(ui->screen_main_imgbtn_js, 144, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_js, 60, 60);
     lv_obj_add_flag(ui->screen_main_imgbtn_js, LV_OBJ_FLAG_EVENT_BUBBLE);
     lv_obj_add_flag(ui->screen_main_imgbtn_js, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_RELEASED, &_js_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_PRESSED, &_js_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_js_on_RGB565A8_80x80, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_RELEASED, &_jiashi_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_PRESSED, &_jiashikai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_js, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_jiashikai_RGB565A8_60x60, NULL, NULL);
     ui->screen_main_imgbtn_js_label = lv_label_create(ui->screen_main_imgbtn_js);
     lv_label_set_text(ui->screen_main_imgbtn_js_label, "");
     lv_label_set_long_mode(ui->screen_main_imgbtn_js_label, LV_LABEL_LONG_WRAP);
@@ -586,47 +350,47 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_js, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
     lv_obj_set_style_image_opa(ui->screen_main_imgbtn_js, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
-    //Write codes screen_main_imgbtn_nxh
-    ui->screen_main_imgbtn_nxh = lv_imagebutton_create(ui->screen_main_cont_mode);
-    lv_obj_set_pos(ui->screen_main_imgbtn_nxh, 0, 0);
-    lv_obj_set_size(ui->screen_main_imgbtn_nxh, 80, 80);
-    lv_obj_add_flag(ui->screen_main_imgbtn_nxh, LV_OBJ_FLAG_EVENT_BUBBLE);
-    lv_obj_add_flag(ui->screen_main_imgbtn_nxh, LV_OBJ_FLAG_CHECKABLE);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_RELEASED, &_nxh_off_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_PRESSED, &_nxh_on_RGB565A8_80x80, NULL, NULL);
-    lv_imagebutton_set_src(ui->screen_main_imgbtn_nxh, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_nxh_on_RGB565A8_80x80, NULL, NULL);
-    ui->screen_main_imgbtn_nxh_label = lv_label_create(ui->screen_main_imgbtn_nxh);
-    lv_label_set_text(ui->screen_main_imgbtn_nxh_label, "");
-    lv_label_set_long_mode(ui->screen_main_imgbtn_nxh_label, LV_LABEL_LONG_WRAP);
-    lv_obj_align(ui->screen_main_imgbtn_nxh_label, LV_ALIGN_CENTER, 0, 0);
-    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_nxh, 0, LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_text_align(ui->screen_main_imgbtn_nxh, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_PRESSED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_PRESSED);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_color(ui->screen_main_imgbtn_nxh, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_font(ui->screen_main_imgbtn_nxh, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_STATE_CHECKED);
-    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_STATE_CHECKED);
-
-    //Write style for screen_main_imgbtn_nxh, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
-    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_nxh, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
-    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_nxh, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    //Write codes screen_main_imgbtn_cs
+    ui->screen_main_imgbtn_cs = lv_imagebutton_create(ui->screen_main_cont_mode);
+    lv_obj_set_pos(ui->screen_main_imgbtn_cs, 32, 10);
+    lv_obj_set_size(ui->screen_main_imgbtn_cs, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_cs, LV_OBJ_FLAG_EVENT_BUBBLE);
+    lv_obj_add_flag(ui->screen_main_imgbtn_cs, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_RELEASED, &_chushi_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_PRESSED, &_chushikai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_cs, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_chushikai_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_cs_label = lv_label_create(ui->screen_main_imgbtn_cs);
+    lv_label_set_text(ui->screen_main_imgbtn_cs_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_cs_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_cs_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_cs, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_cs, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_cs, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_cs, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_cs, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_cs, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_cs, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
 
     //Write codes screen_main_imgbtn_power
     ui->screen_main_imgbtn_power = lv_imagebutton_create(ui->screen_main);
@@ -693,9 +457,9 @@ void setup_scr_screen_main(lv_ui *ui)
     ui->screen_main_slider_speedSet_sign = lv_slider_create(ui->screen_main_cont_speedset);
     lv_obj_set_pos(ui->screen_main_slider_speedSet_sign, 0, 0);
     lv_obj_set_size(ui->screen_main_slider_speedSet_sign, 40, 245);
-    lv_slider_set_range(ui->screen_main_slider_speedSet_sign, 0, 100);
+    lv_slider_set_range(ui->screen_main_slider_speedSet_sign, 0, 90);
     lv_slider_set_mode(ui->screen_main_slider_speedSet_sign, LV_SLIDER_MODE_NORMAL);
-    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, 40, LV_ANIM_OFF);
+    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, 30, LV_ANIM_OFF);
 
     //Write style for screen_main_slider_speedSet_sign, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
     lv_obj_set_style_bg_opa(ui->screen_main_slider_speedSet_sign, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
@@ -718,22 +482,9 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_bg_opa(ui->screen_main_slider_speedSet_sign, 0, LV_PART_KNOB|LV_STATE_DEFAULT);
     lv_obj_set_style_radius(ui->screen_main_slider_speedSet_sign, 50, LV_PART_KNOB|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_line_2
-    ui->screen_main_line_2 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_2, 1, 148);
-    lv_obj_set_size(ui->screen_main_line_2, 37, 48);
-    static lv_point_precise_t screen_main_line_2[] = {{0, 0},{180, 0}};
-    lv_line_set_points(ui->screen_main_line_2, screen_main_line_2, 2);
-
-    //Write style for screen_main_line_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_line_width(ui->screen_main_line_2, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_color(ui->screen_main_line_2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_opa(ui->screen_main_line_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_rounded(ui->screen_main_line_2, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_line_1
     ui->screen_main_line_1 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_1, 1, 199);
+    lv_obj_set_pos(ui->screen_main_line_1, 1, 165);
     lv_obj_set_size(ui->screen_main_line_1, 37, 48);
     static lv_point_precise_t screen_main_line_1[] = {{0, 0},{180, 0}};
     lv_line_set_points(ui->screen_main_line_1, screen_main_line_1, 2);
@@ -744,22 +495,9 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_line_opa(ui->screen_main_line_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_line_rounded(ui->screen_main_line_1, true, LV_PART_MAIN|LV_STATE_DEFAULT);
 
-    //Write codes screen_main_line_3
-    ui->screen_main_line_3 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_3, 1, 48);
-    lv_obj_set_size(ui->screen_main_line_3, 37, 48);
-    static lv_point_precise_t screen_main_line_3[] = {{0, 0},{180, 0}};
-    lv_line_set_points(ui->screen_main_line_3, screen_main_line_3, 2);
-
-    //Write style for screen_main_line_3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
-    lv_obj_set_style_line_width(ui->screen_main_line_3, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_color(ui->screen_main_line_3, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_opa(ui->screen_main_line_3, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
-    lv_obj_set_style_line_rounded(ui->screen_main_line_3, true, LV_PART_MAIN|LV_STATE_DEFAULT);
-
     //Write codes screen_main_line_5
     ui->screen_main_line_5 = lv_line_create(ui->screen_main_cont_speedset);
-    lv_obj_set_pos(ui->screen_main_line_5, 1, 97);
+    lv_obj_set_pos(ui->screen_main_line_5, 1, 84);
     lv_obj_set_size(ui->screen_main_line_5, 37, 48);
     static lv_point_precise_t screen_main_line_5[] = {{0, 0},{180, 0}};
     lv_line_set_points(ui->screen_main_line_5, screen_main_line_5, 2);
@@ -919,7 +657,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_lab_err
     ui->screen_main_lab_err = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_lab_err, 327, 7);
+    lv_obj_set_pos(ui->screen_main_lab_err, 292, 7);
     lv_obj_set_size(ui->screen_main_lab_err, 32, 32);
     lv_obj_add_flag(ui->screen_main_lab_err, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_lab_err, "");
@@ -943,7 +681,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_lab_485_err
     ui->screen_main_lab_485_err = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_lab_485_err, 360, 7);
+    lv_obj_set_pos(ui->screen_main_lab_485_err, 359, 7);
     lv_obj_set_size(ui->screen_main_lab_485_err, 32, 32);
     lv_obj_add_flag(ui->screen_main_lab_485_err, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_lab_485_err, "");
@@ -967,7 +705,7 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_wifi
     ui->screen_main_label_wifi = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_wifi, 427, 2);
+    lv_obj_set_pos(ui->screen_main_label_wifi, 425, 2);
     lv_obj_set_size(ui->screen_main_label_wifi, 30, 30);
     lv_obj_add_flag(ui->screen_main_label_wifi, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_label_wifi, "");
@@ -1043,8 +781,8 @@ void setup_scr_screen_main(lv_ui *ui)
 
     //Write codes screen_main_label_filter_error
     ui->screen_main_label_filter_error = lv_label_create(ui->screen_main);
-    lv_obj_set_pos(ui->screen_main_label_filter_error, 294, 7);
-    lv_obj_set_size(ui->screen_main_label_filter_error, 32, 32);
+    lv_obj_set_pos(ui->screen_main_label_filter_error, 269, 7);
+    lv_obj_set_size(ui->screen_main_label_filter_error, 21, 26);
     lv_obj_add_flag(ui->screen_main_label_filter_error, LV_OBJ_FLAG_HIDDEN);
     lv_label_set_text(ui->screen_main_label_filter_error, "");
     lv_label_set_long_mode(ui->screen_main_label_filter_error, LV_LABEL_LONG_WRAP);
@@ -1065,15 +803,99 @@ void setup_scr_screen_main(lv_ui *ui)
     lv_obj_set_style_pad_left(ui->screen_main_label_filter_error, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
     lv_obj_set_style_shadow_width(ui->screen_main_label_filter_error, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
 
+    //Write codes screen_main_imgbtn_new_fan
+    ui->screen_main_imgbtn_new_fan = lv_imagebutton_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_imgbtn_new_fan, 374, 385);
+    lv_obj_set_size(ui->screen_main_imgbtn_new_fan, 60, 60);
+    lv_obj_add_flag(ui->screen_main_imgbtn_new_fan, LV_OBJ_FLAG_CHECKABLE);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_RELEASED, &_xinfeng_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_PRESSED, &_xinfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_CHECKED_RELEASED, &_xinfengkai_RGB565A8_60x60, NULL, NULL);
+    lv_imagebutton_set_src(ui->screen_main_imgbtn_new_fan, LV_IMAGEBUTTON_STATE_CHECKED_PRESSED, &_xinfeng_RGB565A8_60x60, NULL, NULL);
+    ui->screen_main_imgbtn_new_fan_label = lv_label_create(ui->screen_main_imgbtn_new_fan);
+    lv_label_set_text(ui->screen_main_imgbtn_new_fan_label, "");
+    lv_label_set_long_mode(ui->screen_main_imgbtn_new_fan_label, LV_LABEL_LONG_WRAP);
+    lv_obj_align(ui->screen_main_imgbtn_new_fan_label, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_style_pad_all(ui->screen_main_imgbtn_new_fan, 0, LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_imgbtn_new_fan, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_PRESSED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_PRESSED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_PRESSED);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_STATE_CHECKED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_color(ui->screen_main_imgbtn_new_fan, lv_color_hex(0xFF33FF), LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_font(ui->screen_main_imgbtn_new_fan, &lv_font_montserratMedium_12, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_text_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_STATE_CHECKED);
+    lv_obj_set_style_shadow_width(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_STATE_CHECKED);
+
+    //Write style for screen_main_imgbtn_new_fan, Part: LV_PART_MAIN, State: LV_IMAGEBUTTON_STATE_RELEASED.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_imgbtn_new_fan, 0, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+    lv_obj_set_style_image_opa(ui->screen_main_imgbtn_new_fan, 255, LV_PART_MAIN|LV_IMAGEBUTTON_STATE_RELEASED);
+
+    //Write codes screen_main_img_proof
+    ui->screen_main_img_proof = lv_image_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_img_proof, 237, 7);
+    lv_obj_set_size(ui->screen_main_img_proof, 22, 22);
+    lv_obj_add_flag(ui->screen_main_img_proof, LV_OBJ_FLAG_HIDDEN);
+    lv_obj_add_flag(ui->screen_main_img_proof, LV_OBJ_FLAG_CLICKABLE);
+    lv_image_set_src(ui->screen_main_img_proof, &_proof_RGB565A8_22x22);
+    lv_image_set_pivot(ui->screen_main_img_proof, 50,50);
+    lv_image_set_rotation(ui->screen_main_img_proof, 0);
+
+    //Write style for screen_main_img_proof, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_image_recolor_opa(ui->screen_main_img_proof, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_image_opa(ui->screen_main_img_proof, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+
+    //Write codes screen_main_lab_485_err_js
+    ui->screen_main_lab_485_err_js = lv_label_create(ui->screen_main);
+    lv_obj_set_pos(ui->screen_main_lab_485_err_js, 324, 7);
+    lv_obj_set_size(ui->screen_main_lab_485_err_js, 32, 32);
+    lv_obj_add_flag(ui->screen_main_lab_485_err_js, LV_OBJ_FLAG_HIDDEN);
+    lv_label_set_text(ui->screen_main_lab_485_err_js, "");
+    lv_label_set_long_mode(ui->screen_main_lab_485_err_js, LV_LABEL_LONG_WRAP);
+
+    //Write style for screen_main_lab_485_err_js, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+    lv_obj_set_style_border_width(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_radius(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_color(ui->screen_main_lab_485_err_js, lv_color_hex(0xff7300), LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_font(ui->screen_main_lab_485_err_js, &lv_font_iconfont_22, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_opa(ui->screen_main_lab_485_err_js, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_letter_space(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_line_space(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_text_align(ui->screen_main_lab_485_err_js, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_bg_opa(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_top(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_right(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_bottom(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_pad_left(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+    lv_obj_set_style_shadow_width(ui->screen_main_lab_485_err_js, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
+
     //The custom code of screen_main.
-    lv_obj_clear_flag(ui->screen_main_arc_AIQ, LV_OBJ_FLAG_CLICKABLE);
-    lv_arc_set_range(ui->screen_main_arc_AIQ, 0, 500);
-    lv_arc_set_value(ui->screen_main_arc_AIQ, 500);
     lv_obj_remove_flag(ui->screen_main_slider_humSet_sign, LV_OBJ_FLAG_GESTURE_BUBBLE);
     lv_obj_remove_flag(ui->screen_main_slider_speedSet_sign, LV_OBJ_FLAG_GESTURE_BUBBLE);
+    lv_obj_clear_flag(ui->screen_main_arc_hum, LV_OBJ_FLAG_CLICKABLE);
+    if(xf_status.new_fan==1)
+    {
+        lv_obj_add_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    } else {
+        lv_obj_remove_state(ui->screen_main_imgbtn_new_fan,LV_STATE_CHECKED);
+    }
 
     lv_label_set_text_fmt(ui->screen_main_label_humSet_vul, "%d%%",  xf_status.set_max_hum);
-    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*20, LV_ANIM_ON);
+    lv_slider_set_value(ui->screen_main_slider_speedSet_sign, xf_status.fan_speed*30, LV_ANIM_ON);
     lv_label_set_text_fmt(ui->screen_main_label_spedSet_vul, "%d档",xf_status.fan_speed);
     lv_slider_set_value(ui->screen_main_slider_humSet_sign, xf_status.set_max_hum, LV_ANIM_ON);
     set_xf_mode(ui, xf_status.mode);

+ 0 - 140
xfUI/XFJS/generated/widgets_init.c

@@ -107,144 +107,4 @@ void lv_SettingPage_spinbox_2_decrement_event_cb(lv_event_t * event)
         lv_spinbox_decrement(guider_ui.SettingPage_spinbox_2);
     }
 }
-void lv_FactorySettingPage_spinbox_exhaust1_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust1_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust3_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust3_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust5_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust5_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust4_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust4_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust2_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_exhaust2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_exhaust2_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_exhaust2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply1_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply1_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply1_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply2_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply2_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply2_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply3_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply3_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply3_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply4_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply4_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply4_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply5_vol_increment_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_increment(guider_ui.FactorySettingPage_spinbox_supply5_vol);
-    }
-}
-void lv_FactorySettingPage_spinbox_supply5_vol_decrement_event_cb(lv_event_t * event)
-{
-    lv_event_code_t code = lv_event_get_code(event);
-    if(code == LV_EVENT_SHORT_CLICKED || code == LV_EVENT_LONG_PRESSED_REPEAT) {
-        lv_spinbox_decrement(guider_ui.FactorySettingPage_spinbox_supply5_vol);
-    }
-}
 

+ 0 - 30
xfUI/XFJS/generated/widgets_init.h

@@ -26,36 +26,6 @@ void digital_clock_count(int * hour, int * minute, int * seconds, char * meridie
 extern lv_obj_t * SettingPage_spinbox_2;
 void lv_SettingPage_spinbox_2_increment_event_cb(lv_event_t * event);
 void lv_SettingPage_spinbox_2_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust1_vol;
-void lv_FactorySettingPage_spinbox_exhaust1_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust1_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust3_vol;
-void lv_FactorySettingPage_spinbox_exhaust3_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust3_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust5_vol;
-void lv_FactorySettingPage_spinbox_exhaust5_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust5_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust4_vol;
-void lv_FactorySettingPage_spinbox_exhaust4_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust4_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_exhaust2_vol;
-void lv_FactorySettingPage_spinbox_exhaust2_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_exhaust2_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply1_vol;
-void lv_FactorySettingPage_spinbox_supply1_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply1_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply2_vol;
-void lv_FactorySettingPage_spinbox_supply2_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply2_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply3_vol;
-void lv_FactorySettingPage_spinbox_supply3_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply3_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply4_vol;
-void lv_FactorySettingPage_spinbox_supply4_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply4_vol_decrement_event_cb(lv_event_t * event);
-extern lv_obj_t * FactorySettingPage_spinbox_supply5_vol;
-void lv_FactorySettingPage_spinbox_supply5_vol_increment_event_cb(lv_event_t * event);
-void lv_FactorySettingPage_spinbox_supply5_vol_decrement_event_cb(lv_event_t * event);
 
 
 

+ 1 - 1
xfUI/XFJS/temp/board.h

@@ -571,7 +571,7 @@
 
 #define LV_USE_CHECKBOX 0
 
-#define LV_USE_DROPDOWN 0
+#define LV_USE_DROPDOWN 1
 
 #define LV_USE_IMAGE 1
 

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio