* @Author: penglei 1624952103@qq.com\r
* @Date: 2024-06-17 14:31:08\r
* @LastEditors: penglei 1624952103@qq.com\r
- * @LastEditTime: 2024-10-30 18:37:04\r
+ * @LastEditTime: 2024-10-31 21:19:20\r
* @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
* @Description: \r
* \r
\r
typedef struct\r
{\r
- uint32_t flag; //老化测试状态 (完成 - 0xfdfd0000, 停止 - 0xfdfd0001, 开始-0xfdfd0002, 结束-0xfdfd0003)\r
+ uint32_t flag; //老化测试状态 (未开始 - 0, 已开始 - 1, 停止 - 2,完成 - 3)\r
uint32_t target_time; //目标时间\r
uint32_t left_time; //剩余时间\r
uint32_t executions_num;//执行次数 \r
void aging_task(void)\r
{\r
errcode_t ret = 0;\r
- uint32_t enter_age_time = 0;\r
- uint32_t exit_age_time = 0;\r
+ uint32_t enter_aging_time = 0;\r
+ uint32_t current_aging_time = 0;\r
int cmd = 0;\r
- while(aging_t.flag == 0xfdfd0002)\r
+ uapi_get_timestampe_ss(&enter_aging_time);\r
+ while(aging_t.flag == 1)\r
//while(aging_t.flag == 0xfdfd0002)\r
{\r
\r
- uapi_get_timestampe_ss(&enter_age_time);\r
+\r
aging_t.left_time = aging_time;\r
PRINT("老化目标时间 : %d \r\n",aging_t.target_time);\r
PRINT("老化剩余时间 : %d \r\n",aging_t.left_time);\r
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_TEST,&cmd,sizeof(cmd));\r
for(int i = 1; i < 120 ; i++)\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_LCD_COLOR_TEST,&cmd,sizeof(cmd));\r
cmd ++;\r
cmd = cmd % 5; \r
uapi_get_timestampe_ss(&enter_time);\r
do\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
uapi_get_timestampe_ss(¤t_time);\r
// uapi_get_timestampe_ss(&enter_time);\r
custom_VibratorFunc_int(4);\r
uapi_get_timestampe_ss(&enter_time);\r
do\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
uapi_get_timestampe_ss(¤t_time);\r
uapi_check_spk(1);\r
LOS_Msleep(2000);\r
uapi_get_timestampe_ss(&enter_time);\r
do\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
uapi_get_timestampe_ss(¤t_time);\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SINGLE_CHECK_MODE_TEST);\r
LOS_Msleep(200);\r
uapi_get_timestampe_ss(&enter_time);\r
do\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
uapi_get_timestampe_ss(¤t_time);\r
get_gsonsen_xyz(&g);\r
if(g.x == 0 && g.y == 0 && g.z == 0)\r
uapi_get_timestampe_ss(&enter_time);\r
do\r
{\r
+ if(aging_t.flag != 1)\r
+ return;\r
uapi_get_timestampe_ss(¤t_time);\r
mmc5603_getdata(&fAzimuth,&fPitch,&fRoll);\r
if(fAzimuth < 0)\r
\r
PRINT("磁力计失败次数 : %d \r\n",aging_t.mag_error);\r
\r
- uapi_get_timestampe_ss(&exit_age_time);\r
- aging_time -= (exit_age_time - enter_age_time);\r
- if(aging_time <= 0 || aging_time > 2 * 60 * 60)\r
+ uapi_get_timestampe_ss(¤t_aging_time);\r
+ aging_time = aging_t.target_time - (current_aging_time - enter_aging_time);\r
+ PRINT("aging_time : %d \r\n",aging_time);\r
+ if(current_aging_time - enter_aging_time > aging_t.target_time)\r
{\r
- aging_t.flag = 0xfdfd0000;\r
+ aging_t.flag = 3;\r
return;\r
}\r
}\r
}\r
\r
\r
- aging_t.flag = 0xfdfd0002;\r
+ aging_t.flag = 1;\r
\r
return ERRCODE_SUCC;\r
}\r
ChargerEventPublish(TOPIC_EVENT_CHARGE_UNPLUG,0); //进入产测模式 关闭充电弹窗\r
uapi_dev_runtime_set_factory_test_status(1); //设置产测模式runtime\r
svr_ble_adv_factory_test_start_param(); //设置蓝牙广播 避免出现连接问题\r
+ uapi_hfp_connect_();\r
+ LOS_Msleep(500);\r
+ uapi_a2dp_snk_connect_();\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_COMMON,\r
BLE_TEST_CMD_COMMON_SUB_MODE_SWITCH_MODE,\r
0x01,\r
//停止老化\r
uint8_t send_data = 0x00;\r
\r
- aging_t.flag = 0xfdfd0001;\r
+ aging_t.flag = 2;\r
\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST,\r
} else if(testitem == 0x04)\r
{\r
//查询老化结果\r
+ \r
+ uint8_t *databuf = malloc(sizeof(ble_aging_t));\r
+ uint8_t *ptr = (uint8_t *)&aging_t;\r
+ for(int i = 0; i < sizeof(ble_aging_t); i++) \r
+ {\r
+ *databuf++ = ptr[i];\r
+ }\r
+\r
\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST,\r
0x04,\r
- &aging_t,\r
- sizeof(aging_t));\r
-\r
+ databuf,\r
+ sizeof(ble_aging_t));\r
+ free(databuf);\r
} else if(testitem == 0x05)\r
{\r
//清除老化结果\r
{\r
uint8_t send_data = 0x00;\r
uapi_hfp_connect_();\r
+ LOS_Msleep(500);\r
+ uapi_a2dp_snk_connect_();\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
0x03,\r