diff options
Diffstat (limited to 'src/components/heartrate')
-rw-r--r-- | src/components/heartrate/HeartRateController.cpp | 9 | ||||
-rw-r--r-- | src/components/heartrate/HeartRateController.h | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/components/heartrate/HeartRateController.cpp b/src/components/heartrate/HeartRateController.cpp index 62ce8aef..d0b0d513 100644 --- a/src/components/heartrate/HeartRateController.cpp +++ b/src/components/heartrate/HeartRateController.cpp @@ -11,7 +11,10 @@ HeartRateController::HeartRateController(Pinetime::System::SystemTask &systemTas void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) { this->state = newState; - this->heartRate = heartRate; + if(this->heartRate != heartRate) { + this->heartRate = heartRate; + service->OnNewHeartRateValue(heartRate); + } } void HeartRateController::Start() { @@ -32,3 +35,7 @@ void HeartRateController::SetHeartRateTask(Pinetime::Applications::HeartRateTask this->task = task; } +void HeartRateController::SetService(Pinetime::Controllers::HeartRateService *service) { + this->service = service; +} + diff --git a/src/components/heartrate/HeartRateController.h b/src/components/heartrate/HeartRateController.h index bbb1b88b..001111b5 100644 --- a/src/components/heartrate/HeartRateController.h +++ b/src/components/heartrate/HeartRateController.h @@ -1,6 +1,7 @@ #pragma once #include <cstdint> +#include <components/ble/HeartRateService.h> namespace Pinetime { namespace Applications { @@ -24,11 +25,14 @@ namespace Pinetime { States State() const { return state; } uint8_t HeartRate() const { return heartRate; } + void SetService(Pinetime::Controllers::HeartRateService *service); + private: System::SystemTask& systemTask; Applications::HeartRateTask* task = nullptr; States state = States::Stopped; uint8_t heartRate = 0; + Pinetime::Controllers::HeartRateService* service = nullptr; }; } }
\ No newline at end of file |