// (C) 2018-2024 by Folkert van Heusden // Released under MIT license #include #include "comm.h" #include "console.h" class console_esp32 : public console { public: enum panel_mode_t { PM_BITS, PM_POINTER }; private: comm *const io_port; panel_mode_t panel_mode { PM_BITS }; // TODO: atomic_int protected: int wait_for_char_ll(const short timeout) override; void put_char_ll(const char c) override; public: console_esp32(std::atomic_uint32_t *const stop_event, comm *const io_port, const int t_width, const int t_height); virtual ~console_esp32(); void set_panel_mode(const panel_mode_t pm); void put_string_lf(const std::string & what) override; void resize_terminal() override; void refresh_virtual_terminal() override; void panel_update_thread() override; };