diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-01-30 11:03:31 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-01-30 11:03:31 +1100 |
| commit | eacea59e8a3f9602ed06834a8edc4e6ab18a4bb9 (patch) | |
| tree | cfafc753e2f9280dd81d2cb48520a427da54e141 /src/system_fsm/system_fsm.cpp | |
| parent | c399199bfccb5298fe4b0cf566d8e69729596ba4 (diff) | |
| download | tangara-fw-eacea59e8a3f9602ed06834a8edc4e6ab18a4bb9.tar.gz | |
Do more to avoid and recover from partial db updates
- do not power off in an update is in progress
- explicitly store last update time, rather than deriving it from
unchanged tracks.
Diffstat (limited to 'src/system_fsm/system_fsm.cpp')
| -rw-r--r-- | src/system_fsm/system_fsm.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/system_fsm/system_fsm.cpp b/src/system_fsm/system_fsm.cpp index df750e80..977f4a6d 100644 --- a/src/system_fsm/system_fsm.cpp +++ b/src/system_fsm/system_fsm.cpp @@ -95,7 +95,8 @@ void SystemState::react(const internal::SamdInterrupt&) { } auto SystemState::IdleCondition() -> bool { - return sServices->gpios().IsLocked() && + auto db = sServices->database().lock(); + return sServices->gpios().IsLocked() && !(db && db->isUpdating()) && audio::AudioState::is_in_state<audio::states::Standby>(); } |
