summaryrefslogtreecommitdiff
path: root/src/components/heartrate
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/heartrate')
-rw-r--r--src/components/heartrate/HeartRateController.cpp9
-rw-r--r--src/components/heartrate/HeartRateController.h4
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