ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
epaper_spi_ultrachip.h
Go to the documentation of this file.
1#pragma once
2
3#include "epaper_spi.h"
4
5namespace esphome::epaper_spi {
6
14 public:
16
17 // Nothing carries the image across a restart or the controller's deep sleep, so sleep the panel rather than
18 // leaving it waiting in standby
19 void on_safe_shutdown() override;
20
21 protected:
22 static constexpr uint8_t CMD_POWER_OFF = 0x02;
23 static constexpr uint8_t CMD_POWER_ON = 0x04;
24 static constexpr uint8_t CMD_DEEP_SLEEP = 0x07;
25 static constexpr uint8_t CMD_DTM1 = 0x10;
26 static constexpr uint8_t CMD_REFRESH = 0x12;
27 static constexpr uint8_t CMD_DTM2 = 0x13;
28 static constexpr uint8_t CMD_CDI = 0x50;
29 static constexpr uint8_t CMD_PARTIAL_WINDOW = 0x90;
30 static constexpr uint8_t CMD_PARTIAL_IN = 0x91;
31 static constexpr uint8_t CMD_PARTIAL_OUT = 0x92;
32 static constexpr uint8_t CMD_CCSET = 0xE0;
33 static constexpr uint8_t CMD_TSSET = 0xE5;
34 static constexpr uint8_t DEEP_SLEEP_CHECK = 0xA5;
35
36 void deep_sleep() override;
37 // Sends the deep-sleep command unconditionally; deep_sleep() skips it while partial updates are in use
38 void send_deep_sleep_();
39 // Enters partial mode and sets the refresh window; x is rounded out to whole bytes
40 void set_partial_window_(uint16_t x_start, uint16_t x_end, uint16_t y_start, uint16_t y_end);
41};
42
43} // namespace esphome::epaper_spi
EPaperBase(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence=nullptr, size_t init_sequence_length=0, DisplayType display_type=DISPLAY_TYPE_BINARY, uint8_t bits_per_pixel=1, uint8_t planes=1)
Definition epaper_spi.h:43
Shared base for the UltraChip UC81xx mono controllers (UC8179, UC8279).
static constexpr uint8_t CMD_PARTIAL_WINDOW
void set_partial_window_(uint16_t x_start, uint16_t x_end, uint16_t y_start, uint16_t y_end)
static void int x_start
Definition display.cpp:62
static void int int y_start
Definition display.cpp:62