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).
This commit is contained in:
James A. Jerkins
2021-09-05 15:53:20 -05:00
parent 4820b2ffe8
commit 22571d4b38
3 changed files with 20 additions and 1 deletions

View File

@@ -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;