diff options
author | Jean-François Milants <jf@codingfield.com> | 2021-01-17 10:39:46 +0100 |
---|---|---|
committer | Jean-François Milants <jf@codingfield.com> | 2021-01-17 10:39:46 +0100 |
commit | 04063cf0af29e09946bf3d1fa77ae91235cd8b84 (patch) | |
tree | 96adf3bcf0c869c738d8c5f73985296b9f7bb105 /src/components | |
parent | c82c22650cf7d7a8f31146345b9510cc6eabc5f8 (diff) |
HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ON when the app is closed), display the HR value on the Clock app.
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/heartrate/HeartRateController.cpp | 4 | ||||
-rw-r--r-- | src/components/heartrate/HeartRateController.h | 4 | ||||
-rw-r--r-- | src/components/heartrate/Ppg.cpp | 4 | ||||
-rw-r--r-- | src/components/heartrate/Ppg.h | 1 |
4 files changed, 9 insertions, 4 deletions
diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index 53b34e6c..62ce8aef 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -16,15 +16,15 @@ void HeartRateController::Update(HeartRateController::States newState, uint8_t h void HeartRateController::Start() { if(task != nullptr) { + state = States::NotEnoughData; task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); - systemTask.PushMessage(System::SystemTask::Messages::HeartRateRunning); } } void HeartRateController::Stop() { if(task != nullptr) { + state = States::Stopped; task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); - systemTask.PushMessage(System::SystemTask::Messages::HeartRateStopped); } } diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index b401f76a..bbb1b88b 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -12,7 +12,7 @@ namespace Pinetime { namespace Controllers { class HeartRateController { public: - enum class States { NotEnoughData, NoTouch, Running}; + enum class States { Stopped, NotEnoughData, NoTouch, Running}; explicit HeartRateController(System::SystemTask& systemTask); @@ -27,7 +27,7 @@ namespace Pinetime { private: System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; - States state = States::NotEnoughData; + States state = States::Stopped; uint8_t heartRate = 0; }; } diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp index c9a11030..27617c15 100644 --- a/src/components/heartrate/Ppg.cpp +++ b/src/components/heartrate/Ppg.cpp @@ -94,3 +94,7 @@ void Ppg::SetOffset(uint16_t offset) { this->offset = offset; dataIndex = 0; } + +void Ppg::Reset() { + dataIndex = 0; +} diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h index 846ade08..747ae019 100644 --- a/src/components/heartrate/Ppg.h +++ b/src/components/heartrate/Ppg.h @@ -14,6 +14,7 @@ namespace Pinetime { float HeartRate(); void SetOffset(uint16_t i); + void Reset(); private: std::array<int, 200> data; |