summaryrefslogtreecommitdiff
path: root/src/systemtask
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-07-13 20:31:44 +0200
committerJean-François Milants <jf@codingfield.com>2021-07-13 20:31:44 +0200
commitaf10747c94080123a5847d5258c2cfeb7ec317cb (patch)
tree7385ab23e93eb7746cf459c64679ddcdaff4fc41 /src/systemtask
parent4f378e8726fdcff72598aa6ed12eeaa6b3e61355 (diff)
parent3e705548442f1f208c2092ffc865ae824ee0955a (diff)
Merge branch 'notify-battery-level' into develop
Diffstat (limited to 'src/systemtask')
-rw-r--r--src/systemtask/SystemTask.cpp5
-rw-r--r--src/systemtask/SystemTask.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp
index 17e78230..eb29638a 100644
--- a/src/systemtask/SystemTask.cpp
+++ b/src/systemtask/SystemTask.cpp
@@ -330,6 +330,11 @@ void SystemTask::Work() {
}
}
+ if (xTaskGetTickCount() - batteryNotificationTick > batteryNotificationPeriod) {
+ nimbleController.NotifyBatteryLevel(batteryController.PercentRemaining());
+ batteryNotificationTick = xTaskGetTickCount();
+ }
+
monitor.Process();
uint32_t systick_counter = nrf_rtc_counter_get(portNRF_RTC_REG);
dateTimeController.UpdateTime(systick_counter);
diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h
index bfb97264..f8cf6370 100644
--- a/src/systemtask/SystemTask.h
+++ b/src/systemtask/SystemTask.h
@@ -135,6 +135,8 @@ namespace Pinetime {
void GoToRunning();
void UpdateMotion();
bool stepCounterMustBeReset = false;
+ static constexpr TickType_t batteryNotificationPeriod = 1000 * 60 * 10; // 1 tick ~= 1ms. 1ms * 60 * 10 = 10 minutes
+ TickType_t batteryNotificationTick = 0;
#if configUSE_TRACE_FACILITY == 1
SystemMonitor<FreeRtosMonitor> monitor;