static testPresenter *g_pSystemPresenter = nullptr;
static int16_t g_pendingJumpSubView = -1; // TEST_VIEW enum value, -1 means none
+ extern "C" {
+ void factorytest_deepsleep_enter(void);
+ }
+
testPresenter::testPresenter()
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testPresenter::testPresenter");
}
if(strcmp(view.GetViewId(),"deepsleep") == 0)
{
- //TODO: close bt and cat1 , then deepsleep
- #ifdef SUPPORT_CYWEE_SERVICE
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_STOP_ACC,NULL);
- #endif
- stop_custom_ble_service();
- LOS_Msleep(50);
- uapi_set4GCapability(false);
- LOS_Msleep(50);
-
- uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);
- if (cnt == 1) {
- uapi_pm_remove_sleep_veto(PM_ID_P_TEST);
- } else {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
- }
-
-
- // mcu_pm_lcd_off(NULL,NULL);
-
- const power_display_svr_api_t * display_api = power_display_svr_get_api();
- if (display_api)
- {
- display_api->turn_off_screen();
- }
-
+ factorytest_deepsleep_enter();
return true;
}
}
if(strcmp(view.GetViewId(),"deep") == 0)
{
- #ifdef SUPPORT_CYWEE_SERVICE
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_STOP_ACC,NULL);
- #endif
- stop_custom_ble_service();
- LOS_Msleep(50);
- uapi_set4GCapability(false);
- LOS_Msleep(50);
-
- uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);
- if (cnt == 1) {
- uapi_pm_remove_sleep_veto(PM_ID_P_TEST);
- } else {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"CAT1 SERVICE MCU has got pm_id_cat1 vote\r\n");
- }
-
-
- // mcu_pm_lcd_off(NULL,NULL);
-
- const power_display_svr_api_t * display_api = power_display_svr_get_api();
- if (display_api)
- {
- display_api->turn_off_screen();
- }
-
+ factorytest_deepsleep_enter();
return true;
}
#ifdef SUPPORT_A5133_SERVICE
}
}
+ void factorytest_deepsleep_enter(void)
+ {
+#ifdef SUPPORT_CYWEE_SERVICE
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_STOP_ACC, NULL);
+#endif
+ stop_custom_ble_service();
+ LOS_Msleep(50);
+ uapi_set4GCapability(false);
+ LOS_Msleep(50);
+
+ uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);
+ if (cnt == 1) {
+ uapi_pm_remove_sleep_veto(PM_ID_P_TEST);
+ }
+
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ if (display_api != nullptr) {
+ display_api->turn_off_screen();
+ }
+ }
+
#ifdef __cplusplus
#if __cplusplus
}
return ERRCODE_SUCC;
}
+/* 产测「深睡」:与界面 deepsleep/deep 按钮相同(关 ACC/BLE/4G、去 PM_TEST veto、灭屏) */
+static uint32_t custom_factory_deepsleep_enter(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+ UNUSED(para);
+ UNUSED(paraLen);
+ UNUSED(strCommonCmd);
+ /* 先打印再执行:灭屏后串口仍应能打出下行,但先入队日志便于产线确认命令已收到 */
+ wstp_print("+FACTORYDEEPSLEEP: enter, exec\r\n");
+ uapi_factorytest_deepsleep_enter();
+ wstp_print("+FACTORYDEEPSLEEP: enter, ok\r\n");
+ return ERRCODE_SUCC;
+}
+
#ifdef SUPPORT_GNSS
/* AT^GPSVIEW - jump to GPS test subview (need AT^ENTERTESTVIEW first) */
static uint32_t custom_gps_view(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
{ (char *)"AT^GETFWVER", custom_get_fw_version, (char *)"get firmware version (buildversion)" },
{ (char *)"AT^ENTERTESTVIEW", custom_enter_producttest_view, (char *)"enter/exit producttest UI: AT^ENTERTESTVIEW[=1|0]" },
{ (char *)"AT^TESTJUMP", custom_producttest_jump, (char *)"jump producttest subview: AT^TESTJUMP=TP|LCD|BRIGHT|CHARGE|MOTOR|KEY|BUTTON|LEAKLIGHT|GSENSOR|BT|SE|GPS|DEEPSLEEP" },
+ { (char *)"AT^FACTORYDEEPSLEEPENTER", custom_factory_deepsleep_enter,(char *)"producttest deep sleep prep (same as UI): AT^FACTORYDEEPSLEEPENTER" },
#ifdef SUPPORT_GNSS
{ (char *)"AT^GPSVIEW", custom_gps_view, (char *)"enter gps test subview (need AT^ENTERTESTVIEW first)" },
{ (char *)"AT^GPS", custom_gps_switch, (char *)"gps switch (sync UI button): AT^GPS=1/0" },