ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::epaper_spi Namespace Reference

Data Structures

class  EPaper4bpp
 Intermediate base for panels with a 4-bit-per-pixel native buffer layout (2 pixels per byte). More...
 
class  EPaperBase
 
class  EPaperGoodDisplay3C
 Good Display 3-color e-paper displays (SSD1680 controller), e.g. More...
 
class  EPaperInkplate2
 
class  EPaperInkplate6Color
 
class  EPaperJD79660
 JD7966x IC driver implementation. More...
 
class  EPaperMono
 A class for monochrome epaper displays. More...
 
class  EPaperSpectraE6
 
class  EPaperSSD1677
 Monochrome SSD1677 with partial refreshes that leave unchanged pixels alone. More...
 
class  EPaperSSD1677Gray4
 Four-level grayscale for SSD1677 panels. More...
 
class  EPaperSSD1681
 
class  EPaperSSD1683
 A class for Solomon SSD1683 epaper displays. More...
 
class  EPaperT133A01
 T133A01-based 6-color e-paper display driver. More...
 
class  EPaperUC8179
 Monochrome e-paper displays using the UC8179 controller. More...
 
class  EPaperUC8279
 Monochrome e-paper displays using the UltraChip UC8279 controller, such as the Xteink X4 Pro. More...
 
class  EPaperUltraChip
 Shared base for the UltraChip UC81xx mono controllers (UC8179, UC8279). More...
 
class  EpaperWaveshare
 An epaper display that needs LUTs to be sent to it. More...
 
class  EpaperWaveshareB
 Waveshare (B) series BWR e-paper displays using SSD1680-compatible controllers. More...
 
class  EPaperWaveshareBWR
 Waveshare 3-color e-paper displays (UC8179 and UC8151D controllers). More...
 
class  EPaperWeAct3C
 WeAct 3-color e-paper displays (SSD1683 controller). More...
 

Enumerations

enum class  EPaperState : uint8_t {
  IDLE , UPDATE , RESET , RESET_END ,
  SHOULD_WAIT , INITIALISE , TRANSFER_DATA , POWER_ON ,
  REFRESH_SCREEN , POWER_OFF , DEEP_SLEEP
}
 
enum class  Inkplate2Color : uint8_t { BLACK , WHITE , RED }
 
enum  Inkplate6ColorHex : uint8_t {
  BLACK = 0 , WHITE = 1 , GREEN = 2 , BLUE = 3 ,
  RED = 4 , YELLOW = 5 , ORANGE = 6
}
 
enum  JD79660Color : uint8_t { BLACK = 0 , WHITE = 1 , YELLOW = 5 , RED = 4 }
 Pixel color as 2bpp. More...
 
enum  E6Color : uint8_t {
  BLACK = 0 , WHITE = 1 , YELLOW = 5 , RED = 4 ,
  BLUE = 3 , GREEN = 2
}
 
enum class  BwrState : uint8_t {
  BWR_BLACK , BWR_WHITE , BWR_RED , BWR_BLACK ,
  BWR_WHITE , BWR_RED
}
 
enum class  BwrState : uint8_t {
  BWR_BLACK , BWR_WHITE , BWR_RED , BWR_BLACK ,
  BWR_WHITE , BWR_RED
}
 

Functions

constexpr uint8_t color_to_gray4 (Color color)
 Map RGB color to one of 4 discrete gray levels (2 bits per pixel)
 
template<typename NATIVE_COLOR >
constexpr NATIVE_COLOR color_to_bwyr (Color color, NATIVE_COLOR hw_black, NATIVE_COLOR hw_white, NATIVE_COLOR hw_yellow, NATIVE_COLOR hw_red)
 Map RGB color to discrete BWYR hex 4 color key.
 
template<typename NATIVE_COLOR >
constexpr NATIVE_COLOR color_to_bwr (Color color, NATIVE_COLOR hw_black, NATIVE_COLOR hw_white, NATIVE_COLOR hw_red)
 Map RGB color to discrete BWR (black/white/red) 3 color key.
 
template<typename NATIVE_COLOR >
constexpr NATIVE_COLOR color_to_bwyrgb (Color color, NATIVE_COLOR hw_black, NATIVE_COLOR hw_white, NATIVE_COLOR hw_yellow, NATIVE_COLOR hw_red, NATIVE_COLOR hw_green, NATIVE_COLOR hw_blue)
 Map RGB color to discrete BWYRGB hex 6 color key.
 
template<typename NATIVE_COLOR >
constexpr NATIVE_COLOR color_to_bwyrgbo (Color color, NATIVE_COLOR hw_black, NATIVE_COLOR hw_white, NATIVE_COLOR hw_yellow, NATIVE_COLOR hw_red, NATIVE_COLOR hw_green, NATIVE_COLOR hw_blue, NATIVE_COLOR hw_orange)
 Map RGB color to discrete BWYRGBO hex 7 color key.
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.4bpp")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.inkplate2")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.inkplate6color")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.jd79660")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.mono")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.6c")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.ssd1677_gray4")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.ssd1681")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.t133a01")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.uc8179")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.uc8279")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.ultrachip")
 
 ESPHOME_LOG_TAG (TAG, "epaper_spi.waveshare")
 
 ESPHOME_LOG_TAG (TAG, "epaper_weact_3c")
 

Enumeration Type Documentation

◆ BwrState [1/2]

enum class esphome::epaper_spi::BwrState : uint8_t
strong
Enumerator
BWR_BLACK 
BWR_WHITE 
BWR_RED 
BWR_BLACK 
BWR_WHITE 
BWR_RED 

Definition at line 8 of file epaper_waveshare_bwr.cpp.

◆ BwrState [2/2]

enum class esphome::epaper_spi::BwrState : uint8_t
strong
Enumerator
BWR_BLACK 
BWR_WHITE 
BWR_RED 
BWR_BLACK 
BWR_WHITE 
BWR_RED 

Definition at line 8 of file epaper_weact_3c.cpp.

◆ E6Color

Enumerator
BLACK 
WHITE 
YELLOW 
RED 
BLUE 
GREEN 

Definition at line 10 of file epaper_spi_spectra_e6.cpp.

◆ EPaperState

enum class esphome::epaper_spi::EPaperState : uint8_t
strong
Enumerator
IDLE 
UPDATE 
RESET 
RESET_END 
SHOULD_WAIT 
INITIALISE 
TRANSFER_DATA 
POWER_ON 
REFRESH_SCREEN 
POWER_OFF 
DEEP_SLEEP 

Definition at line 13 of file epaper_spi.h.

◆ Inkplate2Color

enum class esphome::epaper_spi::Inkplate2Color : uint8_t
strong
Enumerator
BLACK 
WHITE 
RED 

Definition at line 12 of file epaper_spi_inkplate2.cpp.

◆ Inkplate6ColorHex

Enumerator
BLACK 
WHITE 
GREEN 
BLUE 
RED 
YELLOW 
ORANGE 

Definition at line 13 of file epaper_spi_inkplate6color.cpp.

◆ JD79660Color

Pixel color as 2bpp.

Must match IC LUT values.

Enumerator
BLACK 
WHITE 
YELLOW 
RED 

Definition at line 10 of file epaper_spi_jd79660.cpp.

Function Documentation

◆ color_to_bwr()

template<typename NATIVE_COLOR >
NATIVE_COLOR esphome::epaper_spi::color_to_bwr ( Color color,
NATIVE_COLOR hw_black,
NATIVE_COLOR hw_white,
NATIVE_COLOR hw_red )
constexpr

Map RGB color to discrete BWR (black/white/red) 3 color key.

Convenience wrapper over color_to_bwyr for panels without a yellow ink; the yellow corner is folded into white.

Template Parameters
NATIVE_COLORType of native hardware color values
Parameters
colorRGB color to convert from
hw_blackNative value for black
hw_whiteNative value for white
hw_redNative value for red
Returns
Converted native hardware color value

Definition at line 92 of file colorconv.h.

◆ color_to_bwyr()

template<typename NATIVE_COLOR >
NATIVE_COLOR esphome::epaper_spi::color_to_bwyr ( Color color,
NATIVE_COLOR hw_black,
NATIVE_COLOR hw_white,
NATIVE_COLOR hw_yellow,
NATIVE_COLOR hw_red )
constexpr

Map RGB color to discrete BWYR hex 4 color key.

Template Parameters
NATIVE_COLORType of native hardware color values
Parameters
colorRGB color to convert from
hw_blackNative value for black
hw_whiteNative value for white
hw_yellowNative value for yellow
hw_redNative value for red
Returns
Converted native hardware color value

Definition at line 47 of file colorconv.h.

◆ color_to_bwyrgb()

template<typename NATIVE_COLOR >
NATIVE_COLOR esphome::epaper_spi::color_to_bwyrgb ( Color color,
NATIVE_COLOR hw_black,
NATIVE_COLOR hw_white,
NATIVE_COLOR hw_yellow,
NATIVE_COLOR hw_red,
NATIVE_COLOR hw_green,
NATIVE_COLOR hw_blue )
constexpr

Map RGB color to discrete BWYRGB hex 6 color key.

Divides the RGB cube into 8 corners by which components are "on" (over 128), same as color_to_bwyr, but also resolves the green and blue corners instead of folding them into white/black.

Template Parameters
NATIVE_COLORType of native hardware color values
Parameters
colorRGB color to convert from
hw_blackNative value for black
hw_whiteNative value for white
hw_yellowNative value for yellow
hw_redNative value for red
hw_greenNative value for green
hw_blueNative value for blue
Returns
Converted native hardware color value

Definition at line 113 of file colorconv.h.

◆ color_to_bwyrgbo()

template<typename NATIVE_COLOR >
NATIVE_COLOR esphome::epaper_spi::color_to_bwyrgbo ( Color color,
NATIVE_COLOR hw_black,
NATIVE_COLOR hw_white,
NATIVE_COLOR hw_yellow,
NATIVE_COLOR hw_red,
NATIVE_COLOR hw_green,
NATIVE_COLOR hw_blue,
NATIVE_COLOR hw_orange )
constexpr

Map RGB color to discrete BWYRGBO hex 7 color key.

Same corner logic as color_to_bwyrgb, except the red/yellow corner is split three ways instead of two, for panels with a dedicated orange ink.

Template Parameters
NATIVE_COLORType of native hardware color values
Parameters
colorRGB color to convert from
hw_blackNative value for black
hw_whiteNative value for white
hw_yellowNative value for yellow
hw_redNative value for red
hw_greenNative value for green
hw_blueNative value for blue
hw_orangeNative value for orange
Returns
Converted native hardware color value

Definition at line 171 of file colorconv.h.

◆ color_to_gray4()

uint8_t esphome::epaper_spi::color_to_gray4 ( Color color)
constexpr

Map RGB color to one of 4 discrete gray levels (2 bits per pixel)

Parameters
colorRGB color to convert from
Returns
Gray level: 0 = black, 3 = white

Definition at line 31 of file colorconv.h.

◆ ESPHOME_LOG_TAG() [1/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi"  )

◆ ESPHOME_LOG_TAG() [2/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.4bpp"  )

◆ ESPHOME_LOG_TAG() [3/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.6c"  )

◆ ESPHOME_LOG_TAG() [4/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.inkplate2"  )

◆ ESPHOME_LOG_TAG() [5/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.inkplate6color"  )

◆ ESPHOME_LOG_TAG() [6/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.jd79660"  )

◆ ESPHOME_LOG_TAG() [7/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.mono"  )

◆ ESPHOME_LOG_TAG() [8/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.ssd1677_gray4"  )

◆ ESPHOME_LOG_TAG() [9/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.ssd1681"  )

◆ ESPHOME_LOG_TAG() [10/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.t133a01"  )

◆ ESPHOME_LOG_TAG() [11/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.uc8179"  )

◆ ESPHOME_LOG_TAG() [12/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.uc8279"  )

◆ ESPHOME_LOG_TAG() [13/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.ultrachip"  )

◆ ESPHOME_LOG_TAG() [14/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_spi.waveshare"  )

◆ ESPHOME_LOG_TAG() [15/15]

esphome::epaper_spi::ESPHOME_LOG_TAG ( TAG ,
"epaper_weact_3c"  )