diff options
| author | JF002 <JF002@users.noreply.github.com> | 2021-01-20 20:11:56 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-20 20:11:56 (GMT) |
| commit | a0f2fa8469f3a2c0f5f2f914ad174029da321cc0 (patch) | |
| tree | 4ac5f59cd088aea9af51d2d183376de279808e63 /src/components/heartrate/HeartRateController.cpp | |
| parent | 35d4f6d4875b68ff8fdecb436e3bc0a6f91099f3 (diff) | |
| parent | 68674cec53e2e2add1c0a0b109e5a0e7d9ed5479 (diff) | |
Merge pull request #169 from JF002/heartRateSensor
Heart rate sensor
Diffstat (limited to 'src/components/heartrate/HeartRateController.cpp')
| -rw-r--r-- | src/components/heartrate/HeartRateController.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp new file mode 100644 index 0000000..d0b0d51 --- /dev/null +++ b/src/components/heartrate/HeartRateController.cpp @@ -0,0 +1,41 @@ +#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; + if(this->heartRate != heartRate) { + this->heartRate = heartRate; + service->OnNewHeartRateValue(heartRate); + } +} + +void HeartRateController::Start() { + if(task != nullptr) { + state = States::NotEnoughData; + task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement); + } +} + +void HeartRateController::Stop() { + if(task != nullptr) { + state = States::Stopped; + task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement); + } +} + +void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask *task) { + this->task = task; +} + +void HeartRateController::SetService(Pinetime::Controllers::HeartRateService *service) { + this->service = service; +} + |
