diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-04-22 16:00:53 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-04-22 16:00:53 +1000 |
| commit | db9e5cce1fff82149a609939709a94ae02f349a8 (patch) | |
| tree | 5dd6f5a636eb2e87bca84d7ceabbf09c893f23e1 /src/ui/include | |
| parent | 5b99267cb9f0344e519956096867aea5468ecf9f (diff) | |
| download | tangara-fw-db9e5cce1fff82149a609939709a94ae02f349a8.tar.gz | |
Improve handling of the display
- Blank the display when locking to prevent burn-in
- Delay turning the display on until *exactly* after the first lvgl flush
- Init the display in the ui task to avoid blocking the rest of boot
Diffstat (limited to 'src/ui/include')
| -rw-r--r-- | src/ui/include/ui_events.hpp | 7 | ||||
| -rw-r--r-- | src/ui/include/ui_fsm.hpp | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/ui/include/ui_events.hpp b/src/ui/include/ui_events.hpp index 81e0543a..3d794edc 100644 --- a/src/ui/include/ui_events.hpp +++ b/src/ui/include/ui_events.hpp @@ -8,7 +8,9 @@ #include <memory> #include "database.hpp" +#include "gpios.hpp" #include "index.hpp" +#include "nvs.hpp" #include "screen.hpp" #include "tinyfsm.hpp" @@ -32,6 +34,11 @@ struct DumpLuaStack : tinyfsm::Event {}; namespace internal { +struct InitDisplay : tinyfsm::Event { + drivers::IGpios& gpios; + drivers::NvsStorage& nvs; +}; + struct ReindexDatabase : tinyfsm::Event {}; struct BackPressed : tinyfsm::Event {}; diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp index 8eafc6e0..325aea8f 100644 --- a/src/ui/include/ui_fsm.hpp +++ b/src/ui/include/ui_fsm.hpp @@ -70,6 +70,7 @@ class UiState : public tinyfsm::Fsm<UiState> { void react(const system_fsm::KeyLockChanged&); void react(const system_fsm::SamdUsbStatusChanged&); + void react(const internal::InitDisplay&); void react(const internal::DismissAlerts&); void react(const database::event::UpdateStarted&); |
