优化蓝牙产测,修复死机问题,添加表冠测试项 524/1 524/head 525/target/1
authorpenglei <1624952103@qq.com>
Tue, 16 Jul 2024 03:13:24 +0000 (11:13 +0800)
committerpenglei <1624952103@qq.com>
Tue, 16 Jul 2024 03:13:24 +0000 (11:13 +0800)
code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenterC.h
code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp
code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c
code/sdk/drivers/peripheral/utils/custom_cmd_service.c
code/sdk/drivers/peripheral/utils/custom_utils.c
code/sdk/drivers/peripheral/utils/custom_utils.h

index a68360d..0570731 100644 (file)
@@ -19,6 +19,7 @@ extern "C"
 #endif
     void factorytest_enter_test_tp_view(void);
     void factorytest_enter_test_lcd_view(void);
+    void factorytest_enter_test_button_view(void);
     
 #ifdef __cplusplus
 #if __cplusplus
index 622dd51..879f0b4 100644 (file)
@@ -376,6 +376,11 @@ extern "C"
         testView::GetInstance()->ChangeView(TESTVIEW,LCD);\r
     }\r
 \r
+    void factorytest_enter_test_button_view(void)\r
+    {\r
+        testView::GetInstance()->ChangeView(TESTVIEW,BUTTON);\r
+    }\r
+\r
 #ifdef __cplusplus\r
 #if __cplusplus\r
 }\r
index dd85af1..4f55404 100644 (file)
@@ -592,7 +592,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
 \r
                 g_ble_vibrator_timer = osTimerNew((osTimerFunc_t)ble_vibrator_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
 \r
-                osTimerStart(g_ble_vibrator_timer,1000);\r
+                osTimerStart(g_ble_vibrator_timer,500);\r
                 \r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_VIBRATOR,\r
@@ -702,6 +702,28 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                         0x05,\r
                         &send_data,\r
                         1);\r
+            } else if(testitem == 0x06)\r
+            {\r
+                //进入表冠测试界面\r
+                uint8_t send_data = 0;\r
+                uint8_t cmd = 1;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CROWN_TEST,&cmd,sizeof(cmd));\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_KEY,\r
+                        0x06,\r
+                        &send_data,\r
+                        1);\r
+            } else if(testitem == 0x07)\r
+            {\r
+                //退出表冠测试界面\r
+                uint8_t send_data = 0;\r
+                uint8_t cmd = 0;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CROWN_TEST,&cmd,sizeof(cmd));\r
+                factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+                        BLE_TEST_CMD_SOFT_TEST_SUB_MODE_KEY,\r
+                        0x07,\r
+                        &send_data,\r
+                        1);\r
             }\r
 \r
             break;\r
@@ -942,27 +964,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
                 //LCD显示颜色\r
                 uint8_t send_data = 0x00;\r
 \r
-                switch (*data)\r
-                {\r
-                    case 1:\r
-                        uapi_factorytest_set_lcd_color(3);\r
-                        break;\r
-                    case 2:\r
-                        uapi_factorytest_set_lcd_color(0);\r
-                        break;\r
-                    case 3:\r
-                        uapi_factorytest_set_lcd_color(1);\r
-                        break;\r
-                    case 4:\r
-                        uapi_factorytest_set_lcd_color(4);\r
-                        break;\r
-                    case 5:\r
-                        uapi_factorytest_set_lcd_color(5);\r
-                        break;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,data,1);\r
 \r
-                    default:\r
-                        break;\r
-                }\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD,\r
                         *data,\r
@@ -985,12 +988,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //进入lcd测试\r
                 uint8_t send_data = 0;\r
-\r
-                mcu_pm_lcd_on(0,0);\r
-                uapi_factorytest_enter_test_view(1);\r
-                uapi_factorytest_enter_test_lcd_view();\r
-                uapi_factorytest_hide_test_lcd_button();\r
-\r
+                uint8_t cmd = 1;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_TEST,&cmd,sizeof(cmd));\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD,\r
                         0x06,\r
@@ -1000,9 +999,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //退出lcd测试\r
                 uint8_t send_data = 0;\r
-\r
-                uapi_factorytest_enter_test_view(0);\r
-\r
+                uint8_t cmd = 0;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_TEST,&cmd,sizeof(cmd));\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD,\r
                         0x07,\r
@@ -1047,10 +1045,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //触摸测试\r
                 uint8_t send_data = 0;\r
-                mcu_pm_lcd_on(0,0);\r
-                uapi_factorytest_enter_test_view(1);\r
-                uapi_factorytest_enter_test_tp_view();\r
-                uapi_factorytest_hide_test_tp_button();\r
+                uint8_t cmd = 1;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_TP_TEST,&cmd,sizeof(cmd));\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_TP,\r
                         0x03,\r
@@ -1062,9 +1058,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint
             {\r
                 //退出触摸测试\r
                 uint8_t send_data = 0;\r
-\r
-                uapi_factorytest_enter_test_view(0);\r
-\r
+                uint8_t cmd = 0;\r
+                do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_TP_TEST,&cmd,sizeof(cmd));\r
                 factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
                         BLE_TEST_CMD_SOFT_TEST_SUB_MODE_TP,\r
                         0x04,\r
index fa390fe..85c675f 100644 (file)
@@ -129,6 +129,67 @@ static void custom_cmd_service_check_task(void const *arg)
         case CUSTOM_CMD_MSG_TYPE_STARTOTA:
             uaip_cmd_update_request();
             break;
+        case CUSTOM_CMD_MSG_TYPE_LCD_TEST:
+            if(mail.data[0] == 1)
+            {
+                uapi_set_screen_on_api();
+                uapi_factorytest_enter_test_view(1);
+                uapi_factorytest_enter_test_lcd_view();
+                uapi_factorytest_hide_test_lcd_button();
+            }
+            else
+            {
+                uapi_factorytest_enter_test_view(0);
+            }
+            break;
+        case CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST:
+            switch (mail.data[0])
+            {
+                case 1:
+                    uapi_factorytest_set_lcd_color(3);
+                    break;
+                case 2:
+                    uapi_factorytest_set_lcd_color(0);
+                    break;
+                case 3:
+                    uapi_factorytest_set_lcd_color(1);
+                    break;
+                case 4:
+                    uapi_factorytest_set_lcd_color(4);
+                    break;
+                case 5:
+                    uapi_factorytest_set_lcd_color(5);
+                    break;
+
+                default:
+                    break;
+            }
+            break;
+        case CUSTOM_CMD_MSG_TYPE_TP_TEST:
+            if(mail.data[0] == 1)
+            {
+                uapi_set_screen_on_api();
+                uapi_factorytest_enter_test_view(1);
+                uapi_factorytest_enter_test_tp_view();
+                uapi_factorytest_hide_test_tp_button();
+            }
+            else
+            {
+                uapi_factorytest_enter_test_view(0);
+            }
+            break;
+        case CUSTOM_CMD_MSG_TYPE_CROWN_TEST:
+            if(mail.data[0] == 1)
+            {
+                uapi_set_screen_on_api();
+                uapi_factorytest_enter_test_view(1);
+                uapi_factorytest_enter_test_button_view();
+            }
+            else
+            {
+                uapi_factorytest_enter_test_view(0);
+            }
+            break;
         default:
             PRINT("Unknown CUSTOM_CMD_MSG cmd 0x%02X \r\n", mail.cmd);
             break;
index f3b1726..f16579a 100644 (file)
@@ -2255,6 +2255,13 @@ void uapi_factorytest_enter_test_lcd_view(void)
     #endif
 }
 
+void uapi_factorytest_enter_test_button_view(void)
+{
+    #ifdef FD230
+        factorytest_enter_test_button_view();
+    #endif
+}
+
 void uapi_factorytest_hide_test_lcd_button(void)
 {
     #ifdef FD230
index ad232bd..47f82bb 100644 (file)
@@ -193,6 +193,10 @@ uint32_t uapi_calendar_store_date(void);
 #define CUSTOM_CMD_MSG_TYPE_REMOVE_CAT1VOTE 0x04
 #define CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING 0x05
 #define CUSTOM_CMD_MSG_TYPE_STARTOTA 0x06
+#define CUSTOM_CMD_MSG_TYPE_LCD_TEST 0x07
+#define CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST 0x08
+#define CUSTOM_CMD_MSG_TYPE_TP_TEST 0x09
+#define CUSTOM_CMD_MSG_TYPE_CROWN_TEST 0x0A
 
 errcode_t uapi_custom_cmd_service_init(void);
 void do_custom_cmd_service_check_msg(int cmd, void *params, int paramlen);
@@ -223,6 +227,7 @@ void uapi_factorytest_set_lcd_color(int color);
 void uapi_factorytest_enter_test_view(int cmd);
 void uapi_factorytest_enter_test_tp_view(void);
 void uapi_factorytest_enter_test_lcd_view(void);
+void uapi_factorytest_enter_test_button_view(void);
 void uapi_factorytest_hide_test_lcd_button(void);
 void uapi_factorytest_hide_test_tp_button(void);
 void uapi_efuse_test_write(uint8_t *data,uint32_t byte_number,uint8_t len);