summaryrefslogtreecommitdiff
path: root/src/components/heartrate
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-01-10 22:02:21 +0100
committerJean-François Milants <jf@codingfield.com>2021-01-10 22:02:21 +0100
commitc82c22650cf7d7a8f31146345b9510cc6eabc5f8 (patch)
tree88b491ac49c6893dab0b30e522b77e9afc2678b0 /src/components/heartrate
parent1a582815ba218d2a9047abae92b9f33a3301ffd5 (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.cpp15
-rw-r--r--src/components/heartrate/HeartRateController.h6
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;