HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ON when the app is closed), display the HR value on the Clock app.
This commit is contained in:
@@ -16,15 +16,15 @@ void HeartRateController::Update(HeartRateController::States newState, uint8_t h
|
||||
|
||||
void HeartRateController::Start() {
|
||||
if(task != nullptr) {
|
||||
state = States::NotEnoughData;
|
||||
task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StartMeasurement);
|
||||
systemTask.PushMessage(System::SystemTask::Messages::HeartRateRunning);
|
||||
}
|
||||
}
|
||||
|
||||
void HeartRateController::Stop() {
|
||||
if(task != nullptr) {
|
||||
state = States::Stopped;
|
||||
task->PushMessage(Pinetime::Applications::HeartRateTask::Messages::StopMeasurement);
|
||||
systemTask.PushMessage(System::SystemTask::Messages::HeartRateStopped);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -12,7 +12,7 @@ namespace Pinetime {
|
||||
namespace Controllers {
|
||||
class HeartRateController {
|
||||
public:
|
||||
enum class States { NotEnoughData, NoTouch, Running};
|
||||
enum class States { Stopped, NotEnoughData, NoTouch, Running};
|
||||
|
||||
explicit HeartRateController(System::SystemTask& systemTask);
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Pinetime {
|
||||
private:
|
||||
System::SystemTask& systemTask;
|
||||
Applications::HeartRateTask* task = nullptr;
|
||||
States state = States::NotEnoughData;
|
||||
States state = States::Stopped;
|
||||
uint8_t heartRate = 0;
|
||||
};
|
||||
}
|
||||
|
@@ -94,3 +94,7 @@ void Ppg::SetOffset(uint16_t offset) {
|
||||
this->offset = offset;
|
||||
dataIndex = 0;
|
||||
}
|
||||
|
||||
void Ppg::Reset() {
|
||||
dataIndex = 0;
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ namespace Pinetime {
|
||||
float HeartRate();
|
||||
|
||||
void SetOffset(uint16_t i);
|
||||
void Reset();
|
||||
|
||||
private:
|
||||
std::array<int, 200> data;
|
||||
|
Reference in New Issue
Block a user