summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemtask/SystemTask.cpp')
-rw-r--r--src/systemtask/SystemTask.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index c121808..8cd6f67 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -59,10 +59,13 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
Drivers::Watchdog& watchdog,
Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
+ Pinetime::Drivers::Hrs3300& heartRateSensor,
Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
Controllers::Settings& settingsController,
+ Pinetime::Controllers::HeartRateController& heartRateController,
Pinetime::Applications::DisplayApp& displayApp,
+ Pinetime::Applications::HeartRateTask& heartRateApp,
Pinetime::Controllers::TouchHandler& touchHandler,
Pinetime::Controllers::ButtonHandler& buttonHandler)
: spi {spi},
@@ -77,10 +80,13 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
watchdog {watchdog},
notificationManager {notificationManager},
motorController {motorController},
+ heartRateSensor {heartRateSensor},
motionSensor {motionSensor},
settingsController {settingsController},
+ heartRateController {heartRateController},
motionController {motionController},
displayApp {displayApp},
+ heartRateApp(heartRateApp),
touchHandler {touchHandler},
buttonHandler {buttonHandler},
nimbleController(*this,
@@ -88,7 +94,8 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
dateTimeController,
notificationManager,
batteryController,
- spiNorFlash) {
+ spiNorFlash,
+ heartRateController) {
}
void SystemTask::Start() {
@@ -145,6 +152,10 @@ void SystemTask::Work() {
displayApp.Register(this);
displayApp.Start(bootError);
+ heartRateSensor.Init();
+ heartRateSensor.Disable();
+ heartRateApp.Start();
+
buttonHandler.Init(this);
// Button
@@ -227,6 +238,7 @@ void SystemTask::Work() {
lcd.Wakeup();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::GoToRunning);
+ heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::WakeUp);
if (!bleController.IsConnected()) {
nimbleController.RestartFastAdv();
@@ -257,6 +269,7 @@ void SystemTask::Work() {
xTimerStop(idleTimer, 0);
xTimerStop(dimTimer, 0);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::GoToSleep);
+ heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::GoToSleep);
break;
case Messages::OnNewTime:
ReloadIdleTimer();