#include "ppg_service.h"
-
-typedef struct
+typedef struct
{
uint8_t cmd;
uint8_t data[2];
} cywee_cmd_t;
/***
* 其他cmd在Header里定义,对外开放
-*/
+ */
#define CYWEE_CHECK_MS 20
static unsigned long g_cywee_queue;
static bool cywee_service_running_stat = false;
-static void cywee_service_check_timer_callback(void* data);
+static void cywee_service_check_timer_callback(void *data);
void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen)
{
cywee_activity_result_t c_activity_result_t;
cywee_inactivity_result_t c_inactivity_result_t;
- if(msg_type == CYWEE_MSG_TYPE_ACTIVITY_UPDATE)
+ if (msg_type == CYWEE_MSG_TYPE_ACTIVITY_UPDATE)
{
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
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],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));
- 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));
- CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
- break;
- case SPORT_ACTIVE_MODE_OUTDOOR_RUNNING:
- 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));
- 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));
- 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));
- 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));
- 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));
- CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
- break;
- default:
- break;
+ 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));
+ 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));
+ CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ break;
+ case SPORT_ACTIVE_MODE_OUTDOOR_RUNNING:
+ 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));
+ 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));
+ 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));
+ 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));
+ 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));
+ CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ break;
+ default:
+ break;
}
- }else if(msg_type == CYWEE_MSG_TYPE_INACTIVITY_UPDATE){
+ }
+ 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)
+ {
+ // 久坐
+ 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));
+ 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,
+ 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));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ break;
+
+ // 睡眠累计
+ case INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT:
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
- switch (c_inactivity_result_t.inactivity_mode)
- {
- //久坐
- 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));
- 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,
- 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));
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
- break;
-
- //睡眠累计
- 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));
- 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));
- 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));
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));
- break;
- }
+ 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));
+ 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));
+ 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));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ break;
}
- else
- PRINT("Unknown sensor message type");
+ }
+ else
+ PRINT("Unknown sensor message type");
}
-
static void cywee_service_timer_start_check(uint32_t rtc_ms)
{
-
- if (g_cywee_service_timer == NULL) return ;
- if (g_bat_timer_is_running ) osTimerStop(g_cywee_service_timer);
- if (cywee_service_running_stat == true) osTimerStart(g_cywee_service_timer, rtc_ms);
+
+ if (g_cywee_service_timer == NULL)
+ return;
+ if (g_bat_timer_is_running)
+ osTimerStop(g_cywee_service_timer);
+ if (cywee_service_running_stat == true)
+ osTimerStart(g_cywee_service_timer, rtc_ms);
g_bat_timer_is_running = true;
-
}
-static void cywee_service_check_timer_callback(void * data)
+static void cywee_service_check_timer_callback(void *data)
{
unused(data);
g_bat_timer_is_running = false;
- if(cywee_service_running_stat == true){
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_TIMER_CHECK,NULL);
+ if (cywee_service_running_stat == true)
+ {
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_TIMER_CHECK, NULL);
// cywee_service_timer_start_check(CYWEE_CHECK_MS);
}
}
{
/* Stop the time and clear the pin map */
- if (g_cywee_service_timer == NULL) return ;
+ if (g_cywee_service_timer == NULL)
+ return;
osTimerStop(g_cywee_service_timer);
osTimerDelete(g_cywee_service_timer);
g_cywee_service_timer = NULL;
g_bat_timer_is_running = false;
-
}
-
-
-void do_cywee_service_check_msg(int cmd,int data[])
+void do_cywee_service_check_msg(int cmd, int data[])
{
int ret;
mail.data[0] = data[0];
mail.data[1] = data[1];
ret = osal_msg_queue_write_copy(g_cywee_queue, (void *)&mail, sizeof(cywee_cmd_t), 0);
- if (ret != OSAL_SUCCESS) {
- PRINT("Error cywee Check MSG 0x%02X send failed! err=0x%x! \r\n",cmd, ret);
+ if (ret != OSAL_SUCCESS)
+ {
+ PRINT("Error cywee Check MSG 0x%02X send failed! err=0x%x! \r\n", cmd, ret);
}
-
}
static void cywee_service_check_task(void const *arg)
cywee_cmd_t mail;
uint32_t msgsize = (uint32_t)sizeof(cywee_cmd_t);
- while (1) {
+ while (1)
+ {
ret = osal_msg_queue_read_copy(g_cywee_queue, (void *)&mail, &msgsize,
OSAL_MSGQ_WAIT_FOREVER);
- if (ret != OSAL_SUCCESS) {
+ if (ret != OSAL_SUCCESS)
+ {
continue;
}
- if (mail.cmd == CYWEE_SERVICE_CMD_TIMER_CHECK) {
+ if (mail.cmd == CYWEE_SERVICE_CMD_TIMER_CHECK)
+ {
cywee_int_handler();
// lis2doc_read_data();
- // printf("CYWEE_SERVICE_CMD_TIMER_CHECK\r\n");
- }else if (mail.cmd == CYWEE_SERVICE_CMD_TEST){
+ // printf("CYWEE_SERVICE_CMD_TIMER_CHECK\r\n");
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_TEST)
+ {
test_api();
- }else if (mail.cmd == CYWEE_SERVICE_CMD_START_CHECK){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_START_CHECK)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_NORMAL);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if (mail.cmd == CYWEE_SERVICE_CMD_STOP_CHECK){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_STOP_CHECK)
+ {
cywee_service_running_stat = false;
- if (g_cywee_service_timer != NULL) osTimerStop(g_cywee_service_timer);
+ if (g_cywee_service_timer != NULL)
+ osTimerStop(g_cywee_service_timer);
}
- else if (mail.cmd == CYWEE_SERVICE_CMD_NORMAL_MODE){
+ else if (mail.cmd == CYWEE_SERVICE_CMD_NORMAL_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_NORMAL);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_TREADMILL_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_TREADMILL_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_TREADMILL);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_OUTDOOR_RUNNING_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_OUTDOOR_RUNNING_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_INDOOR_RUNNING);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_FITNESS_PEDOMETER_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_FITNESS_PEDOMETER_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_FREE_TRAINING_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_FREE_TRAINING_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_FREE_TRAINING);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_AR_ALERT_MODE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_AR_ALERT_MODE)
+ {
cywee_service_running_stat = true;
cywee_main_dml(SPORT_ACTIVE_MODE_AR_ALERT);
cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_PAUSE){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_PAUSE)
+ {
activity_mode_setstatus(1);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_RESUME){
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_RESUME)
+ {
activity_mode_setstatus(0);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_ONCHARGING_CHANGE)
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_ONCHARGING_CHANGE)
{
cywee_oncharging_update(mail.data[0]);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE)
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE)
{
cywee_wearstatus_update(mail.data[0]);
- }else if(mail.cmd == CYWEE_SERVICE_CMD_HRS_WEARSTATUS_CHANGE)
+ }
+ else if (mail.cmd == CYWEE_SERVICE_CMD_HRS_WEARSTATUS_CHANGE)
{
- cywee_hrs_wearstatus_update(mail.data[0],mail.data[1]);
+ cywee_hrs_wearstatus_update(mail.data[0], mail.data[1]);
}
}
}
#define CYWEE_APP_BOARD_MSG_COUNT 50
#define CYWEE_APP_BOARD_TASK_SIZE 0x1100
-#define CYWEE_BOARD_TASK_PRIO 7
+#define CYWEE_BOARD_TASK_PRIO 7
void create_cywee_queue(void)
{
if (osal_msg_queue_create("cywee_service_queue", CYWEE_APP_BOARD_MSG_COUNT, &g_cywee_queue,
- 0, sizeof(cywee_cmd_t)) != ERRCODE_SUCC) {
+ 0, sizeof(cywee_cmd_t)) != ERRCODE_SUCC)
+ {
printf("[cywee][service] app create mail fail\n");
}
}
{
PRINT("uapi_cywee_service_init !\r\n");
- app_task_definition_t taskcfg={0};
+ app_task_definition_t taskcfg = {0};
taskcfg.create_queue_handle = create_cywee_queue;
- taskcfg.attr.name="cywee_service";
+ taskcfg.attr.name = "cywee_service";
taskcfg.attr.priority = osPriorityNormal;
taskcfg.attr.stack_size = CYWEE_APP_BOARD_TASK_SIZE;
taskcfg.func = cywee_service_check_task;
taskcfg.use_mem = USE_DTCM_MEM;
-
- errcode_t ret=uapi_create_osThread_custom(&taskcfg);
- if(ret != ERRCODE_SUCC)
+
+ errcode_t ret = uapi_create_osThread_custom(&taskcfg);
+ if (ret != ERRCODE_SUCC)
{
- PRINT("create cywee_service failed %d!\r\n",ret);
+ PRINT("create cywee_service failed %d!\r\n", ret);
return ERRCODE_FAIL;
}
g_cywee_service_timer = osTimerNew((osTimerFunc_t)cywee_service_check_timer_callback, osTimerPeriodic, NULL, NULL);
-
+
cywee_register_msg_callback(cywee_msg_callback);
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_START_CHECK,NULL);
-
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_START_CHECK, NULL);
+
return ERRCODE_SUCC;
}