Initial InfiniSim project
This commit is contained in:
35
sim/components/heartrate/HeartRateController.cpp
Normal file
35
sim/components/heartrate/HeartRateController.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "components/heartrate/HeartRateController.h"
|
||||
#include <heartratetask/HeartRateTask.h>
|
||||
#include "systemtask/SystemTask.h"
|
||||
|
||||
using namespace Pinetime::Controllers;
|
||||
|
||||
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;
|
||||
//}
|
40
sim/components/heartrate/HeartRateController.h
Normal file
40
sim/components/heartrate/HeartRateController.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
//#include <components/ble/HeartRateService.h>
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
class HeartRateTask;
|
||||
}
|
||||
namespace System {
|
||||
class SystemTask;
|
||||
}
|
||||
namespace Controllers {
|
||||
class HeartRateController {
|
||||
public:
|
||||
enum class States { Stopped, NotEnoughData, NoTouch, Running };
|
||||
|
||||
HeartRateController() = default;
|
||||
void Start();
|
||||
void Stop();
|
||||
void Update(States newState, uint8_t heartRate);
|
||||
|
||||
void SetHeartRateTask(Applications::HeartRateTask* task);
|
||||
States State() const {
|
||||
return state;
|
||||
}
|
||||
uint8_t HeartRate() const {
|
||||
return heartRate;
|
||||
}
|
||||
|
||||
// void SetService(Pinetime::Controllers::HeartRateService* service);
|
||||
|
||||
private:
|
||||
Applications::HeartRateTask* task = nullptr;
|
||||
States state = States::Stopped;
|
||||
uint8_t heartRate = 0;
|
||||
//Pinetime::Controllers::HeartRateService* service = nullptr;
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user