gengxin
author@CHENG <2393524978@qq.com>
Mon, 13 May 2024 12:04:00 +0000 (20:04 +0800)
committer@CHENG <2393524978@qq.com>
Mon, 13 May 2024 12:04:00 +0000 (20:04 +0800)
2.sdk/sdk/gui/lv_watch/lv_apps/engineer_mode/engineer_mode_hardware_testing.c
2.sdk/sdk/gui/lv_watch/lv_apps/engineer_mode/engineer_mode_main.c
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode.h
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_autotest.c
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_config.h
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_main.c
2.sdk/sdk/gui/lv_watch/lv_apps/factory_mode/factory_mode_test.c
2.sdk/sdk/gui/lv_watch/mmi_sundry/mmi_sundry.c

index 88c4dea..57de01a 100644 (file)
@@ -112,7 +112,8 @@ const lv_engineer_item_t engineer_mode_hardware_testing_list[ENGINEER_MODE_HARDW
     { WATCH_TEXT_ID_MICPHONE, emht_micphone_create, emht_micphone_prepare_destory },
     { WATCH_TEXT_ID_MEMORY, emht_memory_create, hardware_testing_item_prepare_destory },
     { WATCH_TEXT_ID_BACKLIGHT, emht_backlight_create, emht_backlight_prepare_destory },
-    { WATCH_TEXT_ID_GRAVITY, emht_gravity_create, hardware_testing_item_prepare_destory },
+    //{ WATCH_TEXT_ID_GRAVITY, emht_gravity_create, hardware_testing_item_prepare_destory },
+       { WATCH_TEXT_ID_GSENSOR, emht_gravity_create, hardware_testing_item_prepare_destory },
     { WATCH_TEXT_ID_BATTERY, emht_battery_create, hardware_testing_item_prepare_destory },
     { WATCH_TEXT_ID_VIBRATION, emht_vibration_create, emht_vibration_prepare_destory },
     { WATCH_TEXT_ID_EMODE_HW_ALARM,  emht_alarm_create, emht_alarm_prepare_destory },
@@ -190,7 +191,8 @@ lv_obj_t * engineer_mode_hardware_testing_create(lv_obj_t * activity_obj)
     lv_obj_t * title = lv_label_create(obj, NULL);
     lv_obj_set_size(title, LV_HOR_RES, LV_VER_RES / 4);
     lv_label_set_text_id(title, WATCH_TEXT_ID_ENGINEER_MODE_HARDWARETESTING);
-    lv_obj_add_style(title, LV_LABEL_PART_MAIN, &lv_watch_font30);
+    //lv_obj_add_style(title, LV_LABEL_PART_MAIN, &lv_watch_font30);
+    lv_obj_add_style(title, LV_LABEL_PART_MAIN, &lv_watch_font26);
     lv_obj_align(title, NULL, LV_ALIGN_IN_TOP_MID, 0, 5);
 
     lv_obj_t * list = lv_list_create(obj, NULL);
@@ -216,6 +218,9 @@ lv_obj_t * engineer_mode_hardware_testing_create(lv_obj_t * activity_obj)
         lv_label_set_align(label, LV_LABEL_ALIGN_CENTER);
         lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
         lv_obj_set_width(label, LV_HOR_RES - 10);
+       #ifdef __MMI_ZHSX_SUPPORT__
+               lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font30);
+       #endif
     }
 
     lv_obj_set_click(list, true);
@@ -1123,6 +1128,57 @@ static void backlight_change_anim(lv_anim_t * anim)
         level =  HAL_INTENSITY_LEVEL_1;
 }
 
+#ifdef __MMI_ZHSX_SUPPORT__
+static void mmi_emht_gsensor_status_update(lv_anim_t * anim)
+{
+       char str[128] = {0};
+       uint8_t id = mmi_gsensor_sensor_id_get();
+       int16_t chip_x = 0, chip_y = 0, chip_z = 0;
+       
+       xMotion_Chip_Read_XYZ(&chip_x, &chip_y, &chip_z);
+       sprintf(str, "%s %s 0x%x\nX: %d\nY: %d\nZ: %d", 
+                               (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),
+                               "id :",
+                               id,
+                               chip_x,
+                               chip_y,
+                               chip_z);
+       lv_label_set_text(anim->var, str);
+}
+
+void emht_gravity_create(lv_obj_t * par)
+{
+    lv_obj_t * label = lv_label_create(par, NULL);
+    lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font20);
+    //lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -10);
+       lv_obj_set_width(label, LV_HOR_RES - 40);
+       lv_obj_set_pos(label, 20, 70);
+       
+       char label_str[128] = {0};
+       uint8_t id = mmi_gsensor_sensor_id_get();
+       
+       sprintf(label_str, "%s %s 0x%x\nX: \nY: \nZ: \n", 
+                               (char *)lv_lang_get_text(WATCH_TEXT_ID_GSENSOR),
+                               "id :",
+                               id);
+       lv_label_set_text(label, label_str);
+
+       lv_anim_path_t path;
+       lv_anim_path_init(&path);
+       lv_anim_path_set_cb(&path, lv_anim_path_step);
+
+       lv_anim_t a;
+       lv_anim_init(&a);
+       lv_anim_set_var(&a, label);
+       lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_emht_gsensor_status_update);
+       lv_anim_set_time(&a, 1);
+       lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
+       lv_anim_set_delay(&a,1000);
+       lv_anim_set_repeat_delay(&a, 1000);
+       lv_anim_start(&a);
+}
+#else
+
 static void emht_gravity_create(lv_obj_t * par)
 {
     lv_obj_t * label = lv_label_create(par, NULL);
@@ -1134,6 +1190,7 @@ static void emht_gravity_create(lv_obj_t * par)
 
     hardware_testing_resultbtn_create(par, HW_GRAVITY);
 }
+#endif
 
 static void emht_battery_create(lv_obj_t * par)
 {
index 591439f..0aab139 100644 (file)
@@ -112,7 +112,8 @@ lv_obj_t * engineer_mode_main_create(lv_obj_t * activity_obj)
         lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
         lv_obj_set_width(label, LV_HOR_RES - 10);
        #ifdef __MMI_ZHSX_SUPPORT__
-               lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+               //lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+               lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font30);
                lv_watch_obj_add_element(btn);
        #endif
     }
index 08848e4..7f7e941 100644 (file)
@@ -183,6 +183,9 @@ void factorymode_speaker_create_btn_cb(lv_obj_t * btn,lv_event_t e);
 void factorymode_touch_create_btn_cb(lv_obj_t * btn,lv_event_t e);
 void factorymode_lcd_color_display_create_btn_cb(lv_obj_t * btn,lv_event_t e);
 void factorymode_backlight_display_create_btn_cb(lv_obj_t * btn,lv_event_t e);
+#ifndef __MMI_NOT_SUPPORT_VIBRATION__
+void factorymode_vibration_create_btn_cb(lv_obj_t * btn,lv_event_t e);
+#endif
 void factorymode_simcard_create_btn_cb(lv_obj_t * btn,lv_event_t e);
 void factorymode_battery_create_btn_cb(lv_obj_t * btn,lv_event_t e);
 void factorymode_wifi_create_btn_cb(lv_obj_t * btn,lv_event_t e);
@@ -220,7 +223,9 @@ watchLangTxtId_t autotest_get_item_textId(uint8_t num);
 #if USE_CRANE_WATCH_KEYPAD
 void autotest_key_event(struct keypad_param *arg);
 #endif
-
+#if defined(MMI_PROJECT_Z5_DS_Z11_COMMON) || defined(MMI_PROJECT_C55_DS_D11G_DT_HZCH)
+bool autotest_key_back_event(void);
+#endif
 void autotest_presskey_create(lv_obj_t * par);
 void autotest_versioninfo_create(lv_obj_t * par);
 void autotest_lcdarea_create(lv_obj_t * par);
index 13fcfe5..2d06619 100644 (file)
@@ -72,7 +72,8 @@ const struct {
     { AUTOTEST_CALL, WATCH_TEXT_ID_CALL, autotest_call_create },
     { AUTOTEST_MEMORY, WATCH_TEXT_ID_MEMORY, autotest_memory_create },
     { AUTOTEST_BACKLIGHT, WATCH_TEXT_ID_BACKLIGHT, autotest_backlight_create },
-    { AUTOTEST_GRAVITY, WATCH_TEXT_ID_GRAVITY, autotest_gravity_create },
+    //{ AUTOTEST_GRAVITY, WATCH_TEXT_ID_GRAVITY, autotest_gravity_create },
+       { AUTOTEST_GRAVITY, WATCH_TEXT_ID_GSENSOR, autotest_gravity_create },
     { AUTOTEST_BATTERY, WATCH_TEXT_ID_BATTERY, autotest_battery_create },
     { AUTOTEST_VIBRATION, WATCH_TEXT_ID_VIBRATION, autotest_vibration_create },
     { AUTOTEST_WIFI, WATCH_TEXT_ID_TR_WIFI, autotest_wifi_create },
@@ -184,7 +185,8 @@ void autotest_light_leak_test_create(lv_obj_t * par)
        lv_obj_set_size(btn_start, LV_HOR_RES * 2 / 3, 40);
     extern void mmi_factorymode_light_leak_event_cb(lv_obj_t * btn, lv_event_t e);
        lv_obj_set_event_cb(btn_start, mmi_factorymode_light_leak_event_cb);
-       lv_obj_align(btn_start, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -105);
+       //lv_obj_align(btn_start, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -105);
+       lv_obj_align(btn_start, NULL, LV_ALIGN_CENTER, 0, -10);
        
        lv_obj_t * label_start = lv_label_create(btn_start, NULL);
        lv_label_set_text_id(label_start, WATCH_TEXT_ID_START_TEST);
@@ -197,7 +199,8 @@ void autotest_light_leak_test_create(lv_obj_t * par)
        lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &lv_watch_font26);
        lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_LIVE_CALIBRATION_PROMPT);
        lv_obj_set_width(label_prompt, LV_HOR_RES - 40);
-       lv_obj_align(label_prompt, btn_start, LV_ALIGN_OUT_TOP_MID, 0, -30);
+       //lv_obj_align(label_prompt, btn_start, LV_ALIGN_OUT_TOP_MID, 0, -30);
+       lv_obj_align(label_prompt, NULL, LV_ALIGN_IN_TOP_MID, 0, 25);
 
     autotest_resultbtn_create(par, AUTOTEST_light_leak_test);
    
@@ -270,6 +273,28 @@ void autotest_key_event(struct keypad_param * arg)
     last_state = arg->data.state;
 }
 
+#if defined(MMI_PROJECT_Z5_DS_Z11_COMMON) || defined(MMI_PROJECT_C55_DS_D11G_DT_HZCH)
+bool autotest_key_back_event(void)
+{
+       lv_factory_obj_ext_t * ext_fac = factorymode_get_ext();
+    if(NULL == ext_fac)
+       {
+               return false;
+       }
+
+       if((TEST_AUTO == ext_fac->testmode) && (AUTOTEST_PRESS_KEY == ext_fac->module))
+       {
+               printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+               s_key_back_checked = 1;
+               lv_obj_set_style_local_bg_color(ext_fac->cont_key_back, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GREEN);
+               autotest_key_result_update();
+
+               return true;
+       }
+       
+       return false;
+}
+#else
 static void autotest_key_back_update(lv_anim_t * anim)
 {
     if(0==sos_key_fac_mode_flag_get())
@@ -303,6 +328,7 @@ static void autotest_key_back_update(lv_anim_t * anim)
         }
     }
 }
+#endif
 
 void autotest_presskey_create(lv_obj_t * par)
 {
@@ -344,6 +370,10 @@ void autotest_presskey_create(lv_obj_t * par)
                ext_fac->cont_key_back = cont_key_back;
     }
 
+#if defined(MMI_PROJECT_Z5_DS_Z11_COMMON) || defined(MMI_PROJECT_C55_DS_D11G_DT_HZCH)
+       //
+       
+#else
        lv_anim_path_t path;
        lv_anim_path_init(&path);
        lv_anim_path_set_cb(&path, lv_anim_path_step);
@@ -357,6 +387,7 @@ void autotest_presskey_create(lv_obj_t * par)
        lv_anim_set_repeat_delay(&a, 200);
        lv_anim_set_delay(&a, 200);
        lv_anim_start(&a);
+#endif
 }
 
 #else
@@ -1023,7 +1054,8 @@ static void mmi_autotest_gsensor_status_update(lv_anim_t * anim)
 
 void autotest_gravity_create(lv_obj_t * par)
 {
-    autotest_title_create(par, WATCH_TEXT_ID_GRAVITY);
+    //autotest_title_create(par, WATCH_TEXT_ID_GRAVITY);
+    autotest_title_create(par, WATCH_TEXT_ID_GSENSOR);
 
     lv_obj_t * label = lv_label_create(par, NULL);
     //lv_label_set_text_id(label, WATCH_TEXT_ID_WIFI_SCAN_TESTING);
index 775bf5f..bef1166 100644 (file)
@@ -34,7 +34,7 @@ extern "C" {
 #if USE_GPS
 #define FACTORY_MODE_GPS 1
 #else
-#define FACTORY_MODE_GPS 1
+#define FACTORY_MODE_GPS 0
 #endif
 #define FACTORY_MODE_SPEAKER 1
 #define FACTORY_MODE_MICPHONE 1
index 656fb5c..4098972 100644 (file)
@@ -73,6 +73,9 @@ const struct {
     { WATCH_TEXT_ID_TOUCH_SCR,       factorymode_touch_create_btn_cb},
     { WATCH_TEXT_ID_DISPLAY_SCR,     factorymode_lcd_color_display_create_btn_cb},
     { WATCH_TEXT_ID_BACKLIGHT,       factorymode_backlight_display_create_btn_cb},
+#ifndef __MMI_NOT_SUPPORT_VIBRATION__
+    { WATCH_TEXT_ID_VIBRATION,                 factorymode_vibration_create_btn_cb },
+#endif
     { WATCH_TEXT_ID_SIMCARD_TEST,    factorymode_simcard_create_btn_cb},
     { WATCH_TEXT_ID_CHARGER_TEST,    factorymode_battery_create_btn_cb},
     { WATCH_TEXT_ID_TR_WIFI,         factorymode_wifi_create_btn_cb },
@@ -196,7 +199,8 @@ lv_obj_t * factorymode_main_create(lv_obj_t * activity_obj)
         lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
         lv_obj_set_width(label, LV_HOR_RES - 10);
        #ifdef __MMI_ZHSX_SUPPORT__
-               lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+               //lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font26);
+               lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_watch_font30);
        #else
 #if USE_LV_WATCH_UI_360_360 != 0
         lv_obj_add_style(label, LV_LABEL_PART_MAIN, &lv_watch_font40);
index 3a0fca3..63c6dec 100644 (file)
@@ -44,6 +44,9 @@ enum {
     FAC_GPS,
     FAC_BACKLIGHT,
     FAC_WIFI,
+#ifndef __MMI_NOT_SUPPORT_VIBRATION__
+       FAC_VIBRATION,
+#endif
     MAX = 0xFF
 };
 typedef uint8_t testing_status_t;
@@ -196,6 +199,11 @@ static void factorymode_test_prepare_destory(lv_obj_t * activity_obj)
         case FAC_WIFI:
             MMI_Modem_Wifi_Ctrl_Req(0,1,7,8,1);
             break;
+       #ifndef __MMI_NOT_SUPPORT_VIBRATION__
+               case FAC_VIBRATION:
+                       Hal_Vibrator_Play_End();
+                       break;
+       #endif
         default:
             break;
     }
@@ -2010,7 +2018,7 @@ static void mmi_factorymode_light_leak_test_status_update(lv_anim_t * anim)
     lv_label_set_text(anim->var, str);
 
        s_sensor_counter++;
-       if(4 == s_sensor_counter)
+       if(6 == s_sensor_counter)
        {
                mmi_hsensor_close();
        
@@ -2711,4 +2719,104 @@ void factorymode_agetest_create_btn_cb(lv_obj_t * btn,lv_event_t e)
 }
 #endif
 
+#ifndef __MMI_NOT_SUPPORT_VIBRATION__
+static void vibration_close_btn_cb(lv_obj_t * btn,lv_event_t e)
+{
+    if(LV_EVENT_CLICKED != e)
+               return;
+       
+       Hal_Vibrator_Play_End();
+       //lv_obj_del(btn);
+       lv_watch_del_top_interface();
+}
+
+static void vibration_start_btn_cb(lv_obj_t * btn, lv_event_t e)
+{
+    if(e != LV_EVENT_CLICKED)
+               return;
+       
+    lv_obj_t * par = lv_obj_get_parent(btn);
+    if(par != NULL) 
+       {
+        lv_obj_del(btn);
+               
+               lv_obj_t * prompt_label = lv_label_create(par, NULL);
+               lv_label_set_text_id(prompt_label, WATCH_TEXT_ID_VIBRATION_PLAYING);
+               lv_label_set_long_mode(prompt_label, LV_LABEL_LONG_BREAK);
+               lv_obj_set_width(prompt_label, LV_HOR_RES);
+               lv_label_set_align(prompt_label, LV_LABEL_ALIGN_CENTER);
+               lv_obj_add_style(prompt_label, LV_LABEL_PART_MAIN, &lv_watch_font20);
+               lv_obj_align(prompt_label, NULL, LV_ALIGN_IN_TOP_MID, 0, 50);
+               
+
+        lv_obj_t * back_btn = lv_btn_create(par, NULL);
+        lv_obj_set_size(back_btn, LV_HOR_RES * 2 / 3, 40);
+        lv_obj_t * back_label = lv_label_create(back_btn, NULL);
+        lv_label_set_text_id(back_label, WATCH_TEXT_ID_STOP_TEST);
+        lv_obj_add_style(back_label,LV_OBJ_PART_MAIN, &lv_watch_font20);
+               lv_obj_align(back_btn, NULL, LV_ALIGN_CENTER, 0, -10);
+        lv_obj_set_event_cb(back_btn, vibration_close_btn_cb);         
+
+           Hal_Vibrator_Play_Repeat();
+    }
+}
+
+static lv_obj_t * factorymode_vibration_create(lv_obj_t * activity_obj)
+{
+    if(activity_obj == NULL) {
+        lv_watch_activity_ext_t activity_ext;
+        memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
+        activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
+        activity_ext.create = factorymode_vibration_create;
+        activity_ext.prepare_destory = factorymode_test_prepare_destory;
+        activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+        LV_ASSERT_MEM(activity_obj);
+        if(NULL == activity_obj) {
+            return NULL;
+        }
+    }
+
+    lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+    LV_ASSERT_MEM(obj);
+    if(NULL == obj) {
+        return NULL;
+    }
+
+    testing_st = FAC_VIBRATION;
+    lv_obj_t * content = lv_cont_create(obj, NULL);
+    lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
+    lv_obj_add_style(content,LV_OBJ_PART_MAIN, &lv_watch_style_transp);
+    lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
+    lv_obj_set_click(content, false);
+
+    lv_obj_t * title_label = lv_label_create(content, NULL);
+    lv_obj_add_style(title_label,LV_OBJ_PART_MAIN, &lv_watch_font20_gray);
+    lv_label_set_align(title_label, LV_LABEL_ALIGN_CENTER);
+    lv_obj_set_click(title_label, false);
+    lv_label_set_text_id(title_label, WATCH_TEXT_ID_VIBRATION);
+    lv_obj_align(title_label, content, LV_ALIGN_IN_TOP_MID, 0, 10);
+
+
+    lv_obj_t * start_btn = lv_btn_create(content, NULL);
+    lv_obj_set_size(start_btn, LV_HOR_RES * 2 / 3, 40);
+    lv_obj_t * label = lv_label_create(start_btn, NULL);
+    lv_label_set_text_id(label, WATCH_TEXT_ID_START_TEST);
+    lv_obj_add_style(label,LV_OBJ_PART_MAIN, &lv_watch_font20);
+    lv_obj_align(start_btn, NULL, LV_ALIGN_CENTER, 0, -10);
+    lv_obj_add_protect(start_btn, LV_PROTECT_PRESS_LOST);
+    lv_obj_set_event_cb(start_btn, vibration_start_btn_cb);
+    lv_watch_obj_add_element(start_btn);
+
+    return obj;
+}
+
+void factorymode_vibration_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+{
+       if(e == LV_EVENT_CLICKED) {
+               factorymode_vibration_create(NULL);
+       }
+}
+#endif
+
+
 #endif /*USE_LV_WATCH_FACTORY_MODE*/
index 6923290..985362e 100644 (file)
@@ -519,7 +519,14 @@ void mmi_ui_msg_update_falldwon(void)
 
 void mmi_ui_msg_tp_go_back(void)
 {
+#if defined(MMI_PROJECT_Z5_DS_Z11_COMMON) || defined(MMI_PROJECT_C55_DS_D11G_DT_HZCH)
+       if(true == autotest_key_back_event())
+       {
+               return;
+       }
+       
        lv_watch_go_back();
+#endif
 }