Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
SSD1681 E-Paper Display sensorif driver

Library for communicating with the SSD1681 E-Paper display driver. More...

Collaboration diagram for SSD1681 E-Paper Display sensorif driver:

Macros

#define SIF_SSD1681_BUSY_PIN   31
 
#define SIF_SSD1681_RST_PIN   15
 
#define SIF_SSD1681_DC_PIN   34
 
#define SIF_SSD1681_BUSY_TIMEOUT   5000
 
#define SIF_SSD1681_WIDTH_PHYSICAL   200
 
#define SIF_SSD1681_HEIGHT_PHYSICAL   200
 
#define SIF_SSD1681_WIDTH_WINDOW   192
 
#define SIF_SSD1681_HEIGHT_WINDOW   200
 
#define SIF_SSD1681_WIDTH   (SIF_SSD1681_WIDTH_WINDOW / 2)
 
#define SIF_SSD1681_HEIGHT   (SIF_SSD1681_WIDTH_WINDOW / 2)
 
#define ARRAY_SIZE   (SIF_SSD1681_HEIGHT * SIF_SSD1681_WIDTH / 8)
 

Enumerations

enum  SIF_SSD1681_Update_Mode { FULL_UPDATE = 0 , PARTIAL_UPDATE }
 

Functions

bool SIF_SSD1681_IsAsleep (void)
 Function which reports the sleep status of the eink display. More...
 
ca_error SIF_SSD1681_Initialise (void)
 EINK Initialisation. More...
 
void SIF_SSD1681_Deinitialise (void)
 EINK De-Initialisation. More...
 
void SIF_SSD1681_ClearDisplay (void)
 Clears the display. More...
 
void SIF_SSD1681_StrongClearDisplay (void)
 Clears the display many times to make sure there is no ghost image. More...
 
void SIF_SSD1681_DeepSleep (void)
 Enter deep sleep mode. More...
 
ca_error SIF_SSD1681_overlay_qr_code (const char *text, uint8_t *image, uint8_t scale, uint8_t x, uint8_t y)
 Creates a QR code and overlays it on top of a pre-existing image at the given coordinates. More...
 
void SIF_SSD1681_SetFrameMemory (const uint8_t *image, bool full_resolution)
 Copies the image into the eink display's RAM, for full update. More...
 
void SIF_SSD1681_SetFrameMemoryPartial (const uint8_t *image)
 Copies the image into the eink display's RAM, for partial update. More...
 
void SIF_SSD1681_DisplayFrame (void)
 Causes the eink to display what is currently in its RAM, using the full update process. More...
 
void SIF_SSD1681_DisplayPartFrame (void)
 Causes the eink to display what is currently in its RAM, using the partial update process. More...
 
void SIF_SSD1681_DisplayPartBaseImageWhite (void)
 Causes the eink to display a white image, to be used as a "base" image for subsequent partial updates. More...
 

Detailed Description

Library for communicating with the SSD1681 E-Paper display driver.

Macro Definition Documentation

◆ ARRAY_SIZE

#define ARRAY_SIZE   (SIF_SSD1681_HEIGHT * SIF_SSD1681_WIDTH / 8)

◆ SIF_SSD1681_BUSY_PIN

#define SIF_SSD1681_BUSY_PIN   31

◆ SIF_SSD1681_BUSY_TIMEOUT

#define SIF_SSD1681_BUSY_TIMEOUT   5000

◆ SIF_SSD1681_DC_PIN

#define SIF_SSD1681_DC_PIN   34

◆ SIF_SSD1681_HEIGHT

#define SIF_SSD1681_HEIGHT   (SIF_SSD1681_WIDTH_WINDOW / 2)

◆ SIF_SSD1681_HEIGHT_PHYSICAL

#define SIF_SSD1681_HEIGHT_PHYSICAL   200

◆ SIF_SSD1681_HEIGHT_WINDOW

#define SIF_SSD1681_HEIGHT_WINDOW   200

◆ SIF_SSD1681_RST_PIN

#define SIF_SSD1681_RST_PIN   15

◆ SIF_SSD1681_WIDTH

#define SIF_SSD1681_WIDTH   (SIF_SSD1681_WIDTH_WINDOW / 2)

◆ SIF_SSD1681_WIDTH_PHYSICAL

#define SIF_SSD1681_WIDTH_PHYSICAL   200

◆ SIF_SSD1681_WIDTH_WINDOW

#define SIF_SSD1681_WIDTH_WINDOW   192

Enumeration Type Documentation

◆ SIF_SSD1681_Update_Mode

Enumerator
FULL_UPDATE 
PARTIAL_UPDATE 

Function Documentation

◆ SIF_SSD1681_ClearDisplay()

void SIF_SSD1681_ClearDisplay ( void  )

Clears the display.

◆ SIF_SSD1681_DeepSleep()

void SIF_SSD1681_DeepSleep ( void  )

Enter deep sleep mode.

Device draws around 2uA in this mode.

◆ SIF_SSD1681_Deinitialise()

void SIF_SSD1681_Deinitialise ( void  )

EINK De-Initialisation.

◆ SIF_SSD1681_DisplayFrame()

void SIF_SSD1681_DisplayFrame ( void  )

Causes the eink to display what is currently in its RAM, using the full update process.

◆ SIF_SSD1681_DisplayPartBaseImageWhite()

void SIF_SSD1681_DisplayPartBaseImageWhite ( void  )

Causes the eink to display a white image, to be used as a "base" image for subsequent partial updates.

NOTE: It is necessary to call this function for the first ever partial update, or for the first partial update after waking up from deep sleep.

◆ SIF_SSD1681_DisplayPartFrame()

void SIF_SSD1681_DisplayPartFrame ( void  )

Causes the eink to display what is currently in its RAM, using the partial update process.

◆ SIF_SSD1681_Initialise()

ca_error SIF_SSD1681_Initialise ( void  )

EINK Initialisation.

◆ SIF_SSD1681_IsAsleep()

bool SIF_SSD1681_IsAsleep ( void  )

Function which reports the sleep status of the eink display.

Returns
true if the eink is in deep sleep mode, false otherwise.

◆ SIF_SSD1681_overlay_qr_code()

ca_error SIF_SSD1681_overlay_qr_code ( const char *  text,
uint8_t *  image,
uint8_t  scale,
uint8_t  x,
uint8_t  y 
)

Creates a QR code and overlays it on top of a pre-existing image at the given coordinates.

Parameters
text- The text string that is encoded into a QR symbol.
image- The image that is overlaid by the QR symbol.
scale- scaling of the image, 1 or 2 supported.
x- The x-coordinate of the top-left corner of the QR symbol.
y- The y-coordinate of the top-left corner of the QR symbol.

◆ SIF_SSD1681_SetFrameMemory()

void SIF_SSD1681_SetFrameMemory ( const uint8_t *  image,
bool  full_resolution 
)

Copies the image into the eink display's RAM, for full update.

Parameters
image- The image that is copied into the RAM.
full_resolution- Whether the image provided should be displayed in full resolution or half resolution. This is is ignored when EPAPER_FULL_RESOLUTION is defined, and therefore only applies to binaries built with half resolution in mind. This allows the option to display an image (typically stored in flash) using full resolution, as an exception.

◆ SIF_SSD1681_SetFrameMemoryPartial()

void SIF_SSD1681_SetFrameMemoryPartial ( const uint8_t *  image)

Copies the image into the eink display's RAM, for partial update.

Parameters
image- The image that is copied into the RAM.

◆ SIF_SSD1681_StrongClearDisplay()

void SIF_SSD1681_StrongClearDisplay ( void  )

Clears the display many times to make sure there is no ghost image.