summaryrefslogtreecommitdiff
path: root/src/drivers/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-05-22 15:23:51 +1000
committerjacqueline <me@jacqueline.id.au>2023-05-22 15:23:51 +1000
commit5ac4d3949cd7430e0d4c994bbc528e8e4fa91337 (patch)
treedcd30c252e45afa20f084e1a58cbabd861ca299c /src/drivers/include
parentb320a6a863cf1c10dc79254af41f573730935564 (diff)
downloadtangara-fw-5ac4d3949cd7430e0d4c994bbc528e8e4fa91337.tar.gz
Generalise worker tasks, and centralise task priorities + stacks
Includes making the display driver use a worker task for flushes, so that our double buffering actually does something useful /facepalm
Diffstat (limited to 'src/drivers/include')
-rw-r--r--src/drivers/include/display.hpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/drivers/include/display.hpp b/src/drivers/include/display.hpp
index 9e4a0224..04bdf669 100644
--- a/src/drivers/include/display.hpp
+++ b/src/drivers/include/display.hpp
@@ -6,6 +6,7 @@
#include "driver/spi_master.h"
#include "lvgl/lvgl.h"
#include "result.hpp"
+#include "tasks.hpp"
#include "display_init.hpp"
#include "gpio_expander.hpp"
@@ -37,6 +38,8 @@ class Display {
GpioExpander* gpio_;
spi_device_handle_t handle_;
+ std::unique_ptr<tasks::Worker> worker_task_;
+
lv_disp_draw_buf_t buffers_;
lv_disp_drv_t driver_;
lv_disp_t* display_ = nullptr;