void TraingModel::IsSpecialSport(UIResourceTextId sportId_) {
switch (sportId_) {
case UIResourceTextId::STR_EXERCISE_OUTDOORRUNNING: // 室外跑步 室外走路
- case UIResourceTextId::STR_EXERCISE_OUTDOORWALKING:
+ case UIResourceTextId::STR_EXERCISE_OUTDOORWALKING:
case UIResourceTextId::STR_EXERCISE_INDOORRUNNING: // 室内跑步 室内走路
case UIResourceTextId::STR_EXERCISE_INDOORWALKING:
case UIResourceTextId::STR_EXERCISE_TREADMILL: // 跑步机
std::string exactFilePath =
TRAINING_HEART_FILE + std::to_string(timestamp) + ".bin";
if (IsFileAccessibleAndNotEmpty(exactFilePath)) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "找到心率表: %s",
- exactFilePath.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "找到心率表: %s", exactFilePath.c_str());
return exactFilePath; // 返回完全匹配的文件路径
}
- // 如果未找到,检查时间戳相差1到2秒的文件
- for (int i = -2; i <= 2; ++i) {
+ // 如果未找到,检查时间戳相差5秒的文件
+ for (int i = -5; i <= 5; ++i) {
uint32_t checkTimestamp = timestamp + i;
- std::string filePath =
- TRAINING_HEART_FILE + std::to_string(checkTimestamp) + ".bin";
+ std::string filePath = TRAINING_HEART_FILE + std::to_string(checkTimestamp) + ".bin";
if (IsFileAccessibleAndNotEmpty(filePath)) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "找到心率表: %s",
- filePath.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "找到心率表: %s", filePath.c_str());
return filePath; // 返回找到的文件路径
}
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "未找到与时间戳相关的心率表。");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "未找到与时间戳相关的心率表。%d", timestamp);
return ""; // 未找到文件
}
return exactFilePath; // 返回完全匹配的文件路径
}
- // 如果未找到,检查时间戳相差1到2秒的文件
- for (int i = -2; i <= 2; ++i) {
+ // 如果未找到,检查时间戳相差5秒的文件
+ for (int i = -5; i <= 5; ++i) {
uint32_t checkTimestamp = timestamp + i;
std::string filePath =
TRAINING_PACE_FILE + std::to_string(checkTimestamp) + ".bin";
}
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "未找到与时间戳相关的配速表。");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "未找到与时间戳相关的配速表。%d", timestamp);
return ""; // 未找到文件
}
/*发送实时数据*/
if (uapi_get_timestampe_ss(×tamp) == ERRCODE_SUCC) {
if (sportdata->heart != 0)
AddHeartRateData(timestamp, sportdata->heart);
- if (sportdata->apc != 0)
- AddPaceData(timestamp, sportdata->apc);
+ //特殊运动才存储配速数据
+ if (OHOS::TraingModel::GetInstance()->GetIsSpecial()) {
+ if (sportdata->apc != 0)
+ AddPaceData(timestamp, sportdata->apc);
+ }
}
}
OHOS::TraingModel::GetInstance()->CheckTimeTag();
// 记录特殊活动的心率/配速数据
- if (OHOS::TraingModel::GetInstance()->GetIsSpecial()) {
- OHOS::TraingModel::GetInstance()->StoreDataIfMinutePassed();
- }
+ OHOS::TraingModel::GetInstance()->StoreDataIfMinutePassed();
+
// 振动反馈
if ((sportdata->goaldegree >= 100) && (shock_count < 4)) {