Paperd.Ink Library 0.0.5
Library for interacting with Paperd.Ink devices.
Loading...
Searching...
No Matches
GxEPD2_EPD Class Referenceabstract

#include <GxEPD2_EPD.h>

Inheritance diagram for GxEPD2_EPD:
GxEPD2_102 GxEPD2_1160_T91 GxEPD2_1248 GxEPD2_1248c GxEPD2_150_BN GxEPD2_154 GxEPD2_154_D67 GxEPD2_154_M09 GxEPD2_154_M10 GxEPD2_154_T8 GxEPD2_154_Z90c GxEPD2_154c GxEPD2_213 GxEPD2_213_B72 GxEPD2_213_B73 GxEPD2_213_B74 GxEPD2_213_BN GxEPD2_213_M21 GxEPD2_213_T5D GxEPD2_213_Z19c GxEPD2_213_Z98c GxEPD2_213_flex GxEPD2_213c GxEPD2_260 GxEPD2_260_M01 GxEPD2_266_BN GxEPD2_266c GxEPD2_270 GxEPD2_270_T91 GxEPD2_270c GxEPD2_290 GxEPD2_290_BS GxEPD2_290_C90c GxEPD2_290_I6FD GxEPD2_290_M06 GxEPD2_290_T5 GxEPD2_290_T5D GxEPD2_290_T94 GxEPD2_290_T94_V2 GxEPD2_290_Z13c GxEPD2_290c GxEPD2_370_TC1 GxEPD2_371 GxEPD2_420 GxEPD2_420_M01 GxEPD2_420c GxEPD2_420c_Z21 GxEPD2_565c GxEPD2_583 GxEPD2_583_T8 GxEPD2_583c GxEPD2_583c_Z83 GxEPD2_750 GxEPD2_750_T7 GxEPD2_750c GxEPD2_750c_Z08 GxEPD2_750c_Z90 GxEPD2_it103_1872x1404 GxEPD2_it60 GxEPD2_it60_1448x1072 GxEPD2_it78_1872x1404

Public Member Functions

 GxEPD2_EPD (int16_t cs, int16_t dc, int16_t rst, int16_t busy, int16_t busy_level, uint32_t busy_timeout, uint16_t w, uint16_t h, GxEPD2::Panel p, bool c, bool pu, bool fpu)
 
virtual void init (uint32_t serial_diag_bitrate=0)
 
virtual void init (uint32_t serial_diag_bitrate, bool initial, uint16_t reset_duration=10, bool pulldown_rst_mode=false)
 
virtual void clearScreen (uint8_t value)=0
 
virtual void writeScreenBuffer (uint8_t value)=0
 
virtual void writeImage (const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)=0
 
virtual void writeImageForFullRefresh (const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
virtual void writeImagePart (const uint8_t bitmap[], int16_t x_part, int16_t y_part, int16_t w_bitmap, int16_t h_bitmap, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)=0
 
virtual void writeScreenBufferAgain (uint8_t value=0xFF)
 
virtual void writeImageAgain (const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
virtual void writeImagePartAgain (const uint8_t bitmap[], int16_t x_part, int16_t y_part, int16_t w_bitmap, int16_t h_bitmap, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
virtual void refresh (bool partial_update_mode=false)=0
 
virtual void refresh (int16_t x, int16_t y, int16_t w, int16_t h)=0
 
virtual void powerOff ()=0
 
virtual void hibernate ()=0
 
virtual void setPaged ()
 
void setBusyCallback (void(*busyCallback)(const void *), const void *busy_callback_parameter=0)
 
void selectSPI (SPIClass &spi, SPISettings spi_settings)
 

Static Public Member Functions

static uint16_t gx_uint16_min (uint16_t a, uint16_t b)
 
static uint16_t gx_uint16_max (uint16_t a, uint16_t b)
 

Public Attributes

const uint16_t WIDTH
 
const uint16_t HEIGHT
 
const GxEPD2::Panel panel
 
const bool hasColor
 
const bool hasPartialUpdate
 
const bool hasFastPartialUpdate
 

Protected Member Functions

void _reset ()
 
void _waitWhileBusy (const char *comment=0, uint16_t busy_time=5000)
 
void _writeCommand (uint8_t c)
 
void _writeData (uint8_t d)
 
void _writeData (const uint8_t *data, uint16_t n)
 
void _writeDataPGM (const uint8_t *data, uint16_t n, int16_t fill_with_zeroes=0)
 
void _writeDataPGM_sCS (const uint8_t *data, uint16_t n, int16_t fill_with_zeroes=0)
 
void _writeCommandData (const uint8_t *pCommandData, uint8_t datalen)
 
void _writeCommandDataPGM (const uint8_t *pCommandData, uint8_t datalen)
 
void _startTransfer ()
 
void _transfer (uint8_t value)
 
void _endTransfer ()
 

Protected Attributes

int16_t _cs
 
int16_t _dc
 
int16_t _rst
 
int16_t _busy
 
int16_t _busy_level
 
uint32_t _busy_timeout
 
bool _diag_enabled
 
bool _pulldown_rst_mode
 
SPIClass * _pSPIx
 
SPISettings _spi_settings
 
bool _initial_write
 
bool _initial_refresh
 
bool _power_is_on
 
bool _using_partial_mode
 
bool _hibernating
 
uint16_t _reset_duration
 
void(* _busy_callback )(const void *)
 
const void * _busy_callback_parameter
 

Detailed Description

Definition at line 23 of file GxEPD2_EPD.h.

Constructor & Destructor Documentation

◆ GxEPD2_EPD()

GxEPD2_EPD::GxEPD2_EPD ( int16_t cs,
int16_t dc,
int16_t rst,
int16_t busy,
int16_t busy_level,
uint32_t busy_timeout,
uint16_t w,
uint16_t h,
GxEPD2::Panel p,
bool c,
bool pu,
bool fpu )

Definition at line 20 of file GxEPD2_EPD.cpp.

21 :
23 _cs(cs), _dc(dc), _rst(rst), _busy(busy), _busy_level(busy_level), _busy_timeout(busy_timeout), _diag_enabled(false),
24 _pSPIx(&SPI), _spi_settings(4000000, MSBFIRST, SPI_MODE0)
25{
26 _initial_write = true;
27 _initial_refresh = true;
28 _power_is_on = false;
29 _using_partial_mode = false;
30 _hibernating = false;
31 _reset_duration = 10;
34}
bool _diag_enabled
Definition GxEPD2_EPD.h:114
const uint16_t HEIGHT
Definition GxEPD2_EPD.h:28
int16_t _busy_level
Definition GxEPD2_EPD.h:112
bool _using_partial_mode
Definition GxEPD2_EPD.h:118
void(* _busy_callback)(const void *)
Definition GxEPD2_EPD.h:120
bool _power_is_on
Definition GxEPD2_EPD.h:118
bool _initial_refresh
Definition GxEPD2_EPD.h:117
const uint16_t WIDTH
Definition GxEPD2_EPD.h:27
uint16_t _reset_duration
Definition GxEPD2_EPD.h:119
int16_t _dc
Definition GxEPD2_EPD.h:112
const bool hasColor
Definition GxEPD2_EPD.h:30
bool _initial_write
Definition GxEPD2_EPD.h:117
const void * _busy_callback_parameter
Definition GxEPD2_EPD.h:121
const bool hasFastPartialUpdate
Definition GxEPD2_EPD.h:32
uint32_t _busy_timeout
Definition GxEPD2_EPD.h:113
int16_t _rst
Definition GxEPD2_EPD.h:112
const GxEPD2::Panel panel
Definition GxEPD2_EPD.h:29
SPISettings _spi_settings
Definition GxEPD2_EPD.h:116
int16_t _busy
Definition GxEPD2_EPD.h:112
bool _hibernating
Definition GxEPD2_EPD.h:118
SPIClass * _pSPIx
Definition GxEPD2_EPD.h:115
const bool hasPartialUpdate
Definition GxEPD2_EPD.h:31
int16_t _cs
Definition GxEPD2_EPD.h:112

Member Function Documentation

◆ _endTransfer()

void GxEPD2_EPD::_endTransfer ( )
protected

Definition at line 266 of file GxEPD2_EPD.cpp.

267{
268 if (_cs >= 0) digitalWrite(_cs, HIGH);
269 _pSPIx->endTransaction();
270}

◆ _reset()

void GxEPD2_EPD::_reset ( void )
protected

Definition at line 93 of file GxEPD2_EPD.cpp.

94{
95 if (_rst >= 0)
96 {
98 {
99 digitalWrite(_rst, LOW);
100 pinMode(_rst, OUTPUT);
101 delay(_reset_duration);
102 pinMode(_rst, INPUT_PULLUP);
103 delay(_reset_duration > 10 ? _reset_duration : 10);
104 }
105 else
106 {
107 digitalWrite(_rst, HIGH); // NEEDED for Waveshare "clever" reset circuit, power controller before reset pulse
108 pinMode(_rst, OUTPUT);
109 delay(10); // NEEDED for Waveshare "clever" reset circuit, at least delay(2);
110 digitalWrite(_rst, LOW);
111 delay(_reset_duration);
112 digitalWrite(_rst, HIGH);
113 delay(_reset_duration > 10 ? _reset_duration : 10);
114 }
115 _hibernating = false;
116 }
117}
bool _pulldown_rst_mode
Definition GxEPD2_EPD.h:114

◆ _startTransfer()

void GxEPD2_EPD::_startTransfer ( )
protected

Definition at line 255 of file GxEPD2_EPD.cpp.

256{
257 _pSPIx->beginTransaction(_spi_settings);
258 if (_cs >= 0) digitalWrite(_cs, LOW);
259}

◆ _transfer()

void GxEPD2_EPD::_transfer ( uint8_t value)
protected

Definition at line 261 of file GxEPD2_EPD.cpp.

262{
263 _pSPIx->transfer(value);
264}

◆ _waitWhileBusy()

void GxEPD2_EPD::_waitWhileBusy ( const char * comment = 0,
uint16_t busy_time = 5000 )
protected

Definition at line 119 of file GxEPD2_EPD.cpp.

120{
121 if (_busy >= 0)
122 {
123 delay(1); // add some margin to become active
124 unsigned long start = micros();
125 while (1)
126 {
127 if (digitalRead(_busy) != _busy_level) break;
129 else delay(1);
130 if (digitalRead(_busy) != _busy_level) break;
131 if (micros() - start > _busy_timeout)
132 {
133 Serial.println("Busy Timeout!");
134 break;
135 }
136#if defined(ESP8266) || defined(ESP32)
137 yield(); // avoid wdt
138#endif
139 }
140 if (comment)
141 {
142#if !defined(DISABLE_DIAGNOSTIC_OUTPUT)
143 if (_diag_enabled)
144 {
145 unsigned long elapsed = micros() - start;
146 Serial.print(comment);
147 Serial.print(" : ");
148 Serial.println(elapsed);
149 }
150#endif
151 }
152 (void) start;
153 }
154 else delay(busy_time);
155}

◆ _writeCommand()

void GxEPD2_EPD::_writeCommand ( uint8_t c)
protected

Definition at line 157 of file GxEPD2_EPD.cpp.

158{
159 _pSPIx->beginTransaction(_spi_settings);
160 if (_dc >= 0) digitalWrite(_dc, LOW);
161 if (_cs >= 0) digitalWrite(_cs, LOW);
162 _pSPIx->transfer(c);
163 if (_cs >= 0) digitalWrite(_cs, HIGH);
164 if (_dc >= 0) digitalWrite(_dc, HIGH);
165 _pSPIx->endTransaction();
166}

◆ _writeCommandData()

void GxEPD2_EPD::_writeCommandData ( const uint8_t * pCommandData,
uint8_t datalen )
protected

Definition at line 225 of file GxEPD2_EPD.cpp.

226{
227 _pSPIx->beginTransaction(_spi_settings);
228 if (_dc >= 0) digitalWrite(_dc, LOW);
229 if (_cs >= 0) digitalWrite(_cs, LOW);
230 _pSPIx->transfer(*pCommandData++);
231 if (_dc >= 0) digitalWrite(_dc, HIGH);
232 for (uint8_t i = 0; i < datalen - 1; i++) // sub the command
233 {
234 _pSPIx->transfer(*pCommandData++);
235 }
236 if (_cs >= 0) digitalWrite(_cs, HIGH);
237 _pSPIx->endTransaction();
238}

◆ _writeCommandDataPGM()

void GxEPD2_EPD::_writeCommandDataPGM ( const uint8_t * pCommandData,
uint8_t datalen )
protected

Definition at line 240 of file GxEPD2_EPD.cpp.

241{
242 _pSPIx->beginTransaction(_spi_settings);
243 if (_dc >= 0) digitalWrite(_dc, LOW);
244 if (_cs >= 0) digitalWrite(_cs, LOW);
245 _pSPIx->transfer(pgm_read_byte(&*pCommandData++));
246 if (_dc >= 0) digitalWrite(_dc, HIGH);
247 for (uint8_t i = 0; i < datalen - 1; i++) // sub the command
248 {
249 _pSPIx->transfer(pgm_read_byte(&*pCommandData++));
250 }
251 if (_cs >= 0) digitalWrite(_cs, HIGH);
252 _pSPIx->endTransaction();
253}

◆ _writeData() [1/2]

void GxEPD2_EPD::_writeData ( const uint8_t * data,
uint16_t n )
protected

Definition at line 177 of file GxEPD2_EPD.cpp.

178{
179 _pSPIx->beginTransaction(_spi_settings);
180 if (_cs >= 0) digitalWrite(_cs, LOW);
181 for (uint16_t i = 0; i < n; i++)
182 {
183 _pSPIx->transfer(*data++);
184 }
185 if (_cs >= 0) digitalWrite(_cs, HIGH);
186 _pSPIx->endTransaction();
187}

◆ _writeData() [2/2]

void GxEPD2_EPD::_writeData ( uint8_t d)
protected

Definition at line 168 of file GxEPD2_EPD.cpp.

169{
170 _pSPIx->beginTransaction(_spi_settings);
171 if (_cs >= 0) digitalWrite(_cs, LOW);
172 _pSPIx->transfer(d);
173 if (_cs >= 0) digitalWrite(_cs, HIGH);
174 _pSPIx->endTransaction();
175}

◆ _writeDataPGM()

void GxEPD2_EPD::_writeDataPGM ( const uint8_t * data,
uint16_t n,
int16_t fill_with_zeroes = 0 )
protected

Definition at line 189 of file GxEPD2_EPD.cpp.

190{
191 _pSPIx->beginTransaction(_spi_settings);
192 if (_cs >= 0) digitalWrite(_cs, LOW);
193 for (uint16_t i = 0; i < n; i++)
194 {
195 _pSPIx->transfer(pgm_read_byte(&*data++));
196 }
197 while (fill_with_zeroes > 0)
198 {
199 _pSPIx->transfer(0x00);
200 fill_with_zeroes--;
201 }
202 if (_cs >= 0) digitalWrite(_cs, HIGH);
203 _pSPIx->endTransaction();
204}

◆ _writeDataPGM_sCS()

void GxEPD2_EPD::_writeDataPGM_sCS ( const uint8_t * data,
uint16_t n,
int16_t fill_with_zeroes = 0 )
protected

Definition at line 206 of file GxEPD2_EPD.cpp.

207{
208 _pSPIx->beginTransaction(_spi_settings);
209 for (uint8_t i = 0; i < n; i++)
210 {
211 if (_cs >= 0) digitalWrite(_cs, LOW);
212 _pSPIx->transfer(pgm_read_byte(&*data++));
213 if (_cs >= 0) digitalWrite(_cs, HIGH);
214 }
215 while (fill_with_zeroes > 0)
216 {
217 if (_cs >= 0) digitalWrite(_cs, LOW);
218 _pSPIx->transfer(0x00);
219 fill_with_zeroes--;
220 if (_cs >= 0) digitalWrite(_cs, HIGH);
221 }
222 _pSPIx->endTransaction();
223}

◆ clearScreen()

◆ gx_uint16_max()

static uint16_t GxEPD2_EPD::gx_uint16_max ( uint16_t a,
uint16_t b )
inlinestatic

Definition at line 93 of file GxEPD2_EPD.h.

94 {
95 return (a > b ? a : b);
96 };

◆ gx_uint16_min()

static uint16_t GxEPD2_EPD::gx_uint16_min ( uint16_t a,
uint16_t b )
inlinestatic

Definition at line 89 of file GxEPD2_EPD.h.

90 {
91 return (a < b ? a : b);
92 };

◆ hibernate()

◆ init() [1/2]

void GxEPD2_EPD::init ( uint32_t serial_diag_bitrate,
bool initial,
uint16_t reset_duration = 10,
bool pulldown_rst_mode = false )
virtual

Reimplemented in GxEPD2_1248, GxEPD2_1248c, GxEPD2_154c, GxEPD2_it103_1872x1404, GxEPD2_it60, GxEPD2_it60_1448x1072, and GxEPD2_it78_1872x1404.

Definition at line 41 of file GxEPD2_EPD.cpp.

42{
43 _initial_write = initial;
44 _initial_refresh = initial;
45 _pulldown_rst_mode = pulldown_rst_mode;
46 _power_is_on = false;
47 _using_partial_mode = false;
48 _hibernating = false;
49 _reset_duration = reset_duration;
50 if (serial_diag_bitrate > 0)
51 {
52 Serial.begin(serial_diag_bitrate);
53 _diag_enabled = true;
54 }
55 if (_cs >= 0)
56 {
57 digitalWrite(_cs, HIGH);
58 pinMode(_cs, OUTPUT);
59 }
60 if (_dc >= 0)
61 {
62 digitalWrite(_dc, HIGH);
63 pinMode(_dc, OUTPUT);
64 }
65 _reset();
66 if (_busy >= 0)
67 {
68 pinMode(_busy, INPUT);
69 }
70 _pSPIx->begin();
71 if (_busy == MISO) // may be overridden, to be verified
72 {
73 pinMode(_busy, INPUT);
74 }
75 if (_dc == MISO) // may be overridden, TTGO T5 V2.66
76 {
77 pinMode(_dc, OUTPUT);
78 }
79}
void _reset()

◆ init() [2/2]

void GxEPD2_EPD::init ( uint32_t serial_diag_bitrate = 0)
virtual

Reimplemented in GxEPD2_1248, GxEPD2_1248c, GxEPD2_154c, GxEPD2_it103_1872x1404, GxEPD2_it60, GxEPD2_it60_1448x1072, and GxEPD2_it78_1872x1404.

Definition at line 36 of file GxEPD2_EPD.cpp.

37{
38 init(serial_diag_bitrate, true, 10, false);
39}
virtual void init(uint32_t serial_diag_bitrate=0)

◆ powerOff()

◆ refresh() [1/2]

◆ refresh() [2/2]

◆ selectSPI()

void GxEPD2_EPD::selectSPI ( SPIClass & spi,
SPISettings spi_settings )

Definition at line 87 of file GxEPD2_EPD.cpp.

88{
89 _pSPIx = &spi;
90 _spi_settings = spi_settings;
91}

◆ setBusyCallback()

void GxEPD2_EPD::setBusyCallback ( void(* busyCallback )(const void *),
const void * busy_callback_parameter = 0 )

Definition at line 81 of file GxEPD2_EPD.cpp.

82{
83 _busy_callback = busyCallback;
84 _busy_callback_parameter = busy_callback_parameter;
85}

◆ setPaged()

virtual void GxEPD2_EPD::setPaged ( )
inlinevirtual

Reimplemented in GxEPD2_154c, and GxEPD2_565c.

Definition at line 86 of file GxEPD2_EPD.h.

86{}; // for GxEPD2_154c paged workaround

◆ writeImage()

◆ writeImageAgain()

virtual void GxEPD2_EPD::writeImageAgain ( const uint8_t bitmap[],
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )
inlinevirtual

Reimplemented in GxEPD2_1160_T91, GxEPD2_1248, GxEPD2_150_BN, GxEPD2_154_D67, GxEPD2_154_M09, GxEPD2_213_B72, GxEPD2_213_B73, GxEPD2_213_B74, GxEPD2_213_BN, GxEPD2_213_T5D, GxEPD2_266_BN, GxEPD2_270, GxEPD2_270_T91, GxEPD2_290_BS, GxEPD2_290_I6FD, GxEPD2_290_T5D, GxEPD2_290_T94, GxEPD2_290_T94_V2, GxEPD2_370_TC1, GxEPD2_371, GxEPD2_583_T8, and GxEPD2_750_T7.

Definition at line 62 of file GxEPD2_EPD.h.

63 {
64 // most controllers with differential update do switch buffers on refresh, can use:
65 writeImage(bitmap, x, y, w, h, invert, mirror_y, pgm);
66 }
virtual void writeImage(const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)=0

◆ writeImageForFullRefresh()

virtual void GxEPD2_EPD::writeImageForFullRefresh ( const uint8_t bitmap[],
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )
inlinevirtual

Reimplemented in GxEPD2_102, GxEPD2_1160_T91, GxEPD2_150_BN, GxEPD2_154_D67, GxEPD2_213_B74, GxEPD2_213_BN, GxEPD2_213_T5D, GxEPD2_266_BN, GxEPD2_270_T91, GxEPD2_290_BS, GxEPD2_290_I6FD, GxEPD2_290_T5D, GxEPD2_290_T94, GxEPD2_290_T94_V2, and GxEPD2_370_TC1.

Definition at line 43 of file GxEPD2_EPD.h.

44 {
45 // writeImage is independent from refresh mode for most controllers, exception e.g. SSD1681
46 writeImage(bitmap, x, y, w, h, invert, mirror_y, pgm);
47 }

◆ writeImagePart()

◆ writeImagePartAgain()

virtual void GxEPD2_EPD::writeImagePartAgain ( const uint8_t bitmap[],
int16_t x_part,
int16_t y_part,
int16_t w_bitmap,
int16_t h_bitmap,
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )
inlinevirtual

Reimplemented in GxEPD2_1160_T91, GxEPD2_1248, GxEPD2_150_BN, GxEPD2_154_D67, GxEPD2_154_M09, GxEPD2_213_B72, GxEPD2_213_B73, GxEPD2_213_B74, GxEPD2_213_BN, GxEPD2_213_T5D, GxEPD2_266_BN, GxEPD2_270, GxEPD2_270_T91, GxEPD2_290_BS, GxEPD2_290_I6FD, GxEPD2_290_T5D, GxEPD2_290_T94, GxEPD2_290_T94_V2, GxEPD2_370_TC1, GxEPD2_371, GxEPD2_583_T8, and GxEPD2_750_T7.

Definition at line 67 of file GxEPD2_EPD.h.

69 {
70 // most controllers with differential update do switch buffers on refresh, can use:
71 writeImagePart(bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
72 }
virtual void writeImagePart(const uint8_t bitmap[], int16_t x_part, int16_t y_part, int16_t w_bitmap, int16_t h_bitmap, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)=0

◆ writeScreenBuffer()

◆ writeScreenBufferAgain()

virtual void GxEPD2_EPD::writeScreenBufferAgain ( uint8_t value = 0xFF)
inlinevirtual

Reimplemented in GxEPD2_1160_T91, GxEPD2_1248, GxEPD2_150_BN, GxEPD2_154_D67, GxEPD2_154_M09, GxEPD2_154_M10, GxEPD2_213_B72, GxEPD2_213_B73, GxEPD2_213_B74, GxEPD2_213_BN, GxEPD2_213_T5D, GxEPD2_266_BN, GxEPD2_270, GxEPD2_270_T91, GxEPD2_290_BS, GxEPD2_290_I6FD, GxEPD2_290_T5D, GxEPD2_290_T94, GxEPD2_290_T94_V2, and GxEPD2_370_TC1.

Definition at line 57 of file GxEPD2_EPD.h.

58 {
59 // most controllers with differential update do switch buffers on refresh, can use:
60 writeScreenBuffer(value);
61 }
virtual void writeScreenBuffer(uint8_t value)=0

Member Data Documentation

◆ _busy

int16_t GxEPD2_EPD::_busy
protected

Definition at line 112 of file GxEPD2_EPD.h.

◆ _busy_callback

void(* GxEPD2_EPD::_busy_callback) (const void *)
protected

Definition at line 120 of file GxEPD2_EPD.h.

◆ _busy_callback_parameter

const void* GxEPD2_EPD::_busy_callback_parameter
protected

Definition at line 121 of file GxEPD2_EPD.h.

◆ _busy_level

int16_t GxEPD2_EPD::_busy_level
protected

Definition at line 112 of file GxEPD2_EPD.h.

◆ _busy_timeout

uint32_t GxEPD2_EPD::_busy_timeout
protected

Definition at line 113 of file GxEPD2_EPD.h.

◆ _cs

int16_t GxEPD2_EPD::_cs
protected

Definition at line 112 of file GxEPD2_EPD.h.

◆ _dc

int16_t GxEPD2_EPD::_dc
protected

Definition at line 112 of file GxEPD2_EPD.h.

◆ _diag_enabled

bool GxEPD2_EPD::_diag_enabled
protected

Definition at line 114 of file GxEPD2_EPD.h.

◆ _hibernating

bool GxEPD2_EPD::_hibernating
protected

Definition at line 118 of file GxEPD2_EPD.h.

◆ _initial_refresh

bool GxEPD2_EPD::_initial_refresh
protected

Definition at line 117 of file GxEPD2_EPD.h.

◆ _initial_write

bool GxEPD2_EPD::_initial_write
protected

Definition at line 117 of file GxEPD2_EPD.h.

◆ _power_is_on

bool GxEPD2_EPD::_power_is_on
protected

Definition at line 118 of file GxEPD2_EPD.h.

◆ _pSPIx

SPIClass* GxEPD2_EPD::_pSPIx
protected

Definition at line 115 of file GxEPD2_EPD.h.

◆ _pulldown_rst_mode

bool GxEPD2_EPD::_pulldown_rst_mode
protected

Definition at line 114 of file GxEPD2_EPD.h.

◆ _reset_duration

uint16_t GxEPD2_EPD::_reset_duration
protected

Definition at line 119 of file GxEPD2_EPD.h.

◆ _rst

int16_t GxEPD2_EPD::_rst
protected

Definition at line 112 of file GxEPD2_EPD.h.

◆ _spi_settings

SPISettings GxEPD2_EPD::_spi_settings
protected

Definition at line 116 of file GxEPD2_EPD.h.

◆ _using_partial_mode

bool GxEPD2_EPD::_using_partial_mode
protected

Definition at line 118 of file GxEPD2_EPD.h.

◆ hasColor

const bool GxEPD2_EPD::hasColor

Definition at line 30 of file GxEPD2_EPD.h.

◆ hasFastPartialUpdate

const bool GxEPD2_EPD::hasFastPartialUpdate

Definition at line 32 of file GxEPD2_EPD.h.

◆ hasPartialUpdate

const bool GxEPD2_EPD::hasPartialUpdate

Definition at line 31 of file GxEPD2_EPD.h.

◆ HEIGHT

const uint16_t GxEPD2_EPD::HEIGHT

Definition at line 28 of file GxEPD2_EPD.h.

◆ panel

const GxEPD2::Panel GxEPD2_EPD::panel

Definition at line 29 of file GxEPD2_EPD.h.

◆ WIDTH

const uint16_t GxEPD2_EPD::WIDTH

Definition at line 27 of file GxEPD2_EPD.h.


The documentation for this class was generated from the following files: