\r
void ble_vibrator_check_timer_callback(void)\r
{\r
- vibrator_cyclicity(duty,cycle_time_ms,500);\r
+ vibrator_cyclicity(duty,cycle_time_ms,200);\r
}\r
\r
void ble_acc_check_timer_callback(void)\r
ble_hrs_flag = 0;\r
osTimerStop(g_ble_hrs_timer);\r
osTimerDelete(g_ble_hrs_timer);\r
- ppg_send_cmd_to_driver("hrs",0);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
return;\r
}\r
\r
ble_spo2_flag = 0;\r
osTimerStop(g_ble_spo2_timer);\r
osTimerDelete(g_ble_spo2_timer);\r
- ppg_send_cmd_to_driver("spo2",0);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_SPO2_TEST);\r
return;\r
}\r
\r
osTimerDelete(g_ble_graycard_timer);\r
return;\r
}\r
- ppg_send_cmd_to_driver("graycard",1);\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
- ppg_send_cmd_to_driver("graycard",0);\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
osTimerDelete(g_ble_leaklight_timer);\r
return;\r
}\r
- ppg_send_cmd_to_driver("leaklight",1);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_LEAKLIGHT_TEST);\r
FT_RESULTS_t ft_result = hx3695_factroy_test(LEAK_LIGHT_TEST);\r
- ppg_send_cmd_to_driver("leaklight",0);\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
while(aging_t.flag == 0xfdfd0002 && aging_time)\r
//while(aging_t.flag == 0xfdfd0002)\r
{\r
- msleep(60000);\r
- \r
uint32_t msc;\r
get_rtc(&msc);\r
aging_t.enter_age_time = msc;\r
mcu_pm_lcd_off(0,0);\r
PRINT("aging_t.display_error : %d \r\n",aging_t.display_error);\r
\r
-\r
- ppg_send_cmd_to_driver("leaklight",1);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_GRAYCARD_TEST);\r
FT_RESULTS_t ft_result = hx3695_factroy_test(LEAK_LIGHT_TEST);\r
- ppg_send_cmd_to_driver("leaklight",0); \r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
+ \r
if(ft_result.gr_data_final < 10000 || ft_result.red_data_final < 10000 || ft_result.ir_data_final < 10000)\r
{\r
aging_t.ppg_error++;\r
aging_t.flag = 0xfdfd0000;\r
return;\r
}\r
+ msleep(60000);\r
}\r
}\r
\r
\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,200);\r
\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_VIBRATOR,\r
\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,200);\r
\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_VIBRATOR,\r
case BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST:\r
if(testitem == 0x01)\r
{\r
+ PRINT("111\r\n");\r
//进入老化命令\r
uint8_t send_data = 0x00;\r
aging_time = (*data) * 60 * 60;\r
1);\r
} else if(testitem == 0x02)\r
{\r
+ PRINT("222\r\n");\r
//停止老化\r
uint8_t send_data = 0x00;\r
\r
aging_t.flag = 0xfdfd0001;\r
\r
-\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_AGING_TEST,\r
0x02,\r
//打开心率检测\r
g_ble_hrs_timer = osTimerNew((osTimerFunc_t)ble_hrs_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
osTimerStart(g_ble_hrs_timer,400);\r
- ppg_send_cmd_to_driver("hrs",1);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_PPG_TEST);\r
\r
} else if(testitem == 0x04)\r
{\r
//打开血氧检测\r
g_ble_spo2_timer = osTimerNew((osTimerFunc_t)ble_spo2_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
osTimerStart(g_ble_spo2_timer,400);\r
- ppg_send_cmd_to_driver("spo2",1);\r
+ send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_SPO2_TEST);\r
\r
} else if(testitem == 0x05)\r
{\r
\r
printf("crc16 0x%04X vs 0x%04X\n",crc16,crc16_2);\r
\r
- if( crc16 == crc16_2) //校验通过,开始正式解析\r
+ //if( crc16 == crc16_2) //校验通过,开始正式解析\r
{\r
printf("mode %d\n",header.mode);\r
switch(header.mode)\r
static bool ppg_service_running_stat = false;
-
+static uint8_t wear_mode_state = 0;
void CustomEventPublish(uint16_t topic, uint8_t *data , uint32_t size)
{
if (ret != OSAL_SUCCESS) {
continue;
}
-
+
+ if((wear_mode_state == 1) && (mail > 0x10) && mail != PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST)
+ {
+ wear_mode_state = 0;
+ ppg_send_cmd_to_driver("wear",0);
+ ppg_service_running_stat = false;
+ }
char* cmd = "hrs";
int enable = 1;
if (mail == PPG_SERVICE_CMD_TYPE_DO_PPG_320TIMER_CALLBACK){
cmd = "leaklight";
enable = 1;
}else if (mail == PPG_SERVICE_CMD_TYPE_DO_GRAYCARD_TEST){
+ cmd = "graycard";
+ enable = 1;
+ }else if (mail == PPG_SERVICE_CMD_TYPE_DO_WEAR_MODE_TEST){
cmd = "wear";
enable = 1;
+ wear_mode_state = 1;
+ }
+ else if (mail == PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST){
+ cmd = "wear";
+ enable = 0;
+ wear_mode_state = 0;
}else if (mail == PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST){
cmd = "hrs";
}
#ifdef PPG_HX3695
ppg_send_cmd_to_driver(cmd,enable);
+ if((strcmp(cmd, "wear") != 0) && (enable == 0))
+ {
+ ppg_send_cmd_to_driver("wear",1);
+ wear_mode_state = 1;
+ ppg_service_running_stat = true;
+ }
#endif
if(enable == 1)
ppg_service_running_stat = true;