Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
sif_il3820.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include "cascoda-bm/cascoda_interface.h"
#include "cascoda-bm/cascoda_sensorif.h"
#include "cascoda-bm/cascoda_spi.h"
#include "cascoda-bm/cascoda_types.h"
#include "cascoda-bm/cascoda_wait.h"
#include "cascoda-util/cascoda_time.h"
#include "qrcodegen.h"
#include "sif_il3820.h"
Include dependency graph for sif_il3820.c:

Macros

#define DRIVER_OUTPUT_CONTROL   0x01
 
#define BOOSTER_SOFT_START_CONTROL   0x0C
 
#define DEEP_SLEEP_MODE   0x10
 
#define DATA_ENTRY_MODE_SETTING   0x11
 
#define SW_RESET   0x12
 
#define TEMPERATURE_SENSOR_CONTROL   0x1A
 
#define MASTER_ACTIVATION   0x20
 
#define DISPLAY_UPDATE_CONTROL_1   0x21
 
#define DISPLAY_UPDATE_CONTROL_2   0x22
 
#define WRITE_RAM   0x24
 
#define WRITE_VCOM_REGISTER   0x2C
 
#define WRITE_LUT_REGISTER   0x32
 
#define SET_DUMMY_LINE_PERIOD   0x3A
 
#define SET_GATE_LINE_WIDTH   0x3B
 
#define BORDER_WAVEFORM_CONTROL   0x3C
 
#define SET_RAM_X_ADDRESS_START_END_POSITION   0x44
 
#define SET_RAM_Y_ADDRESS_START_END_POSITION   0X45
 
#define SET_RAM_X_ADDRESS_COUNTER   0x4E
 
#define SET_RAM_Y_ADDRESS_COUNTER   0X4F
 
#define TERMINATE_FRAME_READ_WRITE   0xFF
 

Functions

ca_error SIF_IL3820_Initialise (SIF_IL3820_Update_Mode mode)
 EINK Initialisation. More...
 
void SIF_IL3820_Deinitialise (void)
 EINK De-Initialisation. More...
 
void SIF_IL3820_ClearDisplay (void)
 Clears the display. More...
 
void SIF_IL3820_StrongClearDisplay (void)
 Clears the display many times to make sure there is no ghost image. More...
 
void SIF_IL3820_DeepSleep (void)
 Enter deep sleep mode. More...
 
ca_error SIF_IL3820_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_IL3820_DisplayImage (const uint8_t *image, SIF_IL3820_Clear_Mode mode)
 Follows Routines for clearing, waiting and displaying the image. More...
 

Macro Definition Documentation

◆ BOOSTER_SOFT_START_CONTROL

#define BOOSTER_SOFT_START_CONTROL   0x0C

◆ BORDER_WAVEFORM_CONTROL

#define BORDER_WAVEFORM_CONTROL   0x3C

◆ DATA_ENTRY_MODE_SETTING

#define DATA_ENTRY_MODE_SETTING   0x11

◆ DEEP_SLEEP_MODE

#define DEEP_SLEEP_MODE   0x10

◆ DISPLAY_UPDATE_CONTROL_1

#define DISPLAY_UPDATE_CONTROL_1   0x21

◆ DISPLAY_UPDATE_CONTROL_2

#define DISPLAY_UPDATE_CONTROL_2   0x22

◆ DRIVER_OUTPUT_CONTROL

#define DRIVER_OUTPUT_CONTROL   0x01

◆ MASTER_ACTIVATION

#define MASTER_ACTIVATION   0x20

◆ SET_DUMMY_LINE_PERIOD

#define SET_DUMMY_LINE_PERIOD   0x3A

◆ SET_GATE_LINE_WIDTH

#define SET_GATE_LINE_WIDTH   0x3B

◆ SET_RAM_X_ADDRESS_COUNTER

#define SET_RAM_X_ADDRESS_COUNTER   0x4E

◆ SET_RAM_X_ADDRESS_START_END_POSITION

#define SET_RAM_X_ADDRESS_START_END_POSITION   0x44

◆ SET_RAM_Y_ADDRESS_COUNTER

#define SET_RAM_Y_ADDRESS_COUNTER   0X4F

◆ SET_RAM_Y_ADDRESS_START_END_POSITION

#define SET_RAM_Y_ADDRESS_START_END_POSITION   0X45

◆ SW_RESET

#define SW_RESET   0x12

◆ TEMPERATURE_SENSOR_CONTROL

#define TEMPERATURE_SENSOR_CONTROL   0x1A

◆ TERMINATE_FRAME_READ_WRITE

#define TERMINATE_FRAME_READ_WRITE   0xFF

◆ WRITE_LUT_REGISTER

#define WRITE_LUT_REGISTER   0x32

◆ WRITE_RAM

#define WRITE_RAM   0x24

◆ WRITE_VCOM_REGISTER

#define WRITE_VCOM_REGISTER   0x2C