ESPHome
2026.11.0-dev
Loading...
Searching...
No Matches
esphome
components
epaper_spi
epaper_spi_ssd1677.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
epaper_spi_mono.h
"
4
5
namespace
esphome::epaper_spi
{
6
23
class
EPaperSSD1677
:
public
EPaperMono
{
24
public
:
25
EPaperSSD1677
(
const
char
*name, uint16_t width, uint16_t height,
const
uint8_t *init_sequence,
26
size_t
init_sequence_length,
DisplayType
display_type =
DISPLAY_TYPE_BINARY
, uint8_t bits_per_pixel = 1)
27
:
EPaperMono
(name, width, height, init_sequence, init_sequence_length, display_type, bits_per_pixel) {}
28
29
void
setup
()
override
;
30
31
protected
:
32
// Allocates the comparison frame when partial updates are enabled. Separate from setup() so it
33
// can run without a bus.
34
void
init_comparison_frame_
();
35
// Bytes in one row of a RAM plane: 8 pixels per byte, whatever the buffer holds.
36
size_t
plane_row_length_
()
const
{
return
(this->
width_
+ 7) / 8; }
37
// Row y of the frame as a RAM plane holds it, 1 bit per pixel with 1 = white.
38
virtual
void
plane_row
(
size_t
y
, uint8_t *
out
);
39
bool
reset
()
override
;
40
bool
transfer_data
()
override
;
41
42
split_buffer::SplitBuffer
sent_
{};
// the frame last sent to 0x24, i.e. what the panel shows
43
uint8_t
plane_
{0};
// 0 while sending 0x26, 1 while sending 0x24
44
};
45
46
}
// namespace esphome::epaper_spi
esphome::epaper_spi::EPaperBase::width_
uint16_t width_
Definition
epaper_spi.h:179
esphome::epaper_spi::EPaperMono
A class for monochrome epaper displays.
Definition
epaper_spi_mono.h:9
esphome::epaper_spi::EPaperSSD1677
Monochrome SSD1677 with partial refreshes that leave unchanged pixels alone.
Definition
epaper_spi_ssd1677.h:23
esphome::epaper_spi::EPaperSSD1677::sent_
split_buffer::SplitBuffer sent_
Definition
epaper_spi_ssd1677.h:42
esphome::epaper_spi::EPaperSSD1677::plane_row
virtual void plane_row(size_t y, uint8_t *out)
Definition
epaper_spi_ssd1677.cpp:25
esphome::epaper_spi::EPaperSSD1677::init_comparison_frame_
void init_comparison_frame_()
Definition
epaper_spi_ssd1677.cpp:17
esphome::epaper_spi::EPaperSSD1677::setup
void setup() override
Definition
epaper_spi_ssd1677.cpp:11
esphome::epaper_spi::EPaperSSD1677::EPaperSSD1677
EPaperSSD1677(const char *name, uint16_t width, uint16_t height, const uint8_t *init_sequence, size_t init_sequence_length, DisplayType display_type=DISPLAY_TYPE_BINARY, uint8_t bits_per_pixel=1)
Definition
epaper_spi_ssd1677.h:25
esphome::epaper_spi::EPaperSSD1677::transfer_data
bool transfer_data() override
Definition
epaper_spi_ssd1677.cpp:43
esphome::epaper_spi::EPaperSSD1677::reset
bool reset() override
Definition
epaper_spi_ssd1677.cpp:33
esphome::epaper_spi::EPaperSSD1677::plane_
uint8_t plane_
Definition
epaper_spi_ssd1677.h:43
esphome::epaper_spi::EPaperSSD1677::plane_row_length_
size_t plane_row_length_() const
Definition
epaper_spi_ssd1677.h:36
esphome::split_buffer::SplitBuffer
A SplitBuffer allocates a large memory buffer potentially as multiple smaller buffers to facilitate a...
Definition
split_buffer.h:14
epaper_spi_mono.h
out
std::vector< uint8_t > & out
Definition
gif.cpp:49
esphome::display::DisplayType
DisplayType
Definition
display.h:129
esphome::display::DISPLAY_TYPE_BINARY
@ DISPLAY_TYPE_BINARY
Definition
display.h:130
esphome::epaper_spi
Definition
colorconv.h:15
y
uint16_t y
Definition
tt21100.cpp:6
Generated by
1.12.0