diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-05-24 13:30:05 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-05-24 13:30:05 +1000 |
| commit | 65833649f4779754e90760c1f0fc81ed220c84d0 (patch) | |
| tree | 7aa4baa722edb7db80055fdeb9e8053766707259 /src/events/event_queue.cpp | |
| parent | 3b371cfc544d4b7c462d0a32d06525ab2b970875 (diff) | |
| download | tangara-fw-65833649f4779754e90760c1f0fc81ed220c84d0.tar.gz | |
Add some placeholder splash and menu screens
Includes a bunch of misc display fixes. Most significantly, our lvgl
tickers was busted.
Diffstat (limited to 'src/events/event_queue.cpp')
| -rw-r--r-- | src/events/event_queue.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/events/event_queue.cpp b/src/events/event_queue.cpp index 06f747ab..c69b1e72 100644 --- a/src/events/event_queue.cpp +++ b/src/events/event_queue.cpp @@ -14,11 +14,22 @@ namespace events { static const std::size_t kMaxPendingEvents = 16; EventQueue::EventQueue() - : handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))) {} + : system_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))), + ui_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))) {} -auto EventQueue::Service(TickType_t max_wait_time) -> bool { +auto EventQueue::ServiceSystem(TickType_t max_wait_time) -> bool { WorkItem* item; - if (xQueueReceive(handle_, &item, max_wait_time)) { + if (xQueueReceive(system_handle_, &item, max_wait_time)) { + (*item)(); + delete item; + return true; + } + return false; +} + +auto EventQueue::ServiceUi(TickType_t max_wait_time) -> bool { + WorkItem* item; + if (xQueueReceive(ui_handle_, &item, max_wait_time)) { (*item)(); delete item; return true; |
