diff options
author | Jean-François Milants <jf@codingfield.com> | 2021-01-10 22:02:21 +0100 |
---|---|---|
committer | Jean-François Milants <jf@codingfield.com> | 2021-01-10 22:02:21 +0100 |
commit | c82c22650cf7d7a8f31146345b9510cc6eabc5f8 (patch) | |
tree | 88b491ac49c6893dab0b30e522b77e9afc2678b0 /src/components/heartrate | |
parent | 1a582815ba218d2a9047abae92b9f33a3301ffd5 (diff) |
HR Sensor : do not go to sleep when the HR app is running.
Diffstat (limited to 'src/components/heartrate')
-rw-r--r-- | src/components/heartrate/HeartRateController.cpp | 15 | ||||
-rw-r--r-- | src/components/heartrate/HeartRateController.h | 6 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index f296027f..53b34e6c 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -1,23 +1,34 @@ #include "HeartRateController.h" #include <heartratetask/HeartRateTask.h> +#include <systemtask/SystemTask.h> using namespace Pinetime::Controllers; +HeartRateController::HeartRateController(Pinetime::System::SystemTask &systemTask) : systemTask{systemTask} { + +} + + void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) { this->state = newState; this->heartRate = heartRate; } void HeartRateController::Start() { - if(task != nullptr) + if(task != nullptr) { task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); + systemTask.PushMessage(System::SystemTask::Messages::HeartRateRunning); + } } void HeartRateController::Stop() { - if(task != nullptr) + if(task != nullptr) { task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); + systemTask.PushMessage(System::SystemTask::Messages::HeartRateStopped); + } } void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask *task) { this->task = task; } + diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index b4d6c972..b401f76a 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -6,11 +6,16 @@ namespace Pinetime { namespace Applications { class HeartRateTask; } + namespace System { + class SystemTask; + } namespace Controllers { class HeartRateController { public: enum class States { NotEnoughData, NoTouch, Running}; + explicit HeartRateController(System::SystemTask& systemTask); + void Start(); void Stop(); void Update(States newState, uint8_t heartRate); @@ -20,6 +25,7 @@ namespace Pinetime { uint8_t HeartRate() const { return heartRate; } private: + System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; States state = States::NotEnoughData; uint8_t heartRate = 0; |