#ifndef ES_DISPLAY_DISPLAY_H_GUARD #define ES_DISPLAY_DISPLAY_H_GUARD #include #include "Task.h" namespace es { namespace Display { constexpr int PIN_SCL = 15; constexpr int PIN_SDA = 14; constexpr int WIDTH = 128; constexpr int HEIGHT = 32; constexpr int PAGES = HEIGHT / 8; // 4 class SSD1306; class Display : public es::Task::Task { private: uint8_t framebuffer[WIDTH * PAGES]; // 128 * 4 = 512 std::unique_ptr ssd1306; uint8_t counter; uint8_t data; uint8_t data_counter; void setup() override; void loop() override; public: Display(/* args */); ~Display(); }; } // namespace Display } // namespace es #endif