* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-11 16:26:13
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-12 10:35:46
+ * @LastEditTime: 2024-09-28 20:13:17
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/RespiratoryTrainingModel.h
*/
#ifndef RESPIRATORY_TRAINING_MODEL_H
static RespiratoryTrainingModel &GetInstance(void);
void AddRespiratoryTrainingTimes(void);
std::string GetRespiratoryTrainingTotalTime(void) ;
- std::string GetHeartRateValue(void) ;
+ int GetAverageHeartRate(void);
+ void calculateHeartrateTotal(void);
void ResumeStatus();
void RT_StartTimer(uint32_t interval);
int RespiratoryTrainingTimes{0}; // 呼吸训练次数
std::string RespiratoryTrainingTime{nullptr};
std::string HeartRateValue{nullptr};
+ int count{0};
+ float heartTotal{0};
};
}
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-05-07 11:25:58
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-12 10:25:32
+ * @LastEditTime: 2024-09-28 20:06:40
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTrainingCompleted/src/RespiratoryTrainingCompletedView.cpp
*/
/* -------------------------------------------------------------------------- */
int y1 = 248, y2 = 286;
const int textId[MAX_NUM] = {STR_THIS_BREATH, STR_MEAN_HEART_RATE_MIN, STR_TODAYS_BREATHING_TRAINING};
- std::string heartRateValue = RespiratoryTrainingModel::GetInstance().GetHeartRateValue();
+ int value = RespiratoryTrainingModel::GetInstance().GetAverageHeartRate();
+ std::string heartRateValue = std::to_string(value);
std::string trainingTotalTime = RespiratoryTrainingModel::GetInstance().GetRespiratoryTrainingTotalTime();
const char *text[MAX_NUM] = {"01:00", heartRateValue.c_str(), trainingTotalTime.c_str()};
OHOS::ColorType RTCDynamicLabelTextColor[MAX_NUM] = {
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-11 16:26:20
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-07 17:16:08
+ * @LastEditTime: 2024-09-28 20:12:26
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingModel.cpp
*/
#include "respiratorytraining/include/RespiratoryTrainingModel.h"
return RespiratoryTrainingTime;
}
- // 获取心率值
- std::string RespiratoryTrainingModel::GetHeartRateValue(void)
+ //获取平均心率值
+ int RespiratoryTrainingModel::GetAverageHeartRate(void)
{
- uint16_t value = HeartModel::GetInstance()->GetHeartdata();
- HeartRateValue = std::to_string(value);
- return HeartRateValue;
+ if(count != 0) {
+ return heartTotal / count;
+ }
+ return 0;
+ }
+
+ void RespiratoryTrainingModel::calculateHeartrateTotal(void)
+ {
+ heartTotal += HeartModel::GetInstance()->GetShowHeartdata();
+ count++;
}
void RespiratoryTrainingModel::ResumeStatus()
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-05-07 11:25:58
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-06-13 09:34:12
+ * @LastEditTime: 2024-09-28 20:13:37
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTraining/src/RespiratoryTrainingView.cpp
*/
void RespiratoryTrainingCallback::Callback(UIView *view)
{
+ RespiratoryTrainingModel::GetInstance().calculateHeartrateTotal();
// 1.计算当前时间与开始时间的差值,用于控制动画的时间。
uint32_t currentTime = HALTick::GetInstance().GetTime();
curTime = currentTime - startTimestamp;