Base task system

This commit is contained in:
2025-12-12 15:48:36 +00:00
parent abd77a885a
commit 13c7a53818
36 changed files with 2341 additions and 2227 deletions
+29 -13
View File
@@ -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