38 lines
854 B
C++
38 lines
854 B
C++
#ifndef ES_DISPLAY_DISPLAY_H_GUARD
|
|
#define ES_DISPLAY_DISPLAY_H_GUARD
|
|
|
|
#include <memory>
|
|
|
|
#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<uint8_t>
|
|
{
|
|
private:
|
|
uint8_t framebuffer[WIDTH * PAGES]; // 128 * 4 = 512
|
|
std::unique_ptr<SSD1306> 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 |