summaryrefslogtreecommitdiff
path: root/src/systemtask
diff options
context:
space:
mode:
authorJames A. Jerkins <evergreen@jamesjerkinscomputer.com>2021-09-05 15:53:20 -0500
committerJames A. Jerkins <evergreen@jamesjerkinscomputer.com>2021-09-05 15:53:20 -0500
commit22571d4b384e40d647cd994202956f08ed32d925 (patch)
tree5ecf4349a0d0cc8b29cdf35f779e5565dbb6cae4 /src/systemtask
parent4820b2ffe8be0b8d1abefd307a4c0fe6d4d41a73 (diff)
Advertise fast for at least 30 secs then slow down
On power up, advertise aggressively for at least 30 seconds then switch to a longer interval to conserve battery life. This fast/slow pattern is designed to balance connection response time and battery life. When a disconnect event is received restart the fast/slow pattern. When a failed connect event is received, restart the fast/slow pattern. When the screen is activated and ble is not connected, restart the fast/slow pattern. This pattern is consistent with Apple's BLE developer standards (QA 1931).
Diffstat (limited to 'src/systemtask')
-rw-r--r--src/systemtask/SystemTask.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 2dff9254..41f346ae 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -233,6 +233,9 @@ void SystemTask::Work() {
displayApp.PushMessage(Pinetime::Applications::Display::Messages::UpdateBatteryLevel);
heartRateApp.PushMessage(Pinetime::Applications::HeartRateTask::Messages::WakeUp);
+ if (!bleController.IsConnected())
+ nimbleController.RestartFastAdv();
+
isSleeping = false;
isWakingUp = false;
isDimmed = false;