summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-01-17 10:39:46 +0100
committerJean-François Milants <jf@codingfield.com>2021-01-17 10:39:46 +0100
commit04063cf0af29e09946bf3d1fa77ae91235cd8b84 (patch)
tree96adf3bcf0c869c738d8c5f73985296b9f7bb105 /src/components
parentc82c22650cf7d7a8f31146345b9510cc6eabc5f8 (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.cpp4
-rw-r--r--src/components/heartrate/HeartRateController.h4
-rw-r--r--src/components/heartrate/Ppg.cpp4
-rw-r--r--src/components/heartrate/Ppg.h1
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;