ESPHome 2026.8.0-dev
Loading...
Searching...
No Matches
epaper_spi_t133a01.h
Go to the documentation of this file.
1#pragma once
2
3#include "epaper_spi.h"
4
5namespace esphome::epaper_spi {
6
21class EPaperT133A01 : public EPaperBase {
22 public:
23 EPaperT133A01(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence,
24 size_t init_sequence_length)
25 : EPaperBase(name, width, height, init_sequence, init_sequence_length, DISPLAY_TYPE_COLOR) {
26 this->buffer_length_ = (size_t) width * height / 2; // 2 pixels per byte at 4bpp
27 }
28
29 void set_cs_pins(GPIOPin *cs, GPIOPin *cs1) {
30 this->cs_pin_ = cs;
31 this->cs1_pin_ = cs1;
32 }
33
34 void fill(Color color) override;
35
36 void setup() override;
37 void dump_config() override;
38 void draw_pixel_at(int x, int y, Color color) override;
39
40 protected:
41 bool reset() override;
42 bool initialise(bool partial) override;
43 void refresh_screen(bool partial) override;
44 void power_on() override;
45 void power_off() override;
46 void deep_sleep() override;
47
48 bool transfer_data() override;
49
59 void write_command_(uint8_t command, const uint8_t *data, size_t length, bool use_cs, bool use_cs1);
60 void write_command_(uint8_t command, std::initializer_list<uint8_t> data, bool use_cs, bool use_cs1) {
61 this->write_command_(command, data.begin(), data.size(), use_cs, use_cs1);
62 }
63 void write_command_(uint8_t command, bool use_cs, bool use_cs1) {
64 this->write_command_(command, nullptr, 0, use_cs, use_cs1);
65 }
66
68 static uint8_t color_to_index(Color color);
69
71 static uint8_t remap_color(uint8_t index);
72
73 GPIOPin *cs_pin_{nullptr};
74 GPIOPin *cs1_pin_{nullptr};
75};
76
77} // namespace esphome::epaper_spi
void command(uint8_t value)
T133A01-based 6-color e-paper display driver.
static uint8_t remap_color(uint8_t index)
Apply COLOR_GET remap table to translate sprite indices to hardware values.
void refresh_screen(bool partial) override
static uint8_t color_to_index(Color color)
Convert Color to 4-bit T133A01 color index.
EPaperT133A01(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence, size_t init_sequence_length)
bool initialise(bool partial) override
Initialise the T133A01 display.
void draw_pixel_at(int x, int y, Color color) override
void write_command_(uint8_t command, const uint8_t *data, size_t length, bool use_cs, bool use_cs1)
Send a command (and optional data) selecting one or both controllers.
void write_command_(uint8_t command, std::initializer_list< uint8_t > data, bool use_cs, bool use_cs1)
void write_command_(uint8_t command, bool use_cs, bool use_cs1)
void set_cs_pins(GPIOPin *cs, GPIOPin *cs1)
uint16_t length
Definition tt21100.cpp:0
uint16_t x
Definition tt21100.cpp:5
uint16_t y
Definition tt21100.cpp:6