#pragma once

#include <freertos/FreeRTOS.h>
#include <freertos/task.h>

class U8G2;

namespace ugv {

namespace comms {
class CommsClass;
}

class DisplayClass {
 public:
  DisplayClass() = delete;
  DisplayClass(comms::CommsClass *comms);

  void Init();

 private:
  comms::CommsClass *comms_;
  U8G2 *oled;
  TaskHandle_t task_handle_;

  void Run();
  static void RunThread(void *arg);
};

}  // namespace ugv