ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
epaper_spi_uc8279.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace esphome::epaper_spi {
6
22 public:
23 EPaperUC8279(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence,
24 size_t init_sequence_length, uint16_t offset_height)
25 : EPaperUltraChip(name, width, height, init_sequence, init_sequence_length, DISPLAY_TYPE_BINARY),
26 offset_height_(offset_height) {}
27
28 protected:
29 bool reset() override;
30 bool initialise(bool partial) override;
31 bool transfer_data() override;
32 void power_on() override;
33 void refresh_screen(bool partial) override;
34 void power_off() override;
35 bool after_refresh() override;
36
37 uint16_t gate_count_() const { return this->offset_height_ + this->height_; }
38 // Writes one gate's row of the image, or white for a gate outside the panel or when white is true
39 void write_gate_(size_t gate, bool white);
40 // Writes one plane in time slices, sending `command` at its first gate; true once all gates are written
41 bool write_plane_(uint8_t command, bool white, size_t base);
42
44};
45
46} // namespace esphome::epaper_spi
void command(uint8_t value)
Monochrome e-paper displays using the UltraChip UC8279 controller, such as the Xteink X4 Pro.
bool write_plane_(uint8_t command, bool white, size_t base)
bool initialise(bool partial) override
EPaperUC8279(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence, size_t init_sequence_length, uint16_t offset_height)
void refresh_screen(bool partial) override
void write_gate_(size_t gate, bool white)
Shared base for the UltraChip UC81xx mono controllers (UC8179, UC8279).