{
CWM_OS_dbgPrintf("CUSTOM_GNSS !!! \r\n");
}
+
+ // if((int)sensorEVT->fData[1] == CUSTOM_ACC_ANY_MOTION)
+ // {
+ // CWM_OS_dbgPrintf("CUSTOM_ACC_ANY_MOTION !!! \r\n");
+
+ // if((int)sensorEVT->fData[2] == 1)
+ // CWM_Sensor_Enable(IDX_ALGO_ANY_MOTION);
+ // else
+ // CWM_Sensor_Disable(IDX_ALGO_ANY_MOTION);
+ // }
+
+ // if((int)sensorEVT->fData[1] == CUSTOM_ACC)
+ // {
+ // CWM_OS_dbgPrintf("CUSTOM_ACC !!! \r\n");
+
+ // if((int)sensorEVT->fData[2] == 1)
+ // CWM_Sensor_Enable(IDX_ACCEL);
+ // else
+ // CWM_Sensor_Disable(IDX_ACCEL);
+ // }
break;
case IDX_ALGO_SHAKE:
CWM_OS_dbgPrintf("IDX_ALGO_SHAKE\n");
CWM_SettingControl(SCL_DML_DRV_ENABLE, &scl);
//CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);
+
+ // memset(&scl, 0, sizeof(scl));
+ // scl.iData[0] = 1;
+ // scl.iData[1] = 1;
+ // scl.iData[2] = 60 * 1000;
+ // CWM_SettingControl(SCL_LOW_POWER_MODE, &scl);
+
CWM_Sensor_Enable(IDX_REQUEST_SENSOR);
// //CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);
CWM_Sensor_Enable(IDX_ALGO_WATCH_HANDUP);
static float hr_grader =0.0f;
static ppg_mems_data_t ppg_mems_data_alg;
+static FILE *logFp = NULL;
+static uint8_t *log_swtich = 0;
+
// spo2 algorithm
void *pBuffer = NULL;
void *hr_pBuffer = NULL;
ppg_mems_data_alg->ppg_data.data[0], ppg_mems_data_alg->ppg_data.data[1], ppg_mems_data_alg->ppg_data.data[2],
ppg_mems_data_alg->ppg_data.exposure_time[0], ppg_mems_data_alg->ppg_data.exposure_time[1], ppg_mems_data_alg->ppg_data.exposure_time[2],
(int)(ppg_mems_data_alg->MEMS_Data[0]), (int)(ppg_mems_data_alg->MEMS_Data[1]), (int)(ppg_mems_data_alg->MEMS_Data[2]), ret, mySpO2,myHR,hr_grader,correlation, MEMS_RMS,trust_flag,no_value_reason,SignalPeriodicity, time_accu);
+
+
+ if(logFp)
+ {
+ fprintf(logFp,"%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %f, %f, %f, %f, %d, %f, %d\n",
+ ppg_mems_data_alg->ppg_frame_count, ppg_mems_data_alg->duration, ppg_mems_data_alg->touch_flag,
+ ppg_mems_data_alg->ppg_data.has_data, ppg_mems_data_alg->ppg_data.has_overflow, ppg_mems_data_alg->ppg_data.overflow_num,
+ ppg_mems_data_alg->ppg_data.data[0], ppg_mems_data_alg->ppg_data.data[1], ppg_mems_data_alg->ppg_data.data[2],
+ ppg_mems_data_alg->ppg_data.exposure_time[0], ppg_mems_data_alg->ppg_data.exposure_time[1], ppg_mems_data_alg->ppg_data.exposure_time[2],
+ (int)(ppg_mems_data_alg->MEMS_Data[0]), (int)(ppg_mems_data_alg->MEMS_Data[1]), (int)(ppg_mems_data_alg->MEMS_Data[2]), ret, mySpO2,myHR,hr_grader,correlation, MEMS_RMS,trust_flag,no_value_reason,SignalPeriodicity, time_accu);
+ }
+
}
else
{
ppg_mems_data_alg->ppg_data.exposure_time[0], ppg_mems_data_alg->ppg_data.exposure_time[1], ppg_mems_data_alg->ppg_data.exposure_time[2],
(int)(ppg_mems_data_alg->MEMS_Data[0]), (int)(ppg_mems_data_alg->MEMS_Data[1]), (int)(ppg_mems_data_alg->MEMS_Data[2]), ret);
+ if(logFp)
+ {
+ fprintf(logFp,"%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n",
+ ppg_mems_data_alg->ppg_frame_count, ppg_mems_data_alg->duration, ppg_mems_data_alg->touch_flag,
+ ppg_mems_data_alg->ppg_data.has_data, ppg_mems_data_alg->ppg_data.has_overflow, ppg_mems_data_alg->ppg_data.overflow_num,
+ ppg_mems_data_alg->ppg_data.data[0], ppg_mems_data_alg->ppg_data.data[1], ppg_mems_data_alg->ppg_data.data[2],
+ ppg_mems_data_alg->ppg_data.exposure_time[0], ppg_mems_data_alg->ppg_data.exposure_time[1], ppg_mems_data_alg->ppg_data.exposure_time[2],
+ (int)(ppg_mems_data_alg->MEMS_Data[0]), (int)(ppg_mems_data_alg->MEMS_Data[1]), (int)(ppg_mems_data_alg->MEMS_Data[2]), ret);
+ }
}
}
pah_sensor_stop();
work_mode = 0;
+
+ if(logFp)
+ {
+ fclose(logFp);
+ logFp = NULL;
+ }
// if(uapi_dev_runtime_get_sleep_monitoring_status() && uapi_dev_runtime_get_hrs_passivity_flag())
// {
// pah8009_wearstatus_update(history_wear_status);
ppg_only_sensor_start();
work_mode = 2;
time_out = 20;
+
+ if(log_swtich && logFp == NULL)
+ logFp = fopen("/user/userdata/spo2log.txt", "w");
+
} else if (strcmp(mode, "leaklight") == 0) {
// md = FT_LEAK_LIGHT_MODE;
factory_test_mode(factory_test_leak_light_target_sample, 0, 0, 0, 0);
* @Author: penglei 1624952103@qq.com\r
* @Date: 2024-06-17 14:31:08\r
* @LastEditors: penglei 1624952103@qq.com\r
- * @LastEditTime: 2025-11-10 15:57:04\r
+ * @LastEditTime: 2025-11-13 11:44:44\r
* @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
* @Description: \r
* \r
\r
bool state;\r
state = uapi_get_charger_plug_status();\r
- if (!state) \r
- send_data[1] |= state << 0;\r
- \r
+#ifdef ENABLE_HP4570\r
+ id = hp4570_get_id();\r
+ if (state != 1 || id != 0x2)\r
+ send_data[1] |= 1 << 0;\r
+#else\r
+ if (!state)\r
+ send_data[1] |= 1 << 0;\r
+#endif\r
+\r
uapi_cywee_get_id(&id);\r
if(id != 0x44)\r
send_data[1] |= 1 << 1;\r
g_ble_vibrator_timer = osTimerNew((osTimerFunc_t)ble_vibrator_check_timer_callback, osTimerPeriodic, NULL, NULL);\r
\r
if(g_ble_vibrator_timer)\r
- osTimerStart(g_ble_vibrator_timer,500);\r
+ osTimerStart(g_ble_vibrator_timer,1000);\r
\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_VIBRATOR,\r