summaryrefslogtreecommitdiff
path: root/src/system_fsm/system_fsm.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-22 15:55:25 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-22 15:55:25 +1000
commitee949829d98c3b8df685319559a5798aad74bf13 (patch)
tree68cbf80bdc61a2bdb7572d33e47c7f6230555406 /src/system_fsm/system_fsm.cpp
parent9c105cf613fb849268d619dc887dc2b54dcd4ec6 (diff)
downloadtangara-fw-ee949829d98c3b8df685319559a5798aad74bf13.tar.gz
Add battery % with change events
Diffstat (limited to 'src/system_fsm/system_fsm.cpp')
-rw-r--r--src/system_fsm/system_fsm.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/system_fsm/system_fsm.cpp b/src/system_fsm/system_fsm.cpp
index 24f65a4f..78c4c53e 100644
--- a/src/system_fsm/system_fsm.cpp
+++ b/src/system_fsm/system_fsm.cpp
@@ -95,6 +95,16 @@ void SystemState::react(const internal::SamdInterrupt&) {
}
}
+void SystemState::react(const internal::BatteryTimerFired&) {
+ ESP_LOGI(kTag, "checking battery");
+ if (sBattery->UpdatePercent()) {
+ ESP_LOGI(kTag, "battery now at %u%%", sBattery->Percent());
+ BatteryPercentChanged ev{};
+ events::Ui().Dispatch(ev);
+ events::System().Dispatch(ev);
+ }
+}
+
} // namespace system_fsm
FSM_INITIAL_STATE(system_fsm::SystemState, system_fsm::states::Booting)