idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
idfxx::epaper Namespace Reference

ePaper display driver classes. More...

Classes

class  gray4_framebuffer
 In-memory framebuffer for 4-level grayscale ePaper displays. More...
 
class  mono_framebuffer
 In-memory framebuffer for monochrome (1 bit per pixel) ePaper displays. More...
 
class  panel
 Abstract base class for ePaper display panels. More...
 
class  ssd1680
 SSD1680 ePaper display controller driver. More...
 
class  uc8179
 UC8179 ePaper display controller driver. More...
 

Enumerations

enum class  gray4 : uint8_t {
  white = 0 ,
  light = 1 ,
  dark = 2 ,
  black = 3
}
 A 4-level grayscale pixel value. More...
 
enum class  refresh_mode : uint8_t {
  full ,
  fast ,
  partial
}
 Refresh style for panel::refresh. More...
 
enum class  color_mode : uint8_t {
  mono ,
  gray4
}
 Pixel format the panel is operating in. More...
 

Detailed Description

ePaper display driver classes.

Enumeration Type Documentation

◆ color_mode

enum class idfxx::epaper::color_mode : uint8_t
strong

Pixel format the panel is operating in.

Selected with panel::set_color_mode; determines which framebuffer type panel::write accepts.

Enumerator
mono 

1 bit per pixel black-and-white (mono_framebuffer).

gray4 

2 bits per pixel, 4 gray levels (gray4_framebuffer).

Definition at line 81 of file panel.hpp.

◆ gray4

enum class idfxx::epaper::gray4 : uint8_t
strong

A 4-level grayscale pixel value.

The value type written by gray4_framebuffer::set_pixel. Levels run from white paper to full black ink; a value-initialized gray4{} is white, so generic drawing code that clears with a value-initialized pixel (e.g. idfxx::gfx::canvas::clear) clears ePaper surfaces to blank paper.

Enumerator
white 

Blank paper (no ink).

light 

Light gray.

dark 

Dark gray.

black 

Full black ink.

Definition at line 30 of file color.hpp.

◆ refresh_mode

enum class idfxx::epaper::refresh_mode : uint8_t
strong

Refresh style for panel::refresh.

ePaper controllers offer several waveform families trading update speed and flicker against image quality and ghosting.

Enumerator
full 

Full update with the controller's highest-quality waveform: the panel flashes through inverse images before settling.

Slowest, but clears ghosting completely.

fast 

Full-screen update with a shortened waveform: much faster than refresh_mode::full and still updates every pixel, at some cost in contrast and ghosting.

Not supported by every driver.

partial 

Differential update: only pixels that changed since the previous refresh flip, without the full-refresh flash.

Fastest and flicker-free, but accumulates ghosting — issue a refresh_mode::full refresh periodically to clean the panel.

Definition at line 58 of file panel.hpp.