static char chipInfo[64] = {0};
+static int get_acc_swtich = 0;
+
+static int sedentary_interval = 1;
+
+static int sedentary_interval_count = 0;
+
int cm__hs1__init(void);
int cm__hs1__deinit(void);
+void cywee_set_sedentary_interval(int time)
+{
+ sedentary_interval = time;
+}
+
+void cywee_get_acc_switch(uint8_t cmd)
+{
+ get_acc_swtich = cmd;
+}
+
void cywee_get_chipinfo(char *databuf,uint8_t len)
{
memcpy_s(databuf,len,chipInfo,strlen(chipInfo));
CWM_Sensor_Disable(IDX_ALGO_WATCH_HANDUP);
}
-
void cywee_reset_daily_data(void)
{
memset(&scl, 0, sizeof(scl));
switch (sensorEVT->sensorType) {
case IDX_ACCEL:
- #if 1
+ if(get_acc_swtich)
+ {
// CWM_OS_dbgPrintf("acc: x=%.3f, y=%.3f, z=%.3f\n",
// sensorEVT->fData[0],
// sensorEVT->fData[1],
//CWM_OS_dbgPrintf("write: x=%d, y=%d, z=%d\n", gxyz_t_queue[right_falg].x ,gxyz_t_queue[right_falg].y ,gxyz_t_queue[right_falg].z);
}
-
- #endif
+ }
break;
case IDX_GYRO:
{
CWM_OS_dbgPrintf("CUSTOM_OFFBODY_DETECT !!! \r\n");
if((int)sensorEVT->fData[2] == 1)
- {
- memset(&csd, 0, sizeof(CUSTOM_OFFBODY_DETECT));
- csd.sensorType = CUSTOM_OFFBODY_DETECT;
- csd.fData[0] = 1;
- CWM_CustomSensorInput(&csd);
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_DO_WEAR_MODE_TEST);
- }
else
- {
- memset(&csd, 0, sizeof(CUSTOM_OFFBODY_DETECT));
- csd.sensorType = CUSTOM_OFFBODY_DETECT;
- csd.fData[0] = 0;
- CWM_CustomSensorInput(&csd);
send_ppg_cmd_msg(PPG_SERVICE_CMD_TYPE_STOP_WEAR_MODE_TEST);
- }
}
if((int)sensorEVT->fData[1] == CUSTOM_ON_CHARGING)
{
CWM_OS_dbgPrintf("CUSTOM_ON_CHARGING !!! \r\n");
- if((int)sensorEVT->fData[2] == 1)
- {
- memset(&csd, 0, sizeof(CUSTOM_ON_CHARGING));
- csd.sensorType = CUSTOM_ON_CHARGING;
- csd.fData[0] = 0;
- CWM_CustomSensorInput(&csd);
- }
- else
- {
- memset(&csd, 0, sizeof(CUSTOM_ON_CHARGING));
- csd.sensorType = CUSTOM_ON_CHARGING;
- csd.fData[0] = 1;
- CWM_CustomSensorInput(&csd);
- }
}
if((int)sensorEVT->fData[1] == CUSTOM_HEARTRATE)
{
c_inactivity_result_t.output_number = (int)sensorEVT->fData[0];
c_inactivity_result_t.sedentary_status = (int)sensorEVT->fData[2];
c_inactivity_result_t.stand_freq = (int)sensorEVT->fData[3];
- cywee_func(CYWEE_MSG_TYPE_INACTIVITY_UPDATE,&c_inactivity_result_t,sizeof(cywee_inactivity_result_t));
+
+ if(c_inactivity_result_t.sedentary_status == 1)
+ {
+ sedentary_interval_count++;
+ if(sedentary_interval_count == sedentary_interval)
+ {
+ sedentary_interval_count = 0;
+ cywee_func(CYWEE_MSG_TYPE_INACTIVITY_UPDATE,&c_inactivity_result_t,sizeof(cywee_inactivity_result_t));
+ }
+ }
+ else if(c_inactivity_result_t.sedentary_status != 3)
+ {
+ sedentary_interval_count = 0;
+ cywee_func(CYWEE_MSG_TYPE_INACTIVITY_UPDATE,&c_inactivity_result_t,sizeof(cywee_inactivity_result_t));
+ }
}else if((int)sensorEVT->fData[0] == 21){
CWM_OS_dbgPrintf("inactivity_mode_number[%d], sleep status[%d], month[%d], day[%d], hour[%d], min[%d]\n",