summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.cpp
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-05-12 00:19:59 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-05-12 00:19:59 (GMT)
commit72d0f103a8bc1048ff9729aee65070475977b5a3 (patch)
tree6a806507701dcbea7eb30fa0351de9f3e59d7f56 /src/systemtask/SystemTask.cpp
parent1ff0a48bbb66f8099c1451fa02983655003def8e (diff)
parentaca605d4fb4040cc80c1acf101023aa86e7694ba (diff)
Merge branch 'alarm-reliability-and-switch-to-freertos-timers' into analog24
Diffstat (limited to 'src/systemtask/SystemTask.cpp')
-rw-r--r--src/systemtask/SystemTask.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 77cf411..760f216 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -6,6 +6,7 @@
#include "BootloaderVersion.h"
#include "components/battery/BatteryController.h"
#include "components/ble/BleController.h"
+#include "displayapp/TouchEvents.h"
#include "drivers/Cst816s.h"
#include "drivers/St7789.h"
#include "drivers/InternalFlash.h"
@@ -126,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();
@@ -151,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...
@@ -265,10 +263,10 @@ void SystemTask::Work() {
case Messages::TouchWakeUp: {
if (touchHandler.GetNewTouchInfo()) {
auto gesture = touchHandler.GestureGet();
- if (gesture != Pinetime::Drivers::Cst816S::Gestures::None and
- ((gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap and
+ if (gesture != Pinetime::Applications::TouchEvents::None and
+ ((gesture == Pinetime::Applications::TouchEvents::DoubleTap and
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) or
- (gesture == Pinetime::Drivers::Cst816S::Gestures::SingleTap and
+ (gesture == Pinetime::Applications::TouchEvents::Tap and
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::SingleTap)))) {
GoToRunning();
}
@@ -286,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;
@@ -318,6 +319,7 @@ void SystemTask::Work() {
break;
case Messages::StopRinging:
motorController.StopRinging();
+ alarmController.OnStopRinging();
break;
case Messages::BleConnected:
ReloadIdleTimer();
@@ -401,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);
@@ -411,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);
@@ -441,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();