summaryrefslogtreecommitdiff
path: root/src/systemtask
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemtask')
-rw-r--r--src/systemtask/Messages.h65
-rw-r--r--src/systemtask/SystemTask.cpp19
2 files changed, 44 insertions, 40 deletions
diff --git a/src/systemtask/Messages.h b/src/systemtask/Messages.h
index 2e3456a..3648142 100644
--- a/src/systemtask/Messages.h
+++ b/src/systemtask/Messages.h
@@ -2,36 +2,37 @@
namespace Pinetime {
namespace System {
- enum class Messages {
- GoToSleep,
- GoToRunning,
- TouchWakeUp,
- OnNewTime,
- OnNewNotification,
- OnTimerDone,
- OnNewCall,
- BleConnected,
- UpdateTimeOut,
- BleFirmwareUpdateStarted,
- BleFirmwareUpdateFinished,
- OnTouchEvent,
- HandleButtonEvent,
- HandleButtonTimerEvent,
- OnDisplayTaskSleeping,
- EnableSleeping,
- DisableSleeping,
- OnNewDay,
- OnNewHour,
- OnNewHalfHour,
- OnChargingEvent,
- OnPairing,
- SetOffAlarm,
- StopRinging,
- MeasureBatteryTimerExpired,
- BatteryPercentageUpdated,
- StartFileTransfer,
- StopFileTransfer,
- BleRadioEnableToggle
- };
- }
+ enum class Messages {
+ GoToSleep,
+ GoToRunning,
+ TouchWakeUp,
+ OnNewTime,
+ OnAdjustTime,
+ OnNewNotification,
+ OnTimerDone,
+ OnNewCall,
+ BleConnected,
+ UpdateTimeOut,
+ BleFirmwareUpdateStarted,
+ BleFirmwareUpdateFinished,
+ OnTouchEvent,
+ HandleButtonEvent,
+ HandleButtonTimerEvent,
+ OnDisplayTaskSleeping,
+ EnableSleeping,
+ DisableSleeping,
+ OnNewDay,
+ OnNewHour,
+ OnNewHalfHour,
+ OnChargingEvent,
+ OnPairing,
+ SetOffAlarm,
+ StopRinging,
+ MeasureBatteryTimerExpired,
+ BatteryPercentageUpdated,
+ StartFileTransfer,
+ StopFileTransfer,
+ BleRadioEnableToggle
+ };
+ }
}
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 38c728f..760f216 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -127,8 +127,6 @@ void SystemTask::Work() {
NRF_LOG_INFO("Last reset reason : %s", Pinetime::Drivers::Watchdog::ResetReasonToString(watchdog.ResetReason()));
APP_GPIOTE_INIT(2);
- app_timer_init();
-
spi.Init();
spiNorFlash.Init();
spiNorFlash.Wakeup();
@@ -152,8 +150,7 @@ void SystemTask::Work() {
batteryController.Register(this);
motorController.Init();
motionSensor.SoftReset();
- timerController.Register(this);
- timerController.Init();
+ timerController.Init(this);
alarmController.Init(this);
// Reset the TWI device because the motion sensor chip most probably crashed it...
@@ -287,9 +284,12 @@ void SystemTask::Work() {
heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::GoToSleep);
break;
case Messages::OnNewTime:
+ case Messages::OnAdjustTime:
ReloadIdleTimer();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::UpdateDateTime);
- if (alarmController.State() == Controllers::AlarmController::AlarmState::Set) {
+ if (message == Messages::OnAdjustTime) {
+ alarmController.OnAdjustTime();
+ } else {
alarmController.ScheduleAlarm();
}
break;
@@ -319,6 +319,7 @@ void SystemTask::Work() {
break;
case Messages::StopRinging:
motorController.StopRinging();
+ alarmController.OnStopRinging();
break;
case Messages::BleConnected:
ReloadIdleTimer();
@@ -402,7 +403,8 @@ void SystemTask::Work() {
break;
case Messages::OnNewHour:
using Pinetime::Controllers::AlarmController;
- if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::Hours && alarmController.State() != AlarmController::AlarmState::Alerting) {
+ if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::Hours &&
+ alarmController.State() != AlarmController::AlarmState::Alerting) {
if (isSleeping && !isWakingUp) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
@@ -412,7 +414,8 @@ void SystemTask::Work() {
break;
case Messages::OnNewHalfHour:
using Pinetime::Controllers::AlarmController;
- if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::HalfHours && alarmController.State() != AlarmController::AlarmState::Alerting) {
+ if (settingsController.GetChimeOption() == Controllers::Settings::ChimesOption::HalfHours &&
+ alarmController.State() != AlarmController::AlarmState::Alerting) {
if (isSleeping && !isWakingUp) {
GoToRunning();
displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock);
@@ -442,7 +445,7 @@ void SystemTask::Work() {
displayApp.PushMessage(Pinetime::Applications::Display::Messages::ShowPairingKey);
break;
case Messages::BleRadioEnableToggle:
- if(settingsController.GetBleRadioEnabled()) {
+ if (settingsController.GetBleRadioEnabled()) {
nimbleController.EnableRadio();
} else {
nimbleController.DisableRadio();