/*设置运动Id*/
void TraingModel::SetSportEvent(UIResourceTextId id)
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SetSportType %d", sportId_);
sportId_ = id;
}
/*获取运动Id*/
UIResourceTextId TraingModel::GetSportEvent()
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " GetSportEvent %d", sportId_);
return sportId_;
}
/*获取运动项目*/
void TraingModel::AnalysisData(cywee_activity_result_t *cyweeInfo)
{
// 不同的运动类型解析不同的数据
- ExerciseClass type = GetSportId();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " AnalysisData %d", type);
// 通用数据
sportdata->steps = cyweeInfo->steps;
{
sportdata->spc = sportdata->pc;
}
+
+ sportdata->heart = cyweeInfo->hrs;
+
if (cyweeInfo->hrs > 50)
{
- sportdata->heart = CalculateFilteredHeartRate(cyweeInfo->hrs); // 处理显示心率
- sportdata->avgheart = CalculateAverageHeartRate(cyweeInfo->hrs); // 处理正常的平均心率
- SetIntensity(sportdata->heart); // 设置训练强度
- }
- else
- {
- sportdata->heart = cyweeInfo->hrs;
+ // sportdata->heart = CalculateFilteredHeartRate(cyweeInfo->hrs); // 处理显示心率
+ // sportdata->avgheart = CalculateAverageHeartRate(cyweeInfo->hrs); // 处理正常的平均心率
+ sportdata->avgheart = Averageheartrate(sportdata->heart);
+ SetIntensity(sportdata->heart); // 设置训练强度
}
+
// 达到最高心率进行心率提醒弹窗
if (sportdata->heart >= ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRAINING_HEART_MAX))
{
printf("SetTimestamp::time:%u \r\n", time);
sportdata->starttime = time;
sportdata->sportType = sportType_; // 训练类型
+ sportdata->sportId = sportId_;
if (sportTag_) // 有值才设置[训练目标]
{
return average;
}
-
// 显示心率
int TraingModel::CalculateFilteredHeartRate(int newHeartRate)
{
return total / recentHeartRates.size(); // 返回计算后的平均值
}
-
+ int TraingModel::Averageheartrate(int newHeartRate)
+ {
+ if (totalHeartRate == 0)
+ {
+ totalHeartRate = newHeartRate;
+ }
+ totalHeartRate = (totalHeartRate + newHeartRate) / 2;
+
+ return totalHeartRate;
+ }
// 设置训练目标类型以及训练目标
void TraingModel::SetSportTag(ExerciseTag tagtpye, int tag)
{