static osTimerId_t g_ble_hrs_timer;\r
static osTimerId_t g_ble_spo2_timer;\r
\r
+static osTimerId_t g_ble_microhone_timer;\r
+static osTimerId_t g_ble_spk_timer;\r
+\r
static uint32_t aging_time = 0;\r
\r
static int CRC16_XMODEM(uint8_t *bytes,uint16_t length) {\r
\r
}\r
\r
+void ble_microhone_check_timer_callback(void)\r
+{\r
+ uint8_t send_data= 0;\r
+\r
+ uapi_microhone_switch(0);\r
+\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
+ 0x01,\r
+ &send_data,\r
+ 1);\r
+\r
+}\r
+\r
+void ble_spk_check_timer_callback(void)\r
+{\r
+ uint8_t send_data= 0;\r
+\r
+ uapi_check_spk(0);\r
+\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
+ 0x02,\r
+ &send_data,\r
+ 1);\r
+}\r
+\r
void aging_task(void)\r
{\r
while(aging_t.flag == 0xfdfd0002 && aging_time)\r
} else if(testitem == 0x05)\r
{\r
//灰卡测试\r
- send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_GRAYCARD_TEST);\r
- FT_RESULTS_t ft_result = hx3695_factroy_test(GRAY_CARD_TEST);\r
- send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
- uint8_t databuf[12] = {0};\r
-\r
- databuf[0] = (uint8_t)((ft_result.gr_data_final & 0xFF000000) >> 24);\r
- databuf[1] = (uint8_t)((ft_result.gr_data_final & 0x00FF0000) >> 16);\r
- databuf[2] = (uint8_t)((ft_result.gr_data_final & 0x0000FF00) >> 8);\r
- databuf[3] = (uint8_t)((ft_result.gr_data_final & 0x000000FF) >> 0);\r
-\r
- databuf[4] = (uint8_t)((ft_result.red_data_final & 0xFF000000) >> 24);\r
- databuf[5] = (uint8_t)((ft_result.red_data_final & 0x00FF0000) >> 16);\r
- databuf[6] = (uint8_t)((ft_result.red_data_final & 0x0000FF00) >> 8);\r
- databuf[7] = (uint8_t)((ft_result.red_data_final & 0x000000FF) >> 0);\r
-\r
- databuf[8] = (uint8_t)((ft_result.ir_data_final & 0xFF000000) >> 24);\r
- databuf[9] = (uint8_t)((ft_result.ir_data_final & 0x00FF0000) >> 16);\r
- databuf[10] = (uint8_t)((ft_result.ir_data_final & 0x0000FF00) >> 8);\r
- databuf[11] = (uint8_t)((ft_result.ir_data_final & 0x000000FF) >> 0);\r
-\r
- PRINT("%2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X\r\n",\r
- databuf[0],databuf[1],databuf[2],databuf[3],\r
- databuf[4],databuf[5],databuf[6],databuf[7],\r
- databuf[8],databuf[9],databuf[10],databuf[11]\r
- );\r
-\r
-\r
- factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- BLE_TEST_CMD_SOFT_TEST_SUB_MODE_HRS,\r
- 0x05,\r
- databuf,\r
- 12);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_GRAYCARD_TEST);\r
+ FT_RESULTS_t ft_result = hx3695_factroy_test(GRAY_CARD_TEST);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
+ uint8_t databuf[12] = {0};\r
+\r
+ databuf[0] = (uint8_t)((ft_result.gr_data_final & 0xFF000000) >> 24);\r
+ databuf[1] = (uint8_t)((ft_result.gr_data_final & 0x00FF0000) >> 16);\r
+ databuf[2] = (uint8_t)((ft_result.gr_data_final & 0x0000FF00) >> 8);\r
+ databuf[3] = (uint8_t)((ft_result.gr_data_final & 0x000000FF) >> 0);\r
+\r
+ databuf[4] = (uint8_t)((ft_result.red_data_final & 0xFF000000) >> 24);\r
+ databuf[5] = (uint8_t)((ft_result.red_data_final & 0x00FF0000) >> 16);\r
+ databuf[6] = (uint8_t)((ft_result.red_data_final & 0x0000FF00) >> 8);\r
+ databuf[7] = (uint8_t)((ft_result.red_data_final & 0x000000FF) >> 0);\r
+\r
+ databuf[8] = (uint8_t)((ft_result.ir_data_final & 0xFF000000) >> 24);\r
+ databuf[9] = (uint8_t)((ft_result.ir_data_final & 0x00FF0000) >> 16);\r
+ databuf[10] = (uint8_t)((ft_result.ir_data_final & 0x0000FF00) >> 8);\r
+ databuf[11] = (uint8_t)((ft_result.ir_data_final & 0x000000FF) >> 0);\r
+\r
+ PRINT("%2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X\r\n",\r
+ databuf[0],databuf[1],databuf[2],databuf[3],\r
+ databuf[4],databuf[5],databuf[6],databuf[7],\r
+ databuf[8],databuf[9],databuf[10],databuf[11]\r
+ );\r
+\r
+\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_HRS,\r
+ 0x05,\r
+ databuf,\r
+ 12);\r
\r
} else if(testitem == 0x06)\r
{\r
case BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER:\r
if(testitem == 0x01)\r
{\r
- uint8_t send_data= 0;\r
-\r
+ //开始录音\r
+ g_ble_microhone_timer = osTimerNew((osTimerFunc_t)ble_microhone_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
+ osTimerStart(g_ble_microhone_timer,5000);\r
uapi_microhone_switch(1);\r
- \r
- factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- 0x01,\r
- &send_data,\r
- 1);\r
- } else if(testitem == 0x02)\r
- {\r
\r
- uint8_t send_data = 0;\r
-\r
- uapi_microhone_switch(0);\r
- \r
- factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- 0x02,\r
- &send_data,\r
- 1);\r
- } else if(testitem == 0x03)\r
+ } else if(testitem == 0x02)\r
{\r
-\r
- uint8_t send_data = 0;\r
-\r
+ //播放录音\r
+ g_ble_microhone_timer = osTimerNew((osTimerFunc_t)ble_spk_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
+ osTimerStart(g_ble_spk_timer,5000);\r
uapi_check_spk(1);\r
- \r
- factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- 0x03,\r
- &send_data,\r
- 1);\r
- } else if(testitem == 0x04)\r
- {\r
-\r
- uint8_t send_data = 0;\r
-\r
- uapi_check_spk(0);\r
- \r
- factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- 0x04,\r
- &send_data,\r
- 1);\r
}\r
break;\r
\r
return ret;
}
-void uapi_delete_files(void)
+void uapi_delete_files(const char *file_path)
{
- char *filebuf[2] = {"/system/ConfigModel.json",
- "/user/userdata",
- };
-
-
struct stat s_buf;
-
int ret = 0;
- for(int i = 0; i < 2 ; i++)
+
+ if(access(file_path, F_OK) == -1)
{
- if(access(filebuf[i], F_OK) == -1)
- {
- PRINT("%s does not exist!!!\r\n", filebuf[i]);
- continue;
- }
- stat(filebuf[i],&s_buf);
- if(S_ISDIR(s_buf.st_mode))
- ret = removeFilesInFolder(filebuf[i]);
- else
- ret = remove(filebuf[i]);
- if(ret != 0)
- PRINT("%s remove failed !!! \r\n",filebuf[i]);
- else
- PRINT("%s remove succeed !!! \r\n",filebuf[i]);
+ PRINT("%s does not exist!!!\r\n", file_path);
+ return;
}
+ stat(file_path,&s_buf);
+ if(S_ISDIR(s_buf.st_mode))
+ ret = removeFilesInFolder(file_path);
+ else
+ ret = remove(file_path);
+ if(ret != 0)
+ PRINT("%s remove failed !!! \r\n",file_path);
+ else
+ PRINT("%s remove succeed !!! \r\n",file_path);
}
int uapi_tar_file(const char *src_path,const char *tar_path,char *tarfilename)
if(access(src_path, F_OK) == -1)
{
- if(ret == -1)
- {
- PRINT("%s does not exist!!!\r\n", src_path);
- return -1;
- }
+ PRINT("%s does not exist!!!\r\n", src_path);
+ return -1;
}
dir = opendir(src_path);
return uapi_tar_file("/user/exc","/user/tar",str);
}
+void uapi_restore_factory_setting(void)
+{
+ char *filebuf[2] = {"/system/ConfigModel.json",
+ "/user/userdata",
+ };
+ for(int i = 0; i < 2; i++)
+ uapi_delete_files(filebuf[i]);
+ uapi_reboot_device();
+}
+
+
#include "driver/calendar.h"
uint32_t uapi_calendar_store_date(void)