SystemTask: Move MotorController to DisplayApp

Vibrations should be associated with something happening on the UI.
Therefore SystemTask should not be controlling the motor.
This commit is contained in:
Riku Isokoski
2023-02-25 10:25:38 +02:00
parent 255b07094b
commit 5ab255b26b
9 changed files with 25 additions and 27 deletions

View File

@@ -27,7 +27,6 @@ namespace Pinetime {
OnChargingEvent,
OnPairing,
SetOffAlarm,
StopRinging,
MeasureBatteryTimerExpired,
BatteryPercentageUpdated,
LowBattery,

View File

@@ -61,7 +61,6 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
Controllers::AlarmController& alarmController,
Drivers::Watchdog& watchdog,
Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
Pinetime::Drivers::Hrs3300& heartRateSensor,
Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
@@ -85,7 +84,6 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
alarmController {alarmController},
watchdog {watchdog},
notificationManager {notificationManager},
motorController {motorController},
heartRateSensor {heartRateSensor},
motionSensor {motionSensor},
settingsController {settingsController},
@@ -149,7 +147,6 @@ void SystemTask::Work() {
touchPanel.Init();
dateTimeController.Register(this);
batteryController.Register(this);
motorController.Init();
motionSensor.SoftReset();
timerController.Init(this);
alarmController.Init(this);
@@ -295,19 +292,14 @@ void SystemTask::Work() {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.RunForDuration(35);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::TimerDone);
break;
case Messages::SetOffAlarm:
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.StartRinging();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::AlarmTriggered);
break;
case Messages::StopRinging:
motorController.StopRinging();
break;
case Messages::BleConnected:
ReloadIdleTimer();
isBleDiscoveryTimerRunning = true;
@@ -394,9 +386,8 @@ void SystemTask::Work() {
alarmController.State() != AlarmController::AlarmState::Alerting) {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Chime);
}
motorController.RunForDuration(35);
}
break;
case Messages::OnNewHalfHour:
@@ -406,14 +397,13 @@ void SystemTask::Work() {
alarmController.State() != AlarmController::AlarmState::Alerting) {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Chime);
}
motorController.RunForDuration(35);
}
break;
case Messages::OnChargingEvent:
batteryController.ReadPowerState();
motorController.RunForDuration(15);
displayApp.PushMessage(Applications::Display::Messages::OnChargingEvent);
ReloadIdleTimer();
if (state == SystemTaskState::Sleeping) {
GoToRunning();
@@ -439,7 +429,6 @@ void SystemTask::Work() {
if (state == SystemTaskState::Sleeping) {
GoToRunning();
}
motorController.RunForDuration(35);
displayApp.PushMessage(Pinetime::Applications::Display::Messages::ShowPairingKey);
break;
case Messages::BleRadioEnableToggle:

View File

@@ -15,7 +15,6 @@
#include "systemtask/SystemMonitor.h"
#include "components/ble/NimbleController.h"
#include "components/ble/NotificationManager.h"
#include "components/motor/MotorController.h"
#include "components/timer/TimerController.h"
#include "components/alarm/AlarmController.h"
#include "components/fs/FS.h"
@@ -70,7 +69,6 @@ namespace Pinetime {
Controllers::AlarmController& alarmController,
Drivers::Watchdog& watchdog,
Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
Pinetime::Drivers::Hrs3300& heartRateSensor,
Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
@@ -116,7 +114,6 @@ namespace Pinetime {
QueueHandle_t systemTasksMsgQueue;
Pinetime::Drivers::Watchdog& watchdog;
Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Controllers::MotorController& motorController;
Pinetime::Drivers::Hrs3300& heartRateSensor;
Pinetime::Drivers::Bma421& motionSensor;
Pinetime::Controllers::Settings& settingsController;