Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -778,10 +778,14 @@ class Framework {
if (heartRateController.State() == Pinetime::Controllers::HeartRateController::States::Stopped) {
heartRateController.Start();
} else if (heartRateController.State() == Pinetime::Controllers::HeartRateController::States::NotEnoughData) {
heartRateController.Update(Pinetime::Controllers::HeartRateController::States::Running, 10);
heartRateController.Update(Pinetime::Controllers::HeartRateController::States::Running, std::make_optional<uint8_t>(10));
} else {
uint8_t heartrate = heartRateController.HeartRate();
heartRateController.Update(Pinetime::Controllers::HeartRateController::States::Running, heartrate + 10);
auto heartrate = heartRateController.HeartRate();
if (heartrate.has_value()) {
heartRateController.Update(Pinetime::Controllers::HeartRateController::States::Running, std::make_optional<uint8_t>(heartrate.value() + 10));
} else {
heartRateController.Update(Pinetime::Controllers::HeartRateController::States::Running, std::make_optional<uint8_t>(10));
}
}
} else if (key == 'H') {
heartRateController.Stop();
Expand Down
3 changes: 2 additions & 1 deletion sim/components/heartrate/HeartRateController.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#include "components/heartrate/HeartRateController.h"
#include <heartratetask/HeartRateTask.h>
#include "systemtask/SystemTask.h"
#include <optional>

using namespace Pinetime::Controllers;

void HeartRateController::Update(HeartRateController::States newState, uint8_t heartRate) {
void HeartRateController::Update(HeartRateController::States newState, std::optional<uint8_t> heartRate) {
this->state = newState;
if (this->heartRate != heartRate) {
this->heartRate = heartRate;
Expand Down
7 changes: 4 additions & 3 deletions sim/components/heartrate/HeartRateController.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#pragma once

#include <cstdint>
#include <optional>
//#include <components/ble/HeartRateService.h>

namespace Pinetime {
Expand All @@ -18,13 +19,13 @@ namespace Pinetime {
HeartRateController() = default;
void Start();
void Stop();
void Update(States newState, uint8_t heartRate);
void Update(States newState, std::optional<uint8_t> heartRate);

void SetHeartRateTask(Applications::HeartRateTask* task);
States State() const {
return state;
}
uint8_t HeartRate() const {
std::optional<uint8_t> HeartRate() const {
return heartRate;
}

Expand All @@ -33,7 +34,7 @@ namespace Pinetime {
private:
Applications::HeartRateTask* task = nullptr;
States state = States::Stopped;
uint8_t heartRate = 0;
std::optional<uint8_t> heartRate = std::nullopt;
//Pinetime::Controllers::HeartRateService* service = nullptr;
};
}
Expand Down