ERM19264_UC1609  1.8.0
Arduino Eco-system Library for ERM19264 LCD driven by UC1609 controller.
Classes | Macros
ERM19264_UC1609.h File Reference

ERM19264 LCD driven by UC1609C controller, header file. More...

#include "WProgram.h"
#include "ERM19264_graphics.h"
#include <SPI.h>

Go to the source code of this file.

Classes

class  ERM19264_UC1609_Screen
 class to hold screen data , multiple screens can be made for the shared buffer. Buffer must be same size and offsets to if saving Data memory is goal More...
 
class  ERM19264_UC1609
 class to drive the ERM19264_UC1609 LCD More...
 

Macros

#define FOREGROUND   0
 Display Pixel colours definition. More...
 
#define BACKGROUND   1
 
#define COLORINVERSE   2
 
#define UC1609_SYSTEM_RESET   0xE2
 
#define UC1609_POWER_CONTROL   0x28
 
#define UC1609_PC_SET   0x06
 
#define UC1609_ADDRESS_CONTROL   0x88
 
#define UC1609_ADDRESS_SET   0x02
 
#define UC1609_SET_PAGEADD   0xB0
 
#define UC1609_SET_COLADD_LSB   0x00
 
#define UC1609_SET_COLADD_MSB   0x10
 
#define UC1609_TEMP_COMP_REG   0x27
 
#define UC1609_TEMP_COMP_SET   0x00
 
#define UC1609_FRAMERATE_REG   0xA0
 
#define UC1609_FRAMERATE_SET   0x01
 
#define UC1609_BIAS_RATIO   0xE8
 
#define UC1609_BIAS_RATIO_SET   0x03
 
#define UC1609_GN_PM   0x81
 
#define UC1609_DEFAULT_GN_PM   0x49
 
#define UC1609_LCD_CONTROL   0xC0
 
#define UC1609_DISPLAY_ON   0xAE
 
#define UC1609_ALL_PIXEL_ON   0xA4
 
#define UC1609_INVERSE_DISPLAY   0xA6
 
#define UC1609_SCROLL   0x40
 
#define UC1609_ROTATION_FLIP_TWO   0x06
 
#define UC1609_ROTATION_NORMAL   0x04
 
#define UC1609_ROTATION_FLIP_ONE   0x02
 
#define UC1609_ROTATION_FLIP_THREE   0x00
 
#define UC1609_RESET_DELAY   3
 
#define UC1609_RESET_DELAY2   0
 
#define UC1609_INIT_DELAY   100
 
#define UC1609_INIT_DELAY2   3
 
#define UC1609_HIGHFREQ_DELAY   0
 
#define UC1609_CS_SetHigh   digitalWrite(_LCD_CS, HIGH)
 
#define UC1609_CS_SetLow   digitalWrite(_LCD_CS, LOW)
 
#define UC1609_CD_SetHigh   digitalWrite(_LCD_CD, HIGH)
 
#define UC1609_CD_SetLow   digitalWrite(_LCD_CD, LOW)
 
#define UC1609_RST_SetHigh   digitalWrite(_LCD_RST, HIGH)
 
#define UC1609_RST_SetLow   digitalWrite(_LCD_RST, LOW)
 
#define UC1609_SCLK_SetHigh   digitalWrite(_LCD_SCLK, HIGH)
 
#define UC1609_SCLK_SetLow   digitalWrite(_LCD_SCLK, LOW)
 
#define UC1609_SDA_SetHigh   digitalWrite(_LCD_DIN, HIGH)
 
#define UC1609_SDA_SetLow   digitalWrite(_LCD_DIN, LOW)
 
#define UC_SPI_FREQ   8000000
 
#define UC_SPI_DIRECTION   MSBFIRST
 
#define UC_SPI_UC1609_MODE   SPI_MODE0
 
#define UC_SPI_CLOCK_DIV   SPI_CLOCK_DIV8
 
#define UC_SPI_TRANSACTION_START   SPI.setClockDivider(UC_SPI_CLOCK_DIV);
 
#define UC_SPI_TRANSACTION_END
 

Detailed Description

ERM19264 LCD driven by UC1609C controller, header file.

Author
Gavin Lyons.

Project Name: ERM19264_UC1609 https://github.com/gavinlyonsrepo/ERM19264_UC1609

Macro Definition Documentation

◆ BACKGROUND

#define BACKGROUND   1

See Display Pixel colours definition

◆ COLORINVERSE

#define COLORINVERSE   2

See Display Pixel colours definition

◆ FOREGROUND

#define FOREGROUND   0

Display Pixel colours definition.

(1): white on blue, FG = white, BG = blue ERM19264SBS-4 LCD Display White on Blue (2): black on white, FG = black, BG = white ERM19264FS-4 LCD Display Black on White (3):white on black, FG = white, BG = black ERM19264DNS-4LCD Display White on Black See Display Pixel colours definition

◆ UC1609_ADDRESS_CONTROL

#define UC1609_ADDRESS_CONTROL   0x88

set RAM address control

◆ UC1609_ADDRESS_SET

#define UC1609_ADDRESS_SET   0x02

Set AC [2:0] Program registers for RAM address control.

◆ UC1609_ALL_PIXEL_ON

#define UC1609_ALL_PIXEL_ON   0xA4

sets on all Pixels on

◆ UC1609_BIAS_RATIO

#define UC1609_BIAS_RATIO   0xE8

Bias Ratio. The ratio between V-LCD and V-D .

◆ UC1609_BIAS_RATIO_SET

#define UC1609_BIAS_RATIO_SET   0x03

Set BR[1:0] = 11 (set to 9 default, 11b = 9)

◆ UC1609_DEFAULT_GN_PM

#define UC1609_DEFAULT_GN_PM   0x49

default only used if user does not specify Vbias

◆ UC1609_DISPLAY_ON

#define UC1609_DISPLAY_ON   0xAE

enables display

◆ UC1609_FRAMERATE_REG

#define UC1609_FRAMERATE_REG   0xA0

Frame rate register

◆ UC1609_FRAMERATE_SET

#define UC1609_FRAMERATE_SET   0x01

Set Frame Rate LC [4:3] 01b: 95 fps

◆ UC1609_GN_PM

#define UC1609_GN_PM   0x81

Set V BIAS Potentiometer to fine tune V-D and V-LCD (double-byte command)

◆ UC1609_HIGHFREQ_DELAY

#define UC1609_HIGHFREQ_DELAY   0

uS delay, Can be used in software SPI for high freq MCU

◆ UC1609_INIT_DELAY

#define UC1609_INIT_DELAY   100

mS init delay ,after init

◆ UC1609_INIT_DELAY2

#define UC1609_INIT_DELAY2   3

mS init delay, before reset called datasheet <3mS

◆ UC1609_INVERSE_DISPLAY

#define UC1609_INVERSE_DISPLAY   0xA6

inverts display

◆ UC1609_LCD_CONTROL

#define UC1609_LCD_CONTROL   0xC0

Rotate map control

◆ UC1609_PC_SET

#define UC1609_PC_SET   0x06

PC[2:0] 110, Internal V LCD (7x charge pump) + 10b: 1.4mA

◆ UC1609_POWER_CONTROL

#define UC1609_POWER_CONTROL   0x28

Power control Address

◆ UC1609_RESET_DELAY

#define UC1609_RESET_DELAY   3

ms Rest Delay ,datasheet >3uS

◆ UC1609_RESET_DELAY2

#define UC1609_RESET_DELAY2   0

mS reset delay datasheet says > 5mS, does not work

◆ UC1609_ROTATION_FLIP_ONE

#define UC1609_ROTATION_FLIP_ONE   0x02

180 degree Rotation LCD command

◆ UC1609_ROTATION_FLIP_THREE

#define UC1609_ROTATION_FLIP_THREE   0x00

mirror image Rotation LCD command

◆ UC1609_ROTATION_FLIP_TWO

#define UC1609_ROTATION_FLIP_TWO   0x06

mirror image Rotation LCD command

◆ UC1609_ROTATION_NORMAL

#define UC1609_ROTATION_NORMAL   0x04

Normal Rotation LCD command

◆ UC1609_SCROLL

#define UC1609_SCROLL   0x40

scrolls , Set the scroll line number. 0-64

◆ UC1609_SET_COLADD_LSB

#define UC1609_SET_COLADD_LSB   0x00

Column Address Set CA [3:0]

◆ UC1609_SET_COLADD_MSB

#define UC1609_SET_COLADD_MSB   0x10

Column Address Set CA [7:4]

◆ UC1609_SET_PAGEADD

#define UC1609_SET_PAGEADD   0xB0

Page address Set PA[3:0]

◆ UC1609_SYSTEM_RESET

#define UC1609_SYSTEM_RESET   0xE2

System Reset

◆ UC1609_TEMP_COMP_REG

#define UC1609_TEMP_COMP_REG   0x27

Temperature Compensation Register

◆ UC1609_TEMP_COMP_SET

#define UC1609_TEMP_COMP_SET   0x00

TC[1:0] = 00b= -0.00%/ C

◆ UC_SPI_CLOCK_DIV

#define UC_SPI_CLOCK_DIV   SPI_CLOCK_DIV8

SPI bus baud rate ,STM32 data use only

◆ UC_SPI_DIRECTION

#define UC_SPI_DIRECTION   MSBFIRST

SPI data bit order orientation

◆ UC_SPI_FREQ

#define UC_SPI_FREQ   8000000

Mhz SPI bus baud rate

◆ UC_SPI_UC1609_MODE

#define UC_SPI_UC1609_MODE   SPI_MODE0

SPI Mode 0-3