Paperd.Ink Library 0.0.5
Library for interacting with Paperd.Ink devices.
Loading...
Searching...
No Matches
GxEPD2_150_BN Class Reference

#include <GxEPD2_150_BN.h>

Inheritance diagram for GxEPD2_150_BN:
GxEPD2_EPD

Public Member Functions

 GxEPD2_150_BN (int16_t cs, int16_t dc, int16_t rst, int16_t busy)
 
void clearScreen (uint8_t value=0xFF)
 
void writeScreenBuffer (uint8_t value=0xFF)
 
void writeScreenBufferAgain (uint8_t value=0xFF)
 
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)
 
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)
 
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)
 
void writeImage (const uint8_t *black, const uint8_t *color, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
void writeImagePart (const uint8_t *black, const uint8_t *color, 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)
 
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)
 
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)
 
void writeNative (const uint8_t *data1, const uint8_t *data2, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
void drawImage (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)
 
void drawImagePart (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)
 
void drawImage (const uint8_t *black, const uint8_t *color, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
void drawImagePart (const uint8_t *black, const uint8_t *color, 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)
 
void drawNative (const uint8_t *data1, const uint8_t *data2, int16_t x, int16_t y, int16_t w, int16_t h, bool invert=false, bool mirror_y=false, bool pgm=false)
 
void refresh (bool partial_update_mode=false)
 
void refresh (int16_t x, int16_t y, int16_t w, int16_t h)
 
void powerOff ()
 
void hibernate ()
 
- Public Member Functions inherited from 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)
 
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 setPaged ()
 
void setBusyCallback (void(*busyCallback)(const void *), const void *busy_callback_parameter=0)
 
void selectSPI (SPIClass &spi, SPISettings spi_settings)
 

Static Public Attributes

static const uint16_t WIDTH = 200
 
static const uint16_t HEIGHT = 200
 
static const GxEPD2::Panel panel = GxEPD2::DEPG0150BN
 
static const bool hasColor = false
 
static const bool hasPartialUpdate = true
 
static const bool hasFastPartialUpdate = true
 
static const uint16_t power_on_time = 100
 
static const uint16_t power_off_time = 150
 
static const uint16_t full_refresh_time = 4000
 
static const uint16_t partial_refresh_time = 800
 

Additional Inherited Members

- Static Public Member Functions inherited from GxEPD2_EPD
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 inherited from GxEPD2_EPD
const uint16_t WIDTH
 
const uint16_t HEIGHT
 
const GxEPD2::Panel panel
 
const bool hasColor
 
const bool hasPartialUpdate
 
const bool hasFastPartialUpdate
 
- Protected Member Functions inherited from GxEPD2_EPD
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 inherited from GxEPD2_EPD
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 20 of file GxEPD2_150_BN.h.

Constructor & Destructor Documentation

◆ GxEPD2_150_BN()

GxEPD2_150_BN::GxEPD2_150_BN ( int16_t cs,
int16_t dc,
int16_t rst,
int16_t busy )

Definition at line 17 of file GxEPD2_150_BN.cpp.

17 :
18 GxEPD2_EPD(cs, dc, rst, busy, HIGH, 10000000, WIDTH, HEIGHT, panel, hasColor, hasPartialUpdate, hasFastPartialUpdate)
19{
20}
static const bool hasColor
static const uint16_t HEIGHT
static const GxEPD2::Panel panel
static const bool hasPartialUpdate
static const bool hasFastPartialUpdate
static const uint16_t WIDTH
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)

Member Function Documentation

◆ clearScreen()

void GxEPD2_150_BN::clearScreen ( uint8_t value = 0xFF)
virtual

Implements GxEPD2_EPD.

Definition at line 22 of file GxEPD2_150_BN.cpp.

23{
24 writeScreenBuffer(value);
25 refresh(true);
27}
void writeScreenBufferAgain(uint8_t value=0xFF)
void writeScreenBuffer(uint8_t value=0xFF)
void refresh(bool partial_update_mode=false)

◆ drawImage() [1/2]

void GxEPD2_150_BN::drawImage ( const uint8_t * black,
const uint8_t * color,
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )

Definition at line 220 of file GxEPD2_150_BN.cpp.

221{
222 if (black)
223 {
224 drawImage(black, x, y, w, h, invert, mirror_y, pgm);
225 }
226}
void drawImage(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)

◆ drawImage() [2/2]

void GxEPD2_150_BN::drawImage ( 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 )

Definition at line 205 of file GxEPD2_150_BN.cpp.

206{
207 writeImage(bitmap, x, y, w, h, invert, mirror_y, pgm);
208 refresh(x, y, w, h);
209 writeImageAgain(bitmap, x, y, w, h, invert, mirror_y, pgm);
210}
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)
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)

◆ drawImagePart() [1/2]

void GxEPD2_150_BN::drawImagePart ( const uint8_t * black,
const uint8_t * color,
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 )

Definition at line 228 of file GxEPD2_150_BN.cpp.

230{
231 if (black)
232 {
233 drawImagePart(black, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
234 }
235}
void drawImagePart(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)

◆ drawImagePart() [2/2]

void GxEPD2_150_BN::drawImagePart ( 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 )

Definition at line 212 of file GxEPD2_150_BN.cpp.

214{
215 writeImagePart(bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
216 refresh(x, y, w, h);
217 writeImagePartAgain(bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
218}
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)
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)

◆ drawNative()

void GxEPD2_150_BN::drawNative ( const uint8_t * data1,
const uint8_t * data2,
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )

Definition at line 237 of file GxEPD2_150_BN.cpp.

238{
239 if (data1)
240 {
241 drawImage(data1, x, y, w, h, invert, mirror_y, pgm);
242 }
243}

◆ hibernate()

void GxEPD2_150_BN::hibernate ( )
virtual

Implements GxEPD2_EPD.

Definition at line 281 of file GxEPD2_150_BN.cpp.

282{
283 _PowerOff();
284 if (_rst >= 0)
285 {
286 _writeCommand(0x10); // deep sleep mode
287 _writeData(0x1); // enter deep sleep
288 _hibernating = true;
289 }
290}
void _writeCommand(uint8_t c)
void _writeData(uint8_t d)
int16_t _rst
Definition GxEPD2_EPD.h:112
bool _hibernating
Definition GxEPD2_EPD.h:118

◆ powerOff()

void GxEPD2_150_BN::powerOff ( void )
virtual

Implements GxEPD2_EPD.

Definition at line 276 of file GxEPD2_150_BN.cpp.

277{
278 _PowerOff();
279}

◆ refresh() [1/2]

void GxEPD2_150_BN::refresh ( bool partial_update_mode = false)
virtual

Implements GxEPD2_EPD.

Definition at line 245 of file GxEPD2_150_BN.cpp.

246{
247 if (partial_update_mode) refresh(0, 0, WIDTH, HEIGHT);
248 else
249 {
250 if (_using_partial_mode) _Init_Full();
251 _Update_Full();
252 _initial_refresh = false; // initial full update done
253 }
254}
bool _using_partial_mode
Definition GxEPD2_EPD.h:118
bool _initial_refresh
Definition GxEPD2_EPD.h:117

◆ refresh() [2/2]

void GxEPD2_150_BN::refresh ( int16_t x,
int16_t y,
int16_t w,
int16_t h )
virtual

Implements GxEPD2_EPD.

Definition at line 256 of file GxEPD2_150_BN.cpp.

257{
258 if (_initial_refresh) return refresh(false); // initial update needs be full update
259 // intersection with screen
260 int16_t w1 = x < 0 ? w + x : w; // reduce
261 int16_t h1 = y < 0 ? h + y : h; // reduce
262 int16_t x1 = x < 0 ? 0 : x; // limit
263 int16_t y1 = y < 0 ? 0 : y; // limit
264 w1 = x1 + w1 < int16_t(WIDTH) ? w1 : int16_t(WIDTH) - x1; // limit
265 h1 = y1 + h1 < int16_t(HEIGHT) ? h1 : int16_t(HEIGHT) - y1; // limit
266 if ((w1 <= 0) || (h1 <= 0)) return;
267 // make x1, w1 multiple of 8
268 w1 += x1 % 8;
269 if (w1 % 8 > 0) w1 += 8 - w1 % 8;
270 x1 -= x1 % 8;
271 if (!_using_partial_mode) _Init_Part();
272 _setPartialRamArea(x1, y1, w1, h1);
273 _Update_Part();
274}

◆ writeImage() [1/2]

void GxEPD2_150_BN::writeImage ( const uint8_t * black,
const uint8_t * color,
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )

Definition at line 180 of file GxEPD2_150_BN.cpp.

181{
182 if (black)
183 {
184 writeImage(black, x, y, w, h, invert, mirror_y, pgm);
185 }
186}

◆ writeImage() [2/2]

void GxEPD2_150_BN::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 )
virtual

Implements GxEPD2_EPD.

Definition at line 53 of file GxEPD2_150_BN.cpp.

54{
55 _writeImage(0x24, bitmap, x, y, w, h, invert, mirror_y, pgm);
56}

◆ writeImageAgain()

void GxEPD2_150_BN::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

Reimplemented from GxEPD2_EPD.

Definition at line 64 of file GxEPD2_150_BN.cpp.

65{
66 _writeImage(0x26, bitmap, x, y, w, h, invert, mirror_y, pgm); // set previous
67 _writeImage(0x24, bitmap, x, y, w, h, invert, mirror_y, pgm); // set current
68}

◆ writeImageForFullRefresh()

void GxEPD2_150_BN::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

Reimplemented from GxEPD2_EPD.

Definition at line 58 of file GxEPD2_150_BN.cpp.

59{
60 _writeImage(0x26, bitmap, x, y, w, h, invert, mirror_y, pgm);
61 _writeImage(0x24, bitmap, x, y, w, h, invert, mirror_y, pgm);
62}

◆ writeImagePart() [1/2]

void GxEPD2_150_BN::writeImagePart ( const uint8_t * black,
const uint8_t * color,
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 )

Definition at line 188 of file GxEPD2_150_BN.cpp.

190{
191 if (black)
192 {
193 writeImagePart(black, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
194 }
195}

◆ writeImagePart() [2/2]

void GxEPD2_150_BN::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 )
virtual

Implements GxEPD2_EPD.

Definition at line 115 of file GxEPD2_150_BN.cpp.

117{
118 _writeImagePart(0x24, bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm);
119}

◆ writeImagePartAgain()

void GxEPD2_150_BN::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

Reimplemented from GxEPD2_EPD.

Definition at line 121 of file GxEPD2_150_BN.cpp.

123{
124 _writeImagePart(0x26, bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm); // set previous
125 _writeImagePart(0x24, bitmap, x_part, y_part, w_bitmap, h_bitmap, x, y, w, h, invert, mirror_y, pgm); // set current
126}

◆ writeNative()

void GxEPD2_150_BN::writeNative ( const uint8_t * data1,
const uint8_t * data2,
int16_t x,
int16_t y,
int16_t w,
int16_t h,
bool invert = false,
bool mirror_y = false,
bool pgm = false )

Definition at line 197 of file GxEPD2_150_BN.cpp.

198{
199 if (data1)
200 {
201 writeImage(data1, x, y, w, h, invert, mirror_y, pgm);
202 }
203}

◆ writeScreenBuffer()

void GxEPD2_150_BN::writeScreenBuffer ( uint8_t value = 0xFF)
virtual

Implements GxEPD2_EPD.

Definition at line 29 of file GxEPD2_150_BN.cpp.

30{
31 if (!_using_partial_mode) _Init_Part();
32 if (_initial_write) _writeScreenBuffer(0x26, value); // set previous
33 _writeScreenBuffer(0x24, value); // set current
34 _initial_write = false; // initial full screen buffer clean done
35}
bool _initial_write
Definition GxEPD2_EPD.h:117

◆ writeScreenBufferAgain()

void GxEPD2_150_BN::writeScreenBufferAgain ( uint8_t value = 0xFF)
virtual

Reimplemented from GxEPD2_EPD.

Definition at line 37 of file GxEPD2_150_BN.cpp.

38{
39 if (!_using_partial_mode) _Init_Part();
40 _writeScreenBuffer(0x26, value); // set previous
41 _writeScreenBuffer(0x24, value); // set current
42}

Member Data Documentation

◆ full_refresh_time

const uint16_t GxEPD2_150_BN::full_refresh_time = 4000
static

Definition at line 32 of file GxEPD2_150_BN.h.

◆ hasColor

const bool GxEPD2_150_BN::hasColor = false
static

Definition at line 27 of file GxEPD2_150_BN.h.

◆ hasFastPartialUpdate

const bool GxEPD2_150_BN::hasFastPartialUpdate = true
static

Definition at line 29 of file GxEPD2_150_BN.h.

◆ hasPartialUpdate

const bool GxEPD2_150_BN::hasPartialUpdate = true
static

Definition at line 28 of file GxEPD2_150_BN.h.

◆ HEIGHT

const uint16_t GxEPD2_150_BN::HEIGHT = 200
static

Definition at line 25 of file GxEPD2_150_BN.h.

◆ panel

const GxEPD2::Panel GxEPD2_150_BN::panel = GxEPD2::DEPG0150BN
static

Definition at line 26 of file GxEPD2_150_BN.h.

◆ partial_refresh_time

const uint16_t GxEPD2_150_BN::partial_refresh_time = 800
static

Definition at line 33 of file GxEPD2_150_BN.h.

◆ power_off_time

const uint16_t GxEPD2_150_BN::power_off_time = 150
static

Definition at line 31 of file GxEPD2_150_BN.h.

◆ power_on_time

const uint16_t GxEPD2_150_BN::power_on_time = 100
static

Definition at line 30 of file GxEPD2_150_BN.h.

◆ WIDTH

const uint16_t GxEPD2_150_BN::WIDTH = 200
static

Definition at line 24 of file GxEPD2_150_BN.h.


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