From: Caisking <3449750381@qq.com> Date: Thu, 3 Oct 2024 12:04:27 +0000 (+0800) Subject: 训练:修复配速表与心率表解析失败 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=6e55b705a3a66a65626eb4bfe4f3a3aa603fcb97;p=mirrors%2FFD230.git 训练:修复配速表与心率表解析失败 --- diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h index 7f469f3b9..92eff522f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h @@ -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; // 结束时间时间戳 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp index eff80f78f..18147f3f6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp @@ -1203,8 +1203,7 @@ bool TraingModel::SaveHeartTable() { } // 存储表数据 - heartRateFile.write(reinterpret_cast(&heartRateCount), - sizeof(heartRateCount)); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateCount = %d", heartRateCount); if (!heartRateFile.write( reinterpret_cast(heartRateTable.data()), heartRateCount * sizeof(HeartRateEntry))) { @@ -1240,10 +1239,6 @@ bool TraingModel::SavePaceTable() { filePath.c_str()); return false; // 返回失败 } - - // 写入 paceCount - paceFile.write(reinterpret_cast(&paceCount), sizeof(paceCount)); - // 写入配速数据 if (!paceFile.write(reinterpret_cast(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