From 6eb1c5fc0c32c96466bbb2d66d4e66afd5ef6339 Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Tue, 16 Jul 2024 11:13:24 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E8=93=9D=E7=89=99=E4=BA=A7?= =?utf8?q?=E6=B5=8B=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=AD=BB=E6=9C=BA=E9=97=AE?= =?utf8?q?=E9=A2=98=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=A1=A8=E5=86=A0=E6=B5=8B?= =?utf8?q?=E8=AF=95=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../producttest/include/testPresenterC.h | 1 + .../producttest/src/testPresenter.cpp | 5 ++ .../factorytest_protocol.c | 69 +++++++++---------- .../peripheral/utils/custom_cmd_service.c | 61 ++++++++++++++++ .../drivers/peripheral/utils/custom_utils.c | 7 ++ .../drivers/peripheral/utils/custom_utils.h | 5 ++ 6 files changed, 111 insertions(+), 37 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenterC.h b/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenterC.h index a68360d76..05707315e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenterC.h +++ b/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testPresenterC.h @@ -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 diff --git a/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp index 622dd51ae..879f0b411 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/producttest/src/testPresenter.cpp @@ -376,6 +376,11 @@ extern "C" testView::GetInstance()->ChangeView(TESTVIEW,LCD); } + void factorytest_enter_test_button_view(void) + { + testView::GetInstance()->ChangeView(TESTVIEW,BUTTON); + } + #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c b/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c index dd85af128..4f55404fc 100644 --- a/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c +++ b/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c @@ -592,7 +592,7 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint g_ble_vibrator_timer = osTimerNew((osTimerFunc_t)ble_vibrator_check_timer_callback, osTimerPeriodic, NULL, NULL); - osTimerStart(g_ble_vibrator_timer,1000); + osTimerStart(g_ble_vibrator_timer,500); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_VIBRATOR, @@ -702,6 +702,28 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint 0x05, &send_data, 1); + } else if(testitem == 0x06) + { + //进入表冠测试界面 + uint8_t send_data = 0; + uint8_t cmd = 1; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CROWN_TEST,&cmd,sizeof(cmd)); + factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, + BLE_TEST_CMD_SOFT_TEST_SUB_MODE_KEY, + 0x06, + &send_data, + 1); + } else if(testitem == 0x07) + { + //退出表冠测试界面 + uint8_t send_data = 0; + uint8_t cmd = 0; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CROWN_TEST,&cmd,sizeof(cmd)); + factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, + BLE_TEST_CMD_SOFT_TEST_SUB_MODE_KEY, + 0x07, + &send_data, + 1); } break; @@ -942,27 +964,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint //LCD显示颜色 uint8_t send_data = 0x00; - switch (*data) - { - 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; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,data,1); - default: - break; - } factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD, *data, @@ -985,12 +988,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint { //进入lcd测试 uint8_t send_data = 0; - - mcu_pm_lcd_on(0,0); - uapi_factorytest_enter_test_view(1); - uapi_factorytest_enter_test_lcd_view(); - uapi_factorytest_hide_test_lcd_button(); - + uint8_t cmd = 1; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_TEST,&cmd,sizeof(cmd)); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD, 0x06, @@ -1000,9 +999,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint { //退出lcd测试 uint8_t send_data = 0; - - uapi_factorytest_enter_test_view(0); - + uint8_t cmd = 0; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_TEST,&cmd,sizeof(cmd)); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_LCD, 0x07, @@ -1047,10 +1045,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint { //触摸测试 uint8_t send_data = 0; - mcu_pm_lcd_on(0,0); - uapi_factorytest_enter_test_view(1); - uapi_factorytest_enter_test_tp_view(); - uapi_factorytest_hide_test_tp_button(); + uint8_t cmd = 1; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_TP_TEST,&cmd,sizeof(cmd)); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_TP, 0x03, @@ -1062,9 +1058,8 @@ void factorytest_protocol_soft_test_decode(uint8_t submode,uint8_t testitem,uint { //退出触摸测试 uint8_t send_data = 0; - - uapi_factorytest_enter_test_view(0); - + uint8_t cmd = 0; + do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_TP_TEST,&cmd,sizeof(cmd)); factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST, BLE_TEST_CMD_SOFT_TEST_SUB_MODE_TP, 0x04, diff --git a/code/sdk/drivers/peripheral/utils/custom_cmd_service.c b/code/sdk/drivers/peripheral/utils/custom_cmd_service.c index fa390fe95..85c675f11 100644 --- a/code/sdk/drivers/peripheral/utils/custom_cmd_service.c +++ b/code/sdk/drivers/peripheral/utils/custom_cmd_service.c @@ -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; diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.c b/code/sdk/drivers/peripheral/utils/custom_utils.c index f3b1726d5..f16579a4e 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.c +++ b/code/sdk/drivers/peripheral/utils/custom_utils.c @@ -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 diff --git a/code/sdk/drivers/peripheral/utils/custom_utils.h b/code/sdk/drivers/peripheral/utils/custom_utils.h index ad232bd86..47f82bb21 100644 --- a/code/sdk/drivers/peripheral/utils/custom_utils.h +++ b/code/sdk/drivers/peripheral/utils/custom_utils.h @@ -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); -- 2.17.1