Base task system
This commit is contained in:
+29
-13
@@ -1,22 +1,38 @@
|
||||
#ifndef DISPLAY_DISPLAY_H_GUARD
|
||||
#define DISPLAY_DISPLAY_H_GUARD
|
||||
#ifndef ES_DISPLAY_DISPLAY_H_GUARD
|
||||
#define ES_DISPLAY_DISPLAY_H_GUARD
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "Task.h"
|
||||
|
||||
class SSD1306;
|
||||
class Display : public Task
|
||||
namespace es
|
||||
{
|
||||
private:
|
||||
std::unique_ptr<SSD1306> ssd1306;
|
||||
uint8_t counter;
|
||||
void setup(void *args);
|
||||
void loop(void *args);
|
||||
namespace Display
|
||||
{
|
||||
constexpr int PIN_SCL = 15;
|
||||
constexpr int PIN_SDA = 14;
|
||||
|
||||
public:
|
||||
Display(/* args */);
|
||||
~Display();
|
||||
};
|
||||
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
|
||||
Reference in New Issue
Block a user