解决运动数据步幅为0的问题 726/1 726/head
authorpenglei <1624952103@qq.com>
Mon, 19 Aug 2024 07:01:26 +0000 (15:01 +0800)
committerpenglei <1624952103@qq.com>
Mon, 19 Aug 2024 07:01:26 +0000 (15:01 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp
code/sdk/drivers/peripheral/cywee/Inc/cywee_hal.h
code/sdk/drivers/peripheral/cywee/service/cywee_service.c
code/sdk/drivers/peripheral/cywee/src/main_dml.c

index b295f21..d13f55e 100644 (file)
@@ -557,7 +557,7 @@ namespace OHOS
         sportdata->apc = cyweeInfo->avg_pace;
         sportdata->fpc = cyweeInfo->max_pace;
         sportdata->cdc = cyweeInfo->avg_step_freq;
-        sportdata->std = cyweeInfo->avg_step_len;
+        sportdata->std = cyweeInfo->avg_step_len * 100; // 前者cm 后者m
     }
 
     /*打印函数*/
index 51a0864..b71e670 100644 (file)
@@ -459,7 +459,7 @@ typedef struct
     int distance;//距离
     int calories;//卡路里
     int step_frequency;//步频
-    int step_length;//步幅
+    float step_length;//步幅
     int pace;//配速
     int BMR_calories;//基础卡路里
     int hrs;//心率
@@ -470,7 +470,7 @@ typedef struct
 typedef struct 
 {
     int avg_step_freq;//平均步频
-    int avg_step_len;//平均步长
+    float avg_step_len;//平均步长
     int avg_pace;//平均配速
     int max_step_freq;//最大步频
     int max_pace;//最大配速
index 9e0d689..7a7b732 100644 (file)
@@ -71,7 +71,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
         switch (c_activity_result_t.activity_mode)
         {
             case SPORT_ACTIVE_MODE_NORMAL:
-                PRINT("normal mode activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+                PRINT("normal mode activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%.2f], 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));
@@ -79,7 +79,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
             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],hrs[%d]\n",
+                PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%.2f], 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));
@@ -87,7 +87,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
             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("outdoor running activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+                PRINT("outdoor running activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%.2f], 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));
@@ -95,7 +95,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
             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("indoor running activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%d], pace[%d],hrs[%d]\n",
+                PRINT("indoor running activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%.2f], 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));
@@ -103,7 +103,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
             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],hrs[%d]\n",
+                PRINT("activit_mode[%d], steps[%d], distance[%d], calories[%d], step frequency[%d], step length[%.2f], 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));
@@ -124,7 +124,7 @@ void cywee_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen
     {
         PRINT("CYWEE_MSG_TYPE_ACTIVITY_EXTRA_INFO_UPDATE\r\n");
         memcpy(&c_activity_result_extre_info_t, msg_data, sizeof(cywee_activity_result_extre_info_t));
-        PRINT("avg_step_freq[%d],avg_step_len[%d],avg_pace[%d],max_step_freq[%d],max_pace[%d],activity_zone[%d],ativity_zone_moderate_duration[%d],ativity_zone_high_duration[%d],MHR_zone[%d],distance_motion[%d]\n",
+        PRINT("avg_step_freq[%d],avg_step_len[%.2f],avg_pace[%d],max_step_freq[%d],max_pace[%d],activity_zone[%d],ativity_zone_moderate_duration[%d],ativity_zone_high_duration[%d],MHR_zone[%d],distance_motion[%d]\n",
             c_activity_result_extre_info_t.avg_step_freq, c_activity_result_extre_info_t.avg_step_len,
             c_activity_result_extre_info_t.avg_pace,c_activity_result_extre_info_t.max_step_freq,
             c_activity_result_extre_info_t.max_pace,c_activity_result_extre_info_t.activity_zone,
index debf88b..7687a66 100644 (file)
@@ -869,7 +869,7 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
                 memset(&c_activity_result_extre_info_t,0,sizeof(cywee_activity_result_extre_info_t));
 
                 c_activity_result_extre_info_t.avg_step_freq = (int)sensorEVT->fData[1];
-                c_activity_result_extre_info_t.avg_step_len = (int)sensorEVT->fData[2];
+                c_activity_result_extre_info_t.avg_step_len = (float)sensorEVT->fData[2];
                 c_activity_result_extre_info_t.avg_pace = (int)sensorEVT->fData[3];
                 c_activity_result_extre_info_t.max_step_freq = (int)sensorEVT->fData[4];
                 c_activity_result_extre_info_t.max_pace = (int)sensorEVT->fData[5];
@@ -907,7 +907,7 @@ void CWM_AP_SensorListen(pSensorEVT_t sensorEVT) {
                 c_activity_result_t.distance = (int)sensorEVT->fData[2];
                 c_activity_result_t.calories = (int)sensorEVT->fData[3];
                 c_activity_result_t.step_frequency = (int)sensorEVT->fData[5];
-                c_activity_result_t.step_length = (int)sensorEVT->fData[6];
+                c_activity_result_t.step_length = (float)sensorEVT->fData[6];
                 c_activity_result_t.pace = (int)sensorEVT->fData[7];
                 c_activity_result_t.hrs = hrs;
                 cywee_func(CYWEE_MSG_TYPE_ACTIVITY_UPDATE,&c_activity_result_t,sizeof(cywee_activity_result_t));