summaryrefslogtreecommitdiff
path: root/src/systemtask
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2021-12-09 20:20:29 (GMT)
committerGitHub <noreply@github.com>2021-12-09 20:20:29 (GMT)
commite8c1302cd65dbd804d152227ae76aa786d6f0b60 (patch)
tree572ece371e587fb6e5c3b531473a528305ba1809 /src/systemtask
parent5f50f0e538e20ede353b388148b706319da161ce (diff)
parentb946b8d156175309ab778038dab75ec7996c05bc (diff)
Merge branch 'develop' into patch-weather
Diffstat (limited to 'src/systemtask')
-rw-r--r--src/systemtask/Messages.h1
-rw-r--r--src/systemtask/SystemTask.cpp18
2 files changed, 16 insertions, 3 deletions
diff --git a/src/systemtask/Messages.h b/src/systemtask/Messages.h
index b714270..516f646 100644
--- a/src/systemtask/Messages.h
+++ b/src/systemtask/Messages.h
@@ -22,6 +22,7 @@ namespace Pinetime {
DisableSleeping,
OnNewDay,
OnChargingEvent,
+ OnPairing,
SetOffAlarm,
StopRinging,
MeasureBatteryTimerExpired,
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 1120b80..4076d57 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -109,7 +109,8 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
batteryController,
spiNorFlash,
heartRateController,
- motionController) {
+ motionController,
+ fs) {
}
void SystemTask::Start() {
@@ -258,8 +259,9 @@ void SystemTask::Work() {
displayApp.PushMessage(Pinetime::Applications::Display::Messages::GoToRunning);
heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::WakeUp);
- if (!bleController.IsConnected())
+ if (!bleController.IsConnected()) {
nimbleController.RestartFastAdv();
+ }
isSleeping = false;
isWakingUp = false;
@@ -278,6 +280,9 @@ void SystemTask::Work() {
}
} break;
case Messages::GoToSleep:
+ if (doNotGoToSleep) {
+ break;
+ }
isGoingToSleep = true;
NRF_LOG_INFO("[systemtask] Going to sleep");
xTimerStop(idleTimer, 0);
@@ -396,6 +401,13 @@ void SystemTask::Work() {
case Messages::BatteryPercentageUpdated:
nimbleController.NotifyBatteryLevel(batteryController.PercentRemaining());
break;
+ case Messages::OnPairing:
+ if (isSleeping && !isWakingUp) {
+ GoToRunning();
+ }
+ motorController.RunForDuration(35);
+ displayApp.PushMessage(Pinetime::Applications::Display::Messages::ShowPairingKey);
+ break;
default:
break;
@@ -497,7 +509,7 @@ void SystemTask::OnTouchEvent() {
}
void SystemTask::PushMessage(System::Messages msg) {
- if (msg == Messages::GoToSleep) {
+ if (msg == Messages::GoToSleep && !doNotGoToSleep) {
isGoingToSleep = true;
}