删除model冗余代码 1887/1 1887/head 1889/target/1 1890/target/1
authorxue <2144439972@qq.com>
Wed, 25 Jun 2025 05:49:04 +0000 (13:49 +0800)
committerxue <2144439972@qq.com>
Wed, 25 Jun 2025 05:49:04 +0000 (13:49 +0800)
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPModel.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPModel.cpp
code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/include/FatigueModel.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/include/FatiguePresenter.h
code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/src/FatigueModel.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/src/FatiguePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/stress/include/StressModel.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/stress/include/StressPresenter.h
code/sdk/application/wearable/fd230app/nativeui/stress/src/StressModel.cpp [deleted file]
code/sdk/application/wearable/fd230app/nativeui/stress/src/StressPresenter.cpp

index 1d6f518..9d7b92e 100644 (file)
@@ -277,7 +277,6 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressMeasureView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressUnderMeasureView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressAnalysisView.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressModel.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressResultView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressWearView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/stress/src/StressFailView.cpp
@@ -288,7 +287,6 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueMeasureView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueUnderMeasureView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueAnalysisView.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueModel.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueResultView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueWearView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/fatiguelevel/src/FatigueFailView.cpp
index 25815fc..84f44b9 100644 (file)
@@ -5,76 +5,95 @@
 #include <stdint.h>
 #include <string>
 
+#define SBP_VALUE 120
+#define DBP_VALUE 80
 
-#define  SBP_VALUE 120
-#define  DBP_VALUE 80
+namespace OHOS
+{
+  // 检测状态
+  enum class BPState
+  {
+    // 结束检测
+    BP_End = 0,
+    // 第一次校准血压中 30s
+    BP_CALIBRATING_FIRSTTIME,
+    // 第二次校准血压中 30s
+    BP_CALIBRATING_SECONDTIME,
+    // 校准分析中 5s
+    BP_CALIBRATING_ANGLYSIS,
+    // 检测血压中 30s
+    BP_DETECTING,
+    // 压力测量中
+    STRESS_MEASURE,
+    // 疲劳度测量中
+    FATIGUE_MEASURE,
+    // ECG测量中
+    ECG_MEASURE,
+    // 情绪测量中
+    EMO_MEASURE,
+    // 压力分析中
+    STRESS_ANALYSIS,
+    // 疲劳度分析中
+    FATIGUE_ANALYSIS,
+    // ECG分析中
+    ECG_ANALYSIS,
+    // 情绪分析中
+    EMO_ANALYSIS,
+    // 普通状态
+    BP_NORMAL,
+    // 暂停检测
+    BP_PAUSE,
 
-namespace OHOS {
-// 血压检测状态
-enum class BPState {
-  //结束检测 
-  BP_End = 0,
-  //第一次校准血压中 30s
-  BP_CALIBRATING_FIRSTTIME,
-  //第二次校准血压中 30s
-  BP_CALIBRATING_SECONDTIME,
-  //校准分析中 5s
-  BP_CALIBRATING_ANGLYSIS,
-  //检测血压中 30s
-  BP_DETECTING,
-  //普通状态
-  BP_NORMAL,
-  //暂停检测
-  BP_PAUSE,
+    BP_STATE_MAX,
+  };
+  // 血压检测结果
+  enum class BPRESULT
+  {
+    NOT_TESTED = 0, // 未检测
+    SUCCESS,        // 检测成功
+    NOT_WORN,       // 未佩戴检测
+    TIMEOUT,        // 检测超时
+    HIGH_RESULT,    // 检测结果过高
+    LOW_RESULT,     // 检测结果过低
+    INVALID_DATA    // 无效数据
+  };
 
-  BP_STATE_MAX,
-};
-// 血压检测结果
-enum class BPRESULT {
-  NOT_TESTED = 0, // 未检测
-  SUCCESS,        // 检测成功
-  NOT_WORN,       // 未佩戴检测
-  TIMEOUT,        // 检测超时
-  HIGH_RESULT,    // 检测结果过高
-  LOW_RESULT,     // 检测结果过低
-  INVALID_DATA    // 无效数据
-};
+  enum class BP_VALUE_TYPE
+  {
+    SBP = 0,
+    DBP,
+  };
 
-enum class BP_VALUE_TYPE {
-  SBP = 0,
-  DBP,
-};
+#define BP_CHECK_TIME_MAX 30 //测量所需时间
+#define BP_ANLYSISI_TIME_MAX 5 //分析所需时间
+  class BPModel
+  {
+  public:
+    BPModel();
+    ~BPModel();
+    static BPModel *GetInstance();
+    // 获取第几次校准
+    int16_t GetCalibrationFlag();
+    void SetCalibrationFlag(int value);
+    // 获取当前时间年月日时分字符串
+    std::string GetCurrentTimeStr();
+    // 当前状态管理
+    void BP_SetState(BPState state);
+    BPState GetCurrentState();
+    // 控制血压检测
+    void BP_Control(BPState state);
+    void BP_SetValue(BP_VALUE_TYPE type, bool set_value);
+    int16_t GetValue(BP_VALUE_TYPE type);
 
-#define BP_CHECK_TIME_MAX 30
-#define BP_ANLYSISI_TIME_MAX 5
-class BPModel {
-public:
-  BPModel();
-  ~BPModel();
-  static BPModel *GetInstance();
-  //获取第几次校准
-  int16_t GetCalibrationFlag();
-  void SetCalibrationFlag(int value);
-  //获取当前时间年月日时分字符串
-  std::string GetCurrentTimeStr();
-  //当前状态管理
-  void BP_SetState(BPState state);
-  BPState GetCurrentState();
-  //控制血压检测
-  void BP_Control(BPState state);
-  void BP_SetValue(BP_VALUE_TYPE type, bool set_value);
-  int16_t GetValue(BP_VALUE_TYPE type);
+    ///////////////////////////////////////////////
+    void BP_StartTimer(uint32_t interval = 1 * 1000); // 1s定时器
+    void BP_StopTimer(void);
 
-  ///////////////////////////////////////////////
-  void BP_StartTimer(uint32_t interval = 1*1000);// 1s定时器
-  void BP_StopTimer(void);
-
-
-private:
-  BPState current_state = BPState::BP_NORMAL;
-  int16_t custom_sbp = SBP_VALUE;
-  int16_t custom_dbp = DBP_VALUE;
-};
+  private:
+    BPState current_state = BPState::BP_NORMAL;
+    int16_t custom_sbp = SBP_VALUE;
+    int16_t custom_dbp = DBP_VALUE;
+  };
 } // namespace OHOS
 
 #endif
index 6c4de65..f0e6f5f 100644 (file)
 // #include "bloodpressure/include/BPDetectResultView.h"
 // #include "bloodpressure/include/BPDetectEndView.h"
 
+#include "stress/include/StressMainView.h"
+#include "stress/include/StressAnalysisView.h"
+#include "fatiguelevel/include/FatigueMainView.h"
+#include "fatiguelevel/include/FatigueAnalysisView.h"
+
 #include "wearable_log.h"
 #include <cmsis_os.h>
 #include <cmsis_os2.h>
@@ -59,7 +64,7 @@ namespace OHOS
     return &instance;
   }
   int16_t BPModel::GetCalibrationFlag() { return CalibrationFlag; }
-  void BPModel::SetCalibrationFlag(int value) {  CalibrationFlag = value; }
+  void BPModel::SetCalibrationFlag(int value) { CalibrationFlag = value; }
 
   // 获取当前时间戳字符串
   std::string BPModel::GetCurrentTimeStr()
@@ -118,6 +123,10 @@ namespace OHOS
     }
     case BPState::BP_CALIBRATING_FIRSTTIME:
     case BPState::BP_CALIBRATING_SECONDTIME:
+    case BPState::STRESS_MEASURE:
+    case BPState::FATIGUE_MEASURE:
+    case BPState::ECG_MEASURE:
+    case BPState::EMO_MEASURE:
     case BPState::BP_DETECTING:
     {
       /*
@@ -134,6 +143,10 @@ namespace OHOS
       break;
     }
     case BPState::BP_CALIBRATING_ANGLYSIS:
+    case BPState::STRESS_ANALYSIS:
+    case BPState::FATIGUE_ANALYSIS:
+    case BPState::ECG_ANALYSIS:
+    case BPState::EMO_ANALYSIS:
     {
       BP_StartTimer();
       ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
@@ -204,37 +217,63 @@ namespace OHOS
     if (Time < 0)
     {
       BPModel::GetInstance()->BP_StopTimer();
-      BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
-      if (BPMainView::GetInstance() && CalibrationFlag == 0) // 第一次校准完
+      if (BPMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::BP_CALIBRATING_FIRSTTIME) // 血压第一次校准完
       {
-        BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW,BPCALIBRATIONMINDVIEW);
+        BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW, BPCALIBRATIONMINDVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
         CalibrationFlag++;
       }
-      else if (BPMainView::GetInstance() &&(CalibrationFlag == 1 || CalibrationFlag == 3)) // 分析完
+      else if (BPMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::BP_CALIBRATING_ANGLYSIS) // 血压分析完
       {
         // 校准成功
         BPMainView::GetInstance()->ChangeView(BPRESULTANALYSISVIEW, BPCALIBRATIONPASSVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
         // 校准失败
 
         if (CalibrationFlag == 1)
           CalibrationFlag++;
         else
           CalibrationFlag = 0;
-           WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CalibrationFlag:%d",CalibrationFlag);
       }
-      else if (BPMainView::GetInstance() && CalibrationFlag == 2) // 第二次校准完
+      else if (BPMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::BP_CALIBRATING_SECONDTIME) // 血压第二次校准完
       {
         BPMainView::GetInstance()->ChangeView(BPSECUNDERCALIBRATIONVIEW, BPCALIBRATIONMINDVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
         CalibrationFlag++;
       }
-      else if (BPDetectionView::GetInstance())
+      else if (BPDetectionView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::BP_DETECTING) // 血压检测完
       {
         // 测试成功 -> 进入结果界面
         BPDetectionView::GetInstance()->ChangeView(CALIBRATION_BPVIEW, RESULT_BPVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
         // 测试失败 -> 进入错误界面
         //  BPDetectionView::GetInstance()->ChangeView(CALIBRATION_BPVIEW,
         //  ERROR_BPVIEW);
       }
+      else if (StressMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::STRESS_MEASURE) // 压力检测完
+      {
+        BPModel::GetInstance()->BP_Control(BPState::STRESS_ANALYSIS);
+        StressMainView::GetInstance()->ChangeView(STRESSUNDERMEASUREVIEW, STRESSANALYSISEVIEW);
+        StressAnalysisView::GetInstance()->startorstopAnalysisAni(true);
+      }
+      else if (StressMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::STRESS_ANALYSIS) // 压力分析完
+      {
+        StressMainView::GetInstance()->ChangeView(STRESSANALYSISEVIEW, STRESSRESULTVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
+        StressAnalysisView::GetInstance()->startorstopAnalysisAni(false);
+      }
+      else if (FatigueMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::STRESS_ANALYSIS) // 疲劳度检测完
+      {
+        BPModel::GetInstance()->BP_Control(BPState::FATIGUE_ANALYSIS);
+        FatigueMainView::GetInstance()->ChangeView(FATIGUEUNDERMEASUREVIEW, FATIGUEANALYSISEVIEW);
+        FatigueAnalysisView::GetInstance()->startorstopAnalysisAni(true);
+      }
+      else if (FatigueMainView::GetInstance() && BPModel::GetInstance()->GetCurrentState() == BPState::STRESS_ANALYSIS) // 疲劳度分析完
+      {
+        FatigueMainView::GetInstance()->ChangeView(FATIGUEANALYSISEVIEW, FATIGUERESULTVIEW);
+        BPModel::GetInstance()->BP_SetState(BPState::BP_NORMAL);
+        FatigueAnalysisView::GetInstance()->startorstopAnalysisAni(false);
+      }
       return;
     }
 
@@ -275,6 +314,14 @@ namespace OHOS
       }
       break;
     }
+    case BPState::STRESS_MEASURE:
+    case BPState::FATIGUE_MEASURE:
+    case BPState::ECG_MEASURE:
+    case BPState::EMO_MEASURE:
+    case BPState::STRESS_ANALYSIS:
+    case BPState::FATIGUE_ANALYSIS:
+    case BPState::ECG_ANALYSIS:
+    case BPState::EMO_ANALYSIS:
     case BPState::BP_CALIBRATING_ANGLYSIS:
     {
       break;
diff --git a/code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/include/FatigueModel.h b/code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/include/FatigueModel.h
deleted file mode 100644 (file)
index daedc2d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef FATIGUE_MODEL_H
-#define FATIGUE_MODEL_H
-
-#include <stdint.h>
-#include <string>
-
-
-namespace OHOS {
-// 血压检测状态
-enum class FatigueState {
-  //结束
-  FATIGUE_END = 0,
-  //疲劳度检测中
-  FATIGUE_MEASURE,
-  //结果分析中 
-  FATIGUE_ANALYSIS,
-  //普通状态
-  FATIGUE_NORMAL,
-  //暂停
-  FATIGUE_PAUSE,
-
-  FATIGUE_STATE_MAX,
-};
-// 疲劳度检测结果
-enum class FatigueRESULT {
-  NOT_TESTED = 0, // 未检测
-  SUCCESS,        // 检测成功
-  NOT_WORN,       // 未佩戴检测
-  TIMEOUT,        // 检测超时
-  HIGH_RESULT,    // 检测结果过高
-  LOW_RESULT,     // 检测结果过低
-  INVALID_DATA    // 无效数据
-};
-
-#define Fatigue_ANLYSISI_TIME_MAX 5
-
-class FatigueModel {
-public:
-  FatigueModel();
-  ~FatigueModel();
-  static FatigueModel *GetInstance();
-  static FatigueState statefalg;
-
-  //当前状态管理
-  void Fatigue_SetState(FatigueState state);
-  FatigueState GetCurrentState();
-  //控制血压检测
-  void Fatigue_Control(FatigueState state);
-
-  ///////////////////////////////////////////////
-  void Fatigue_StartTimer(uint32_t interval = 1*1000);// 1s定时器
-  void Fatigue_StopTimer(void);
-
-
-private:
-  FatigueState current_state = FatigueState::FATIGUE_NORMAL;
-};
-} // namespace OHOS
-
-#endif
index 246bd02..7935c15 100644 (file)
@@ -10,7 +10,7 @@
 #include "KeyInputListener.h"
 #include "common/key_code.h"
 #include "fatiguelevel/include/FatigueMainView.h"
-#include "fatiguelevel/include/FatigueModel.h"
+#include "bloodpressure/include/BPModel.h"
 
 namespace OHOS
 {
diff --git a/code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/src/FatigueModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/fatiguelevel/src/FatigueModel.cpp
deleted file mode 100644 (file)
index 99bfb05..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-#include "fatiguelevel/include/FatigueModel.h"
-#include "fatiguelevel/include/FatiguePresenter.h"
-#include "fatiguelevel/include/FatigueMainView.h"
-#include "fatiguelevel/include/FatigueAnalysisView.h"
-
-
-
-
-#include "wearable_log.h"
-#include <cmsis_os.h>
-#include <cmsis_os2.h>
-#include <service/graphic_service.h>
-
-#include "AppViewIDs.h"
-#include "ConfigModel.h"
-#include "NativeAbility.h"
-
-#include "battery_hal.h"
-#include "custom_utils.h"
-#include "ppg_service.h"
-
-namespace OHOS
-{
-/**
- * @brief Constructor for the FatigueModel class.
- */
-
-#define FATIGUE_MEASURE_TIME_MAX 30
-#define FATIGUE_ANALYSIS_TIME_MAX 5
-
-  // 声明定时器变量
-  static osTimerId_t g_timer = nullptr;
-  static int Time = 30;
-  FatigueState FatigueModel::statefalg= FatigueState::FATIGUE_MEASURE;
-
-  FatigueModel::FatigueModel() {}
-  FatigueModel::~FatigueModel() {}
-  FatigueModel *FatigueModel::GetInstance(void)
-  {
-    static FatigueModel instance;
-    return &instance;
-  }
-
-
-  // 管理当前状态
-  void FatigueModel::Fatigue_SetState(FatigueState state) { current_state = state; }
-  FatigueState FatigueModel::GetCurrentState() { return current_state; }
-
-  // 进行传感器、定时器等控制
-  void FatigueModel::Fatigue_Control(FatigueState state)
-  {
-    if (state == current_state)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"Fatigue_Control: Already in current state");
-      return;
-    }
-    switch (state)
-    {
-    case FatigueState::FATIGUE_NORMAL:
-    {
-      /*
-       关闭定时器
-       关闭传感器
-       关闭常亮
-     */
-      Fatigue_StopTimer();
-      ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
-      Time = FATIGUE_MEASURE_TIME_MAX;
-      break;
-    }
-    case FatigueState::FATIGUE_MEASURE:
-      {
-      /*
-        开启定时器
-        开启传感器
-        开启常亮
-      */
-      Fatigue_StartTimer();
-      ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
-
-      if (Time != FATIGUE_MEASURE_TIME_MAX)
-        Time = FATIGUE_MEASURE_TIME_MAX; // 重置时间
-
-      break;
-    }
-    case FatigueState::FATIGUE_ANALYSIS:
-    {
-      /*
-        开启定时器
-        开启传感器
-        开启常亮
-      */
-      Fatigue_StartTimer();
-      ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
-
-      if (Time != FATIGUE_ANALYSIS_TIME_MAX)
-        Time = FATIGUE_ANALYSIS_TIME_MAX; // 重置时间
-
-      break;
-    }
-
-    default:
-      /*未知状态,全部状态重置*/
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Fatigue_Control: Invalid state");
-      Fatigue_SetState(FatigueState::FATIGUE_NORMAL);
-      Fatigue_StopTimer();
-      Time = FATIGUE_MEASURE_TIME_MAX;
-      return;
-    }
-    // 更新状态
-    Fatigue_SetState(state);
-  }
-  ///////////////////////////////////////////////////////////////////////////////////////
-
-  /*定时器到期时的处理*/
-  static void Fatigue_TimerCallbackProc(int data)
-  {
-
-    // 倒计时
-    Time--;
-    // 提前检查无效时间
-    if (Time < 0)
-    {
-      FatigueModel::GetInstance()->Fatigue_StopTimer();
-      FatigueModel::GetInstance()->Fatigue_SetState(FatigueState::FATIGUE_NORMAL);
-      if ( FatigueModel::statefalg == FatigueState::FATIGUE_ANALYSIS) //在分析中
-      {
-        FatigueMainView::GetInstance()->ChangeView(FATIGUEANALYSISEVIEW,FATIGUERESULTVIEW);
-        FatigueAnalysisView::GetInstance()->startorstopAnalysisAni(false);
-        FatigueModel::statefalg = FatigueState::FATIGUE_MEASURE;
-      }
-      else if( FatigueModel::statefalg == FatigueState::FATIGUE_MEASURE)//在检测中
-      {
-        // 测量成功
-        FatigueModel::GetInstance()->Fatigue_Control(FatigueState::FATIGUE_ANALYSIS);
-        FatigueMainView::GetInstance()->ChangeView(FATIGUEUNDERMEASUREVIEW, FATIGUEANALYSISEVIEW);
-        FatigueAnalysisView::GetInstance()->startorstopAnalysisAni(true);
-        FatigueModel::statefalg = FatigueState::FATIGUE_ANALYSIS;
-       
-
-        // 测量失败
-
-      }
-      return;
-    }
-
-    FatigueState current_state_time = FatigueModel::GetInstance()->GetCurrentState();
-    // 根据状态处理
-    switch (current_state_time)
-    {
-    case FatigueState::FATIGUE_NORMAL:
-      FatigueModel::GetInstance()->Fatigue_StopTimer();
-      FatigueModel::GetInstance()->Fatigue_SetState(FatigueState::FATIGUE_NORMAL);
-      return;
-
-    case FatigueState::FATIGUE_MEASURE:
-    {
-      break;
-    }
-    case FatigueState::FATIGUE_ANALYSIS:
-    {
-      break;
-    }
-
-    default:
-      FatigueModel::GetInstance()->Fatigue_StopTimer();
-      // 显示错误界面提示
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "current_state is error!!");
-      return;
-    }
-  }
-
-  /*
-   * @brief 回调函数
-   */
-  static void Fatigue_TimerCallback(int data)
-  {
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Fatigue_TimerCallback %d", data);
-    GraphicService::GetInstance()->PostGraphicEvent(
-        std::bind(Fatigue_TimerCallbackProc, data));
-  }
-
-  /*
-   *  @brief 开启定时器函数
-   *  @param interval 时间间隔,单位ms
-   */
-  void FatigueModel::Fatigue_StartTimer(uint32_t interval)
-  {
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "FatigueModel::Fatigue_StartTimer");
-    /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回
-     * ------------------------- */
-    if (g_timer != nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");
-      return;
-    }
-
-    /* --------------------------------- 2.创建定时器
-     * -------------------------------- */
-    g_timer = osTimerNew((osTimerFunc_t)Fatigue_TimerCallback, osTimerPeriodic,
-                         nullptr, nullptr);
-    // 检查定时器创建是否成功
-    if (g_timer == nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer create failed!!");
-      return;
-    }
-
-    /* ----------------------------- 3.将毫秒转换为系统时钟节拍数
-     * ---------------------------- */
-    int tick = osMs2Tick(interval);
-
-    /* --------------------------------- 4.启动定时器
-     * -------------------------------- */
-    osStatus_t ret = osTimerStart(g_timer, tick);
-    /* -------------------- 5.检查定时器启动是否成功,如果启动失败,删除定时器并置为
-     * nullptr -------------------- */
-    if (ret != osOK)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!",
-                    ret);
-      if (g_timer != nullptr)
-      {
-        ret = osTimerDelete(g_timer);
-      }
-      g_timer = nullptr;
-      return;
-    }
-  }
-  /*
-   * @brief 停止定时器
-   */
-  void FatigueModel::Fatigue_StopTimer(void)
-  {
-    // 检查定时器是否存在
-    if (g_timer != nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FatigueModel::Fatigue_StopTimer");
-      osTimerStop(g_timer);
-      // 删除定时器并置为 nullptr
-      osStatus_t ret = osTimerDelete(g_timer);
-      if (ret != osOK)
-      {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
-                      "osTimerDelete failed, ret = %lx!!", ret);
-      }
-      g_timer = nullptr;
-    }
-  }
-
-} // namespace OHOS
index 6eeb629..707ac93 100644 (file)
@@ -86,8 +86,8 @@ namespace OHOS
     {
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
         {
-            FatigueModel::GetInstance()->Fatigue_Control(FatigueState::FATIGUE_END);
-            FatigueModel::GetInstance()->Fatigue_StopTimer();
+            BPModel::GetInstance()->BP_Control(BPState::BP_NORMAL);
+            BPModel::GetInstance()->BP_StopTimer();
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
             return true;
         }
@@ -101,8 +101,8 @@ namespace OHOS
         if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) &&
             keyState == 1 && uapi_get_screen_state() == 0)
         {
-             FatigueModel::GetInstance()->Fatigue_Control(FatigueState::FATIGUE_END);
-            FatigueModel::GetInstance()->Fatigue_StopTimer();
+            BPModel::GetInstance()->BP_Control(BPState::BP_NORMAL);
+            BPModel::GetInstance()->BP_StopTimer();
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
         }
         return true;
@@ -113,8 +113,7 @@ namespace OHOS
 
         if (strcmp(view.GetViewId(), STARTBUTTON_FATIGUE) == 0)
         {
-            FatigueModel::statefalg = FatigueState::FATIGUE_MEASURE;//定时器标志位
-            FatigueModel::GetInstance()->Fatigue_Control(FatigueState::FATIGUE_MEASURE);
+            BPModel::GetInstance()->BP_Control(BPState::FATIGUE_MEASURE);
             FatigueMainView::GetInstance()->ChangeView(FATIGUEMEASUREVIEW, FATIGUEUNDERMEASUREVIEW);
         }
 
diff --git a/code/sdk/application/wearable/fd230app/nativeui/stress/include/StressModel.h b/code/sdk/application/wearable/fd230app/nativeui/stress/include/StressModel.h
deleted file mode 100644 (file)
index 82e0e8c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef STRESS_MODEL_H
-#define STRESS_MODEL_H
-
-#include <stdint.h>
-#include <string>
-
-
-namespace OHOS {
-// 血压检测状态
-enum class StressState {
-  //结束
-  STRESS_END = 0,
-  //压力检测中
-  STRESS_MEASURE,
-  //结果分析中 
-  STRESS_ANALYSIS,
-  //普通状态
-  STRESS_NORMAL,
-  //暂停
-  STRESS_PAUSE,
-
-  STRESS_STATE_MAX,
-};
-// 压力检测结果
-enum class StressRESULT {
-  NOT_TESTED = 0, // 未检测
-  SUCCESS,        // 检测成功
-  NOT_WORN,       // 未佩戴检测
-  TIMEOUT,        // 检测超时
-  HIGH_RESULT,    // 检测结果过高
-  LOW_RESULT,     // 检测结果过低
-  INVALID_DATA    // 无效数据
-};
-
-#define Stress_ANLYSISI_TIME_MAX 5
-
-class StressModel {
-public:
-  StressModel();
-  ~StressModel();
-  static StressModel *GetInstance();
-  static StressState statefalg ;//定时器标志位
-
-  //当前状态管理
-  void Stress_SetState(StressState state);
-  StressState GetCurrentState();
-  //控制血压检测
-  void Stress_Control(StressState state);
-
-  ///////////////////////////////////////////////
-  void Stress_StartTimer(uint32_t interval = 1*1000);// 1s定时器
-  void Stress_StopTimer(void);
-
-
-private:
-  StressState current_state = StressState::STRESS_NORMAL;
-};
-} // namespace OHOS
-
-#endif
index f49c5a8..6e4ae9f 100644 (file)
@@ -10,7 +10,7 @@
 #include "KeyInputListener.h"
 #include "common/key_code.h"
 #include "stress/include/StressMainView.h"
-#include "stress/include/StressModel.h"
+#include "bloodpressure/include/BPModel.h"
 
 namespace OHOS
 {
diff --git a/code/sdk/application/wearable/fd230app/nativeui/stress/src/StressModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/stress/src/StressModel.cpp
deleted file mode 100644 (file)
index edb6468..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-#include "stress/include/StressModel.h"
-#include "stress/include/StressPresenter.h"
-#include "stress/include/StressMainView.h"
-#include "stress/include/StressAnalysisView.h"
-
-
-
-
-#include "wearable_log.h"
-#include <cmsis_os.h>
-#include <cmsis_os2.h>
-#include <service/graphic_service.h>
-
-#include "AppViewIDs.h"
-#include "ConfigModel.h"
-#include "NativeAbility.h"
-
-#include "battery_hal.h"
-#include "custom_utils.h"
-#include "ppg_service.h"
-
-namespace OHOS
-{
-/**
- * @brief Constructor for the StressModel class.
- */
-
-#define STRESS_MEASURE_TIME_MAX 30
-#define STRESS_ANALYSIS_TIME_MAX 5
-
-  // 声明定时器变量
-  static osTimerId_t g_timer = nullptr;
-  static int Time = 30;
-  StressState StressModel::statefalg = StressState::STRESS_MEASURE;
-
-  StressModel::StressModel() {}
-  StressModel::~StressModel() {}
-  StressModel *StressModel::GetInstance(void)
-  {
-    static StressModel instance;
-    return &instance;
-  }
-
-
-  // 管理当前状态
-  void StressModel::Stress_SetState(StressState state) { current_state = state; }
-  StressState StressModel::GetCurrentState() { return current_state; }
-
-  // 进行传感器、定时器等控制
-  void StressModel::Stress_Control(StressState state)
-  {
-    if (state == current_state)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"Stress_Control: Already in current state");
-      return;
-    }
-    switch (state)
-    {
-    case StressState::STRESS_NORMAL:
-    {
-      /*
-       关闭定时器
-       关闭传感器
-       关闭常亮
-     */
-      Stress_StopTimer();
-      ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
-      Time = STRESS_MEASURE_TIME_MAX;
-      break;
-    }
-    case StressState::STRESS_MEASURE:
-      {
-      /*
-        开启定时器
-        开启传感器
-        开启常亮
-      */
-      Stress_StartTimer();
-      ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
-
-      if (Time != STRESS_MEASURE_TIME_MAX)
-        Time = STRESS_MEASURE_TIME_MAX; // 重置时间
-
-      break;
-    }
-    case StressState::STRESS_ANALYSIS:
-    {
-      /*
-        开启定时器
-        开启传感器
-        开启常亮
-      */
-      Stress_StartTimer();
-      ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 后期 周期被动状态 需要做区别
-
-      if (Time != STRESS_ANALYSIS_TIME_MAX)
-        Time = STRESS_ANALYSIS_TIME_MAX; // 重置时间
-
-      break;
-    }
-
-    default:
-      /*未知状态,全部状态重置*/
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Stress_Control: Invalid state");
-      Stress_SetState(StressState::STRESS_NORMAL);
-      Stress_StopTimer();
-      Time = STRESS_MEASURE_TIME_MAX;
-      return;
-    }
-    // 更新状态
-    Stress_SetState(state);
-  }
-  ///////////////////////////////////////////////////////////////////////////////////////
-
-  /*定时器到期时的处理*/
-  static void Stress_TimerCallbackProc(int data)
-  {
-
-    // 倒计时
-    Time--;
-    // 提前检查无效时间
-    if (Time < 0)
-    {
-      StressModel::GetInstance()->Stress_StopTimer();
-      StressModel::GetInstance()->Stress_SetState(StressState::STRESS_NORMAL);
-      if (StressModel::statefalg == StressState::STRESS_ANALYSIS) //在分析中
-      {
-        StressMainView::GetInstance()->ChangeView(STRESSANALYSISEVIEW,STRESSRESULTVIEW);
-        StressAnalysisView::GetInstance()->startorstopAnalysisAni(false);
-        StressModel::statefalg = StressState::STRESS_MEASURE;
-      }
-      else if(StressModel::statefalg == StressState::STRESS_MEASURE)//在检测中
-      {
-        // 测量成功
-        StressModel::GetInstance()->Stress_Control(StressState::STRESS_ANALYSIS);
-        StressMainView::GetInstance()->ChangeView(STRESSUNDERMEASUREVIEW, STRESSANALYSISEVIEW);
-        StressAnalysisView::GetInstance()->startorstopAnalysisAni(true);
-        StressModel::statefalg = StressState::STRESS_ANALYSIS;
-       
-
-        // 测量失败
-
-      }
-      return;
-    }
-
-    StressState current_state_time = StressModel::GetInstance()->GetCurrentState();
-    // 根据状态处理
-    switch (current_state_time)
-    {
-    case StressState::STRESS_NORMAL:
-      StressModel::GetInstance()->Stress_StopTimer();
-      StressModel::GetInstance()->Stress_SetState(StressState::STRESS_NORMAL);
-      return;
-
-    case StressState::STRESS_MEASURE:
-    {
-      break;
-    }
-    case StressState::STRESS_ANALYSIS:
-    {
-      break;
-    }
-
-    default:
-      StressModel::GetInstance()->Stress_StopTimer();
-      // 显示错误界面提示
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "current_state is error!!");
-      return;
-    }
-  }
-
-  /*
-   * @brief 回调函数
-   */
-  static void Stress_TimerCallback(int data)
-  {
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Stress_TimerCallback %d", data);
-    GraphicService::GetInstance()->PostGraphicEvent(
-        std::bind(Stress_TimerCallbackProc, data));
-  }
-
-  /*
-   *  @brief 开启定时器函数
-   *  @param interval 时间间隔,单位ms
-   */
-  void StressModel::Stress_StartTimer(uint32_t interval)
-  {
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StressModel::Stress_StartTimer");
-    /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回
-     * ------------------------- */
-    if (g_timer != nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");
-      return;
-    }
-
-    /* --------------------------------- 2.创建定时器
-     * -------------------------------- */
-    g_timer = osTimerNew((osTimerFunc_t)Stress_TimerCallback, osTimerPeriodic,
-                         nullptr, nullptr);
-    // 检查定时器创建是否成功
-    if (g_timer == nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer create failed!!");
-      return;
-    }
-
-    /* ----------------------------- 3.将毫秒转换为系统时钟节拍数
-     * ---------------------------- */
-    int tick = osMs2Tick(interval);
-
-    /* --------------------------------- 4.启动定时器
-     * -------------------------------- */
-    osStatus_t ret = osTimerStart(g_timer, tick);
-    /* -------------------- 5.检查定时器启动是否成功,如果启动失败,删除定时器并置为
-     * nullptr -------------------- */
-    if (ret != osOK)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!",
-                    ret);
-      if (g_timer != nullptr)
-      {
-        ret = osTimerDelete(g_timer);
-      }
-      g_timer = nullptr;
-      return;
-    }
-  }
-  /*
-   * @brief 停止定时器
-   */
-  void StressModel::Stress_StopTimer(void)
-  {
-    // 检查定时器是否存在
-    if (g_timer != nullptr)
-    {
-      WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "StressModel::Stress_StopTimer");
-      osTimerStop(g_timer);
-      // 删除定时器并置为 nullptr
-      osStatus_t ret = osTimerDelete(g_timer);
-      if (ret != osOK)
-      {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
-                      "osTimerDelete failed, ret = %lx!!", ret);
-      }
-      g_timer = nullptr;
-    }
-  }
-
-} // namespace OHOS
index 6f9600a..fb68884 100644 (file)
@@ -86,8 +86,8 @@ namespace OHOS
     {
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
         {
-            StressModel::GetInstance()->Stress_Control(StressState::STRESS_END);
-            StressModel::GetInstance()->Stress_StopTimer();//停止定时器
+            BPModel::GetInstance()->BP_Control(BPState::BP_NORMAL);
+            BPModel::GetInstance()->BP_StopTimer();
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
             return true;
         }
@@ -101,8 +101,8 @@ namespace OHOS
         if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) &&
             keyState == 1 && uapi_get_screen_state() == 0)
         {
-            StressModel::GetInstance()->Stress_Control(StressState::STRESS_END);
-            StressModel::GetInstance()->Stress_StopTimer();
+            BPModel::GetInstance()->BP_Control(BPState::BP_NORMAL);
+            BPModel::GetInstance()->BP_StopTimer();
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
         }
         return true;
@@ -113,8 +113,7 @@ namespace OHOS
 
         if (strcmp(view.GetViewId(), STARTBUTTON) == 0)
         {
-            StressModel::statefalg == StressState::STRESS_MEASURE;//重置标志位
-            StressModel::GetInstance()->Stress_Control(StressState::STRESS_MEASURE);
+            BPModel::GetInstance()->BP_Control(BPState::STRESS_MEASURE);
             StressMainView::GetInstance()->ChangeView(STRESSMEASUREVIEW, STRESSUNDERMEASUREVIEW);
         }