* 其他cmd在Header里定义,对外开放
*/
-#define CYWEE_CHECK_MS 60000
+#define CYWEE_CHECK_MS 500
osTimerId_t g_cywee_service_timer = NULL;
static bool g_batter_service_initialled = false;
switch (c_activity_result_t.activity_mode)
{
case SPORT_ACTIVE_MODE_NORMAL:
- PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d], hrs[%d], len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories, c_activity_result_t.step_frequency,
- c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.BMR_calories, c_activity_result_t.is_pause, c_activity_result_t.hrs, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories,
+ c_activity_result_t.step_frequency,c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_TREADMILL:
PRINT("CYWEE_MSG_TYPE_TREADMILL_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d],len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories, c_activity_result_t.step_frequency,
- c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.BMR_calories, c_activity_result_t.is_pause, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories,
+ c_activity_result_t.step_frequency,c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_OUTDOOR_RUNNING:
+ PRINT("CYWEE_MSG_TYPE_OUTDOOR_RUNNING_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d], hrs[%d], len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories, c_activity_result_t.step_frequency,
- c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.BMR_calories, c_activity_result_t.is_pause, c_activity_result_t.hrs, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories,
+ c_activity_result_t.step_frequency,c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_INDOOR_RUNNING:
PRINT("CYWEE_MSG_TYPE_INDOOR_RUNNING_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d],len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories, c_activity_result_t.step_frequency,
- c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.BMR_calories, c_activity_result_t.is_pause, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories,
+ c_activity_result_t.step_frequency,c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR:
PRINT("CYWEE_MSG_TYPE_FITNESS_PEDOMETERR_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d],len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories, c_activity_result_t.step_frequency,
- c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.BMR_calories, c_activity_result_t.is_pause, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.steps, c_activity_result_t.distance, c_activity_result_t.calories,
+ c_activity_result_t.step_frequency,c_activity_result_t.step_length, c_activity_result_t.pace, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_FREE_TRAINING:
PRINT("CYWEE_MSG_TYPE_FREE_TRAINING_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], calories[%d], duration[%d], MHR_zone[%d],len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.calories, c_activity_result_t.duration, c_activity_result_t.MHR_zone, sizeof(cywee_activity_result_t));
- CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
- break;
-
- // 长时间动作侦测
- case SPORT_ACTIVE_MODE_AR_ALERT:
- PRINT("CYWEE_MSG_TYPE_AR_ALERT_UPDATE\r\n");
- memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], ar alert type[%d], len[%d]\n",
- c_activity_result_t.activity_mode, c_activity_result_t.ar_alert_type, sizeof(cywee_activity_result_t));
+ PRINT("activit_mode[%d], calories[%d], duration[%d], MHR_zone[%d],hrs[%d]\n",
+ c_activity_result_t.activity_mode, c_activity_result_t.calories, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
case SPORT_ACTIVE_MODE_EXTRA_INFO:
PRINT("CYWEE_MSG_TYPE_EXTRA_INFO_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("average step frequency[%d], average step length[%d], average pace[%d], max step frequency[%d], max pace[%d], len[%d]\n",
- c_activity_result_t.avg_step_freq, c_activity_result_t.avg_step_len, c_activity_result_t.avg_pace, c_activity_result_t.max_step_freq, c_activity_result_t.max_pace, sizeof(cywee_activity_result_t));
+ PRINT("average step frequency[%d], average step length[%d], average pace[%d], max step frequency[%d], max pace[%d]\n",
+ c_activity_result_t.avg_step_freq, c_activity_result_t.avg_step_len, c_activity_result_t.avg_pace, c_activity_result_t.max_step_freq, c_activity_result_t.max_pace);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
default:
else if (msg_type == CYWEE_MSG_TYPE_INACTIVITY_UPDATE)
{
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- switch (c_inactivity_result_t.inactivity_mode)
+ switch (c_inactivity_result_t.output_number)
{
// 久坐
case INACTIVITY_MODE_SEDENTARY_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- PRINT("inactivity_mode_number[%d], sedentary status[%d], stand freq[%d], len[%d]\n",
- c_inactivity_result_t.inactivity_mode, c_inactivity_result_t.sedentary_status,
- c_inactivity_result_t.stand_freq, sizeof(cywee_inactivity_result_t));
+ PRINT("sedentary status[%d], stand freq[%d]\n",
+ c_inactivity_result_t.sedentary_status,c_inactivity_result_t.stand_freq);
CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
// 睡眠
case INACTIVITY_MODE_SLEEPING_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- PRINT("inactivity_mode_number[%d], sleep status[%d], month[%d], day[%d], hour[%d], min[%d], len[%d]\n",
- c_inactivity_result_t.inactivity_mode, c_inactivity_result_t.sleep_status,
+ PRINT("sleep status[%d], month[%d], day[%d], hour[%d], min[%d]\n",
+ c_inactivity_result_t.sleep_status,
c_inactivity_result_t.month, c_inactivity_result_t.day,
c_inactivity_result_t.hour, c_inactivity_result_t.minute,
sizeof(cywee_inactivity_result_t));
// 睡眠累计
case INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- PRINT("inactivity_mode_number[%d], total sleep time[%d], total nap time[%d], total deep sleep time[%d], total wake time[%d], total rem sleep time[%d], len[%d]\n",
- c_inactivity_result_t.inactivity_mode, c_inactivity_result_t.total_sleep_time, c_inactivity_result_t.total_mild_sleep_time,
- c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time, c_inactivity_result_t.total_rem_sleep_time,
- c_inactivity_result_t.stand_freq, sizeof(cywee_inactivity_result_t));
+ PRINT("total sleep time[%d], total nap time[%d], total deep sleep time[%d], total wake time[%d], total rem sleep time[%d]\n",
+ c_inactivity_result_t.total_sleep_time, c_inactivity_result_t.total_mild_sleep_time,
+ c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time,
+ c_inactivity_result_t.total_rem_sleep_time,c_inactivity_result_t.stand_freq);
CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
// 小睡
case INACTIVITY_MODE_NAP_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- PRINT("inactivity_mode_number[%d], nap status[%d], month[%d], day[%d], hour[%d], min[%d], len[%d]\n",
- c_inactivity_result_t.inactivity_mode, c_inactivity_result_t.nap_status, c_inactivity_result_t.month,
- c_inactivity_result_t.day, c_inactivity_result_t.hour, c_inactivity_result_t.minute, sizeof(cywee_inactivity_result_t));
+ PRINT("nap status[%d], month[%d], day[%d], hour[%d], min[%d]\n",
+ c_inactivity_result_t.nap_status, c_inactivity_result_t.month,
+ c_inactivity_result_t.day, c_inactivity_result_t.hour, c_inactivity_result_t.minute);
CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
// 小睡累计
case INACTIVITY_MODE_NAP_ACCUMULATE_TIME_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- PRINT("inactivity_mode_number[%d], total nap time[%d], total mild time[%d], total deep sleep time[%d], total wake time[%d], total rem sleep time[%d], len[%d]\n",
- c_inactivity_result_t.inactivity_mode, c_inactivity_result_t.total_nap_time, c_inactivity_result_t.total_mild_sleep_time,
- c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time, c_inactivity_result_t.total_rem_sleep_time,
- c_inactivity_result_t.stand_freq, sizeof(cywee_inactivity_result_t));
+ PRINT("total nap time[%d], total mild time[%d], total deep sleep time[%d], total wake time[%d], total rem sleep time[%d]\n",
+ c_inactivity_result_t.total_nap_time, c_inactivity_result_t.total_mild_sleep_time,
+ c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time,
+ c_inactivity_result_t.total_rem_sleep_time,c_inactivity_result_t.stand_freq);
CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
}
}
else if (mail.cmd == CYWEE_SERVICE_CMD_START_CHECK)
{
- // cywee_service_running_stat = true;
+ cywee_service_running_stat = true;
cywee_main_dml();
- // cywee_service_timer_start_check(CYWEE_CHECK_MS);
+ cywee_service_timer_start_check(CYWEE_CHECK_MS);
}
else if (mail.cmd == CYWEE_SERVICE_CMD_STOP_CHECK)
{
(int)sensorEVT->fData[9],
(int)sensorEVT->fData[10]);
memset(&c_inactivity_result_t,0,sizeof(cywee_inactivity_result_t));
- c_inactivity_result_t.inactivity_mode = (int)sensorEVT->fData[15];
+ 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));
(int)sensorEVT->fData[5],
(int)sensorEVT->fData[6]);
memset(&c_inactivity_result_t,0,sizeof(cywee_inactivity_result_t));
- c_inactivity_result_t.inactivity_mode = (int)sensorEVT->fData[15];
+ c_inactivity_result_t.output_number = (int)sensorEVT->fData[0];
c_inactivity_result_t.sleep_status = (int)sensorEVT->fData[2];
c_inactivity_result_t.month = (int)sensorEVT->fData[3];
c_inactivity_result_t.day = (int)sensorEVT->fData[4];
(int)sensorEVT->fData[4],
(int)sensorEVT->fData[5]);
memset(&c_inactivity_result_t,0,sizeof(cywee_inactivity_result_t));
- c_inactivity_result_t.inactivity_mode = (int)sensorEVT->fData[15];
+ c_inactivity_result_t.output_number = (int)sensorEVT->fData[0];
c_inactivity_result_t.total_sleep_time = (int)sensorEVT->fData[1];
c_inactivity_result_t.total_mild_sleep_time = (int)sensorEVT->fData[2];
c_inactivity_result_t.total_deep_sleep_time = (int)sensorEVT->fData[3];
(int)sensorEVT->fData[5],
(int)sensorEVT->fData[6]);
memset(&c_inactivity_result_t,0,sizeof(cywee_inactivity_result_t));
- c_inactivity_result_t.inactivity_mode = (int)sensorEVT->fData[15];
+ c_inactivity_result_t.output_number = (int)sensorEVT->fData[0];
c_inactivity_result_t.nap_status = (int)sensorEVT->fData[2];
c_inactivity_result_t.month = (int)sensorEVT->fData[3];
c_inactivity_result_t.day = (int)sensorEVT->fData[4];
(int)sensorEVT->fData[4],
(int)sensorEVT->fData[5]);
memset(&c_inactivity_result_t,0,sizeof(cywee_inactivity_result_t));
- c_inactivity_result_t.inactivity_mode = (int)sensorEVT->fData[15];
+ c_inactivity_result_t.output_number = (int)sensorEVT->fData[0];
c_inactivity_result_t.total_nap_time = (int)sensorEVT->fData[1];
c_inactivity_result_t.total_mild_sleep_time = (int)sensorEVT->fData[2];
c_inactivity_result_t.total_deep_sleep_time = (int)sensorEVT->fData[3];
memset(&c_activity_result_t,0,sizeof(cywee_activity_result_t));
c_activity_result_t.activity_mode = (int)sensorEVT->fData[0];
c_activity_result_t.calories = (int)sensorEVT->fData[1];
- c_activity_result_t.duration = (int)sensorEVT->fData[5];
- c_activity_result_t.MHR_zone = (int)sensorEVT->fData[6];
c_activity_result_t.hrs = hrs;
cywee_func(CYWEE_MSG_TYPE_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
}else if((int)sensorEVT->fData[0] == 102)
{
CWM_OS_dbgPrintf("ar alert type : %d\n",(int)sensorEVT->fData[1]);
-
- memset(&c_activity_result_t,0,sizeof(cywee_activity_result_t));
- c_activity_result_t.activity_mode = (int)sensorEVT->fData[0];
- c_activity_result_t.ar_alert_type = (int)sensorEVT->fData[1];
- cywee_func(CYWEE_MSG_TYPE_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
+ int ar_alert_type = (int)sensorEVT->fData[1];
+ CustomEventPublish(TOPIC_EVENT_AR_ALERT_TYPE_UPDATE,&ar_alert_type,sizeof(int));
}else{
CWM_OS_dbgPrintf("activity_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d], BMR calories[%d], is_pause[%d]\n",
c_activity_result_t.step_frequency = (int)sensorEVT->fData[5];
c_activity_result_t.step_length = (int)sensorEVT->fData[6];
c_activity_result_t.pace = (int)sensorEVT->fData[7];
- c_activity_result_t.BMR_calories = (int)sensorEVT->fData[8];
- c_activity_result_t.is_pause = (int)sensorEVT->fData[14];
c_activity_result_t.hrs = hrs;
cywee_func(CYWEE_MSG_TYPE_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
memset(&scl, 0, sizeof(scl));
scl.iData[0] = 1;
scl.iData[7] = 5; //轴向配置
-#if 0
+#if 1
scl.iData[3] = 2;
scl.iData[4] = 2; //1 anytime 2 fifo
- scl.iData[6] = 5; //先設定5
- scl.iData[8] = 52; // for st sensor(52Hz)
+ scl.iData[6] = 25; //先設定5
+ scl.iData[8] = 26; // for st sensor(52Hz)
#else
scl.iData[3] = 2;
scl.iData[4] = 1; //1 anytime 2 fifo
scl.iData[6] = 25; //fifocount 先設定5 [1~25]
scl.iData[8] = 26; // for st sensor(52Hz)
- //scl.iData[11] = 1; // G_INT_1
- scl.iData[12] = 4; // G_INT_1
+ scl.iData[11] = 4; // G_INT_1
+ //scl.iData[12] = 4; // G_INT_1
#endif
CWM_SettingControl(SCL_DML_DRV_AG_CONFIG, &scl);
//CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);