display_task.h 638 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #if SK_DISPLAY
  3. #include <Arduino.h>
  4. #include <TFT_eSPI.h>
  5. #include "knob_data.h"
  6. #include "task.h"
  7. class DisplayTask : public Task<DisplayTask> {
  8. friend class Task<DisplayTask>; // Allow base Task to invoke protected run()
  9. public:
  10. DisplayTask(const uint8_t task_core);
  11. ~DisplayTask();
  12. QueueHandle_t getKnobStateQueue();
  13. protected:
  14. void run();
  15. private:
  16. TFT_eSPI tft_ = TFT_eSPI();
  17. /** Full-size sprite used as a framebuffer */
  18. TFT_eSprite spr_ = TFT_eSprite(&tft_);
  19. QueueHandle_t knob_state_queue_;
  20. KnobState state_;
  21. };
  22. #endif