训练:修复配速表与心率表解析失败
authorCaisking <3449750381@qq.com>
Thu, 3 Oct 2024 12:04:27 +0000 (20:04 +0800)
committerCaisking <3449750381@qq.com>
Thu, 3 Oct 2024 12:04:27 +0000 (20:04 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp

index 7f469f3..92eff52 100644 (file)
@@ -176,16 +176,18 @@ enum ENTEYTYPE {
   MAIN_ENTER = 0,
   APPLIST_ENTER,
 };
+#pragma pack(1)
+struct PaceEntry {
+  uint32_t timestamp; // 4 bytes
+  uint16_t pace;      // 2 bytes
+};
 //心率表结构体
+#pragma pack(push, 1)
 struct HeartRateEntry {
-  uint32_t timestamp;
-  uint8_t heartRate;
-};
-//配速结果体
-struct PaceEntry {
-  uint32_t timestamp;
-  uint16_t pace;
+  uint32_t timestamp; // 4 bytes
+  uint8_t heartRate;  // 1 byte
 };
+#pragma pack()
 struct SportData {
   uint32 starttime; // 开始时间时间戳
   uint32 endtime;   // 结束时间时间戳
index eff80f7..18147f3 100644 (file)
@@ -1203,8 +1203,7 @@ bool TraingModel::SaveHeartTable() {
   }
 
   // 存储表数据
-  heartRateFile.write(reinterpret_cast<const char *>(&heartRateCount),
-                      sizeof(heartRateCount));
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateCount = %d", heartRateCount);
   if (!heartRateFile.write(
           reinterpret_cast<const char *>(heartRateTable.data()),
           heartRateCount * sizeof(HeartRateEntry))) {
@@ -1240,10 +1239,6 @@ bool TraingModel::SavePaceTable() {
                   filePath.c_str());
     return false; // 返回失败
   }
-
-  // 写入 paceCount
-  paceFile.write(reinterpret_cast<const char *>(&paceCount), sizeof(paceCount));
-
   // 写入配速数据
   if (!paceFile.write(reinterpret_cast<const char *>(paceTable.data()),
                       paceCount * sizeof(PaceEntry))) {
@@ -1426,7 +1421,7 @@ void TraingModel::StoreDataIfMinutePassed() {
     }
   }
 
-  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "duration:[%d] g_motionTimes[%d]\r\n",
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "duration:[%d] g_motionTimes[%d]\r\n",
                 sportdata->duration, g_motionTimes);
 }
 #ifdef __cplusplus