uint32_t ch0 = 0;
uint32_t ch1 = 0;
uint32_t ch2 = 0;
- ppg_get_factory_data(&ch0,&ch1,&ch2);
+ ppg_get_factory_data(&ch0,&ch1,&ch2,NULL);
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);
sprintf(buf,"leaklight:\ngreen:%d\nred:%d\nir:%d",ch0,ch1,ch2);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",buf);
#endif
}
-void ppg_get_factory_data(uint32_t *ch0,uint32_t *ch1,uint32_t *ch2)
+void ppg_get_factory_data(uint32_t *ch0,uint32_t *ch1,uint32_t *ch2,uint32_t *ch3)
{
#ifdef PPG_HX3695
- hx3695_get_factory_data(ch0,ch1,ch2);
+ hx3695_get_factory_data(ch0,ch1,ch2,ch3);
#elif defined PPG_VC9202
vc9202_get_leaklight_data(ch0,ch1,ch2);
#elif defined PPG_PAH8009
void ppg_power_on(void);
void ppg_power_off(void);
void ppg_int_handler(void);
-void ppg_get_factory_data(uint32_t *ch0,uint32_t *ch1,uint32_t *ch2);
+void ppg_get_factory_data(uint32_t *ch0,uint32_t *ch1,uint32_t *ch2,uint32_t *ch3);
int32_t ppg_get_led_data(void);
-void ppg_ble_send(uint8_t hr);
void ppg_check_int(void);
void ppg_set_factory_log_switch(uint8_t cmd);
}\r
// printf("wear_status:%d\n",wear_status);\r
\r
- // if(!uapi_dev_runtime_get_train_status())\r
+ if(!uapi_dev_runtime_get_factory_test_status_flag())\r
{\r
if(wear_status == MSG_NO_WEAR)\r
{\r
\r
int32_t phase_result[10][8];\r
\r
-static uint32_t factory_green = 0;\r
-static uint32_t factory_red = 0;\r
-static uint32_t factory_ir = 0;\r
+static uint32_t factory_led0 = 0;\r
+static uint32_t factory_led1 = 0;\r
+static uint32_t factory_led2 = 0;\r
+\r
+static uint32_t factory_led3 = 0;\r
\r
void hx3695_factory_ft_card_test_config(void)//�ҿ�15mm�߶Ȳ�������\r
{\r
// hrsresult.leak_ldr1 = ft_result.ldr1_data_final;\r
// hrsresult.leak_ldr2 = ft_result.ldr2_data_final;\r
\r
- factory_green = ft_result.ldr0_data_final;\r
- factory_red = ft_result.ldr1_data_final;\r
- factory_ir = ft_result.ldr2_data_final;\r
+ factory_led0 = ft_result.ldr0_data_final;\r
+ factory_led1 = ft_result.ldr1_data_final;\r
+ factory_led2 = ft_result.ldr2_data_final;\r
// TYHX_LOG("leak LDR0=%d\r\n",hrsresult.leak_ldr0);\r
\r
TYHX_LOG("leak LDR0=%d\r\n",ft_result.ldr0_data_final);\r
// hrsresult.card_ldr0 = ft_result.ldr0_data_final;\r
// hrsresult.card_ldr1 = ft_result.ldr1_data_final;\r
// hrsresult.card_ldr2 = ft_result.ldr2_data_final;\r
+ // hrsresult.card_ldr3 = ft_result.ldr3_data_final;\r
\r
- factory_green = ft_result.ldr0_data_final;\r
- factory_red = ft_result.ldr1_data_final;\r
- factory_ir = ft_result.ldr2_data_final;\r
+ factory_led0 = ft_result.ldr0_data_final;\r
+ factory_led1 = ft_result.ldr1_data_final;\r
+ factory_led2 = ft_result.ldr2_data_final;\r
+ factory_led3 = ft_result.ldr3_data_final;\r
\r
// hrsresult.card_ldr3 = ft_result.ldr3_data_final;\r
TYHX_LOG("leak LDR0=%d\r\n",ft_result.ldr0_data_final);\r
TYHX_LOG("leak LDR1=%d\r\n",ft_result.ldr1_data_final);\r
TYHX_LOG("leak LDR2=%d\r\n",ft_result.ldr2_data_final);\r
+ TYHX_LOG("leak LDR3=%d\r\n",ft_result.ldr3_data_final);\r
break;\r
case GNOISE_TEST:\r
hx3695_factory_Gnoise_config();\r
return ft_result;\r
}\r
\r
-void hx3695_get_factory_data(uint32_t *green,uint32_t *red,uint32_t *ir)\r
+void hx3695_get_factory_data(uint32_t *led0,uint32_t *led1,uint32_t *led2,uint32_t *led3)\r
{\r
- *green = factory_green;\r
- *red = factory_red;\r
- *ir = factory_ir;\r
-\r
- factory_green = 0;\r
- factory_red = 0;\r
- factory_ir = 0;\r
+ if(led0)\r
+ *led0 = factory_led0;\r
+ if(led1)\r
+ *led1 = factory_led1;\r
+ if(led2) \r
+ *led2 = factory_led2;\r
+ if(led3)\r
+ *led3 = factory_led3;\r
+\r
+\r
+ factory_led0 = 0;\r
+ factory_led1 = 0;\r
+ factory_led2 = 0;\r
+ factory_led3 = 0;\r
}\r
void hx3695_lab_test(uint32_t test_mode);\r
void hx3695_lab_test_read(void);\r
\r
-void hx3695_get_factory_data(uint32_t *green,uint32_t *red,uint32_t *ir);\r
+void hx3695_get_factory_data(uint32_t *led0,uint32_t *led1,uint32_t *led2,uint32_t *led3);\r
\r
\r
#endif // _HX3695_FACTORY_TEST_H_\r
#include "BluetoothWrapper.h"\r
#endif\r
#include "custom_save_runtime.h"\r
-\r
+#include "soc_lcd_api.h"\r
\r
// extern void bts_data_to_uuid_len2(uint16_t uuid_data, bt_uuid_t *out_uuid);\r
// extern void bts_init_128bit_uuid(const bt_uuid_t *uuid);\r
{\r
ret=gap_ble_start_adv(adv_id);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ble adv need restart , gap_ble_start_adv ret %x\n",ret);\r
- }\r
+ }\r
\r
\r
}\r
adv_para.duration = 0;\r
gap_ble_set_adv_param(adv_id, &adv_para);//设置广播参数\r
\r
- uint32_t tick;\r
- osStatus_t retTimer;\r
- if(ble_adv_timer!=NULL)\r
+ if(uapi_is_lcd_connect())\r
{\r
- osTimerStop(ble_adv_timer);\r
- osTimerDelete(ble_adv_timer);\r
- ble_adv_timer = NULL;\r
- }\r
+ uint32_t tick;\r
+ osStatus_t retTimer;\r
+ if(ble_adv_timer!=NULL)\r
+ {\r
+ osTimerStop(ble_adv_timer);\r
+ osTimerDelete(ble_adv_timer);\r
+ ble_adv_timer = NULL;\r
+ }\r
\r
- ble_adv_timer = osTimerNew((osTimerFunc_t)ble_adv_Timer_CallBack, osTimerPeriodic, NULL, NULL);\r
- tick =osMs2Tick(1000);\r
- retTimer = osTimerStart(ble_adv_timer, tick);\r
- if (retTimer != osOK && ble_adv_timer != NULL) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);\r
- osTimerDelete(ble_adv_timer);\r
- ble_adv_timer = NULL;\r
- return;\r
+ ble_adv_timer = osTimerNew((osTimerFunc_t)ble_adv_Timer_CallBack, osTimerPeriodic, NULL, NULL);\r
+ tick =osMs2Tick(1000);\r
+ retTimer = osTimerStart(ble_adv_timer, tick);\r
+ if (retTimer != osOK && ble_adv_timer != NULL) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);\r
+ osTimerDelete(ble_adv_timer);\r
+ ble_adv_timer = NULL;\r
+ return;\r
+ }\r
}\r
\r
}\r
#ifdef SUPPORT_PPG_SERVICE\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_LEAKLIGHT_TEST);\r
LOS_Msleep(2000);\r
- ppg_get_factory_data(&green,&red,&ir);\r
+ ppg_get_factory_data(&green,&red,&ir,NULL);\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
#endif\r
PRINT("green : %d , red : %d , ir : %d\r\n",green,red,ir);\r
} else if(testitem == 0x05)\r
{\r
//灰卡测试\r
- uint8_t databuf[12] = {0};\r
+ uint8_t databuf[16] = {0};\r
\r
- uint32_t green = 0;\r
- uint32_t red = 0;\r
- uint32_t ir = 0;\r
+ uint32_t led0 = 0;\r
+ uint32_t led1 = 0;\r
+ uint32_t led2 = 0;\r
+ uint32_t led3 = 0;\r
\r
#ifdef SUPPORT_PPG_SERVICE\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_GRAYCARD_TEST);\r
LOS_Msleep(2000);\r
- ppg_get_factory_data(&green,&red,&ir);\r
+ // ppg_get_factory_data(&green,&red,&ir);\r
+ ppg_get_factory_data(&led0,&led1,&led2,&led3);\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
#endif\r
- PRINT("%d %d %d \r\n",green,red,ir);\r
- databuf[0] = (uint8_t)((green & 0xFF000000) >> 24);\r
- databuf[1] = (uint8_t)((green & 0x00FF0000) >> 16);\r
- databuf[2] = (uint8_t)((green & 0x0000FF00) >> 8);\r
- databuf[3] = (uint8_t)((green & 0x000000FF) >> 0);\r
-\r
- databuf[4] = (uint8_t)((red & 0xFF000000) >> 24);\r
- databuf[5] = (uint8_t)((red & 0x00FF0000) >> 16);\r
- databuf[6] = (uint8_t)((red & 0x0000FF00) >> 8);\r
- databuf[7] = (uint8_t)((red & 0x000000FF) >> 0);\r
+ databuf[0] = (uint8_t)((led0 & 0xFF000000) >> 24);\r
+ databuf[1] = (uint8_t)((led0 & 0x00FF0000) >> 16);\r
+ databuf[2] = (uint8_t)((led0 & 0x0000FF00) >> 8);\r
+ databuf[3] = (uint8_t)((led0 & 0x000000FF) >> 0);\r
+\r
+ databuf[4] = (uint8_t)((led1 & 0xFF000000) >> 24);\r
+ databuf[5] = (uint8_t)((led1 & 0x00FF0000) >> 16);\r
+ databuf[6] = (uint8_t)((led1 & 0x0000FF00) >> 8);\r
+ databuf[7] = (uint8_t)((led1 & 0x000000FF) >> 0);\r
+\r
+ databuf[8] = (uint8_t)((led2 & 0xFF000000) >> 24);\r
+ databuf[9] = (uint8_t)((led2 & 0x00FF0000) >> 16);\r
+ databuf[10] = (uint8_t)((led2 & 0x0000FF00) >> 8);\r
+ databuf[11] = (uint8_t)((led2 & 0x000000FF) >> 0);\r
+\r
+ databuf[12] = (uint8_t)((led3 & 0xFF000000) >> 24);\r
+ databuf[13] = (uint8_t)((led3 & 0x00FF0000) >> 16);\r
+ databuf[14] = (uint8_t)((led3 & 0x0000FF00) >> 8);\r
+ databuf[15] = (uint8_t)((led3 & 0x000000FF) >> 0);\r
+\r
+ PRINT("databuf:%2X %2X %2X %2X %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
+ databuf[12],databuf[13],databuf[14],databuf[15]\r
+ );\r
\r
- databuf[8] = (uint8_t)((ir & 0xFF000000) >> 24);\r
- databuf[9] = (uint8_t)((ir & 0x00FF0000) >> 16);\r
- databuf[10] = (uint8_t)((ir & 0x0000FF00) >> 8);\r
- databuf[11] = (uint8_t)((ir & 0x000000FF) >> 0);\r
+ PRINT("led0:%d, led1:%d, led2:%d, led3:%d\r\n",led0,led1,led2,led3);\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
+ 16);\r
\r
\r
} else if(testitem == 0x06)\r
#ifdef SUPPORT_PPG_SERVICE\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_LEAKLIGHT_TEST);\r
LOS_Msleep(2000);\r
- ppg_get_factory_data(&green,&red,&ir);\r
+ ppg_get_factory_data(&green,&red,&ir,NULL);\r
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST);\r
#endif\r
databuf[0] = (uint8_t)((green & 0xFF000000) >> 24);\r