Basically i glued Peter Drescher and Simon Ford libs in a GraphicsDisplay class, then derived TFT or LCD class (which inherits Protocols class), then the most derived ones (Inits), which are per-display and are the only part needed to be adapted to diff hw.

Fork of UniGraphic by GraphicsDisplay

Embed: (wiki syntax)

« Back to documentation index

BUS8 Class Reference

Parallel 8bit interface. More...

#include <BUS8.h>

Inherits Protocols.

Public Member Functions

 BUS8 (PinName *buspins, PinName CS, PinName reset, PinName DC, PinName WR, PinName RD)
 Create a BUS8 display interface with scattered pins and 5 control pins.

Protected Member Functions

virtual void wr_cmd8 (unsigned char cmd)
 Send 8bit command to display controller.
virtual void wr_data8 (unsigned char data)
 Send 8bit data to display controller.
virtual void wr_cmd16 (unsigned short cmd)
 Send 2x8bit command to display controller.
virtual void wr_data16 (unsigned short data)
 Send 2x8bit data to display controller.
virtual void wr_gram (unsigned short data)
 Send 16bit pixeldata to display controller.
virtual void wr_gram (unsigned short data, unsigned int count)
 Send same 16bit pixeldata to display controller multiple times.
virtual void wr_grambuf (unsigned short *data, unsigned int lenght)
 Send array of pixeldata shorts to display controller.
virtual unsigned short rd_gram (bool convert)
 Read 16bit pixeldata from display controller (with dummy cycle)
virtual unsigned int rd_reg_data32 (unsigned char reg)
 Read 4x8bit register data (with dummy cycle)
virtual unsigned int rd_extcreg_data32 (unsigned char reg, unsigned char SPIreadenablecmd)
 Read 3x8bit ExtendedCommands register data.
virtual void dummyread ()
 ILI932x specific, does a dummy read cycle, number of bits is protocol dependent for PAR protocols: a signle RD bit toggle for SPI8: 8clocks for SPI16: 16 clocks.
virtual void reg_select (unsigned char reg, bool forread=false)
 ILI932x specific, select register for a successive write or read.
virtual void reg_write (unsigned char reg, unsigned short data)
 ILI932x specific, write register with data.
virtual unsigned short reg_read (unsigned char reg)
 ILI932x specific, read register.
virtual void hw_reset ()
 HW reset sequence (without display init commands)
virtual void BusEnable (bool enable)
 Set ChipSelect high or low.

Detailed Description

Parallel 8bit interface.

Definition at line 10 of file BUS8.h.


Constructor & Destructor Documentation

BUS8 ( PinName *  buspins,
PinName  CS,
PinName  reset,
PinName  DC,
PinName  WR,
PinName  RD 
)

Create a BUS8 display interface with scattered pins and 5 control pins.

Parameters:
buspinsarray of PinName to group as Bus , i.e PinName buspins[8]={PC_0,PC_1,PC_2,PC_3,D9,D8,D7,D6};
CSpin connected to CS of display
resetpin connected to RESET of display
DCpin connected to data/command of display
WRpin connected to SDI of display
RDpin connected to RS of display

Definition at line 21 of file BUS8.cpp.


Member Function Documentation

void BusEnable ( bool  enable ) [protected, virtual]

Set ChipSelect high or low.

Parameters:
enable0/1

Implements Protocols.

Definition at line 272 of file BUS8.cpp.

void dummyread (  ) [protected, virtual]

ILI932x specific, does a dummy read cycle, number of bits is protocol dependent for PAR protocols: a signle RD bit toggle for SPI8: 8clocks for SPI16: 16 clocks.

Implements Protocols.

Definition at line 197 of file BUS8.cpp.

void hw_reset (  ) [protected, virtual]

HW reset sequence (without display init commands)

Implements Protocols.

Definition at line 260 of file BUS8.cpp.

unsigned int rd_extcreg_data32 ( unsigned char  reg,
unsigned char  SPIreadenablecmd 
) [protected, virtual]

Read 3x8bit ExtendedCommands register data.

Parameters:
regthe register to read
Returns:
data as uint
Note:
EXTC regs (0xB0 to 0xFF) are read/write registers, for Parallel mode directly accessible in both directions

Implements Protocols.

Definition at line 192 of file BUS8.cpp.

unsigned short rd_gram ( bool  convert ) [protected, virtual]

Read 16bit pixeldata from display controller (with dummy cycle)

Parameters:
converttrue/false. Convert 18bit to 16bit, some controllers returns 18bit
Returns:
16bit color

Implements Protocols.

Definition at line 119 of file BUS8.cpp.

unsigned int rd_reg_data32 ( unsigned char  reg ) [protected, virtual]

Read 4x8bit register data (with dummy cycle)

Parameters:
regthe register to read
Returns:
data as uint

Implements Protocols.

Definition at line 153 of file BUS8.cpp.

unsigned short reg_read ( unsigned char  reg ) [protected, virtual]

ILI932x specific, read register.

Parameters:
regregister to be read
Returns:
16bit register value

Implements Protocols.

Definition at line 237 of file BUS8.cpp.

void reg_select ( unsigned char  reg,
bool  forread = false 
) [protected, virtual]

ILI932x specific, select register for a successive write or read.

Parameters:
regregister to be selected
forreadfalse = a write next (default), true = a read next
Note:
forread only used by SPI protocols

Implements Protocols.

Definition at line 207 of file BUS8.cpp.

void reg_write ( unsigned char  reg,
unsigned short  data 
) [protected, virtual]

ILI932x specific, write register with data.

Parameters:
regregister to write
data16bit data

Implements Protocols.

Definition at line 219 of file BUS8.cpp.

void wr_cmd16 ( unsigned short  cmd ) [protected, virtual]

Send 2x8bit command to display controller.

Parameters:
cmd,:halfword to send

Implements Protocols.

Definition at line 48 of file BUS8.cpp.

void wr_cmd8 ( unsigned char  cmd ) [protected, virtual]

Send 8bit command to display controller.

Parameters:
cmd,:byte to send

Implements Protocols.

Definition at line 34 of file BUS8.cpp.

void wr_data16 ( unsigned short  data ) [protected, virtual]

Send 2x8bit data to display controller.

Parameters:
data,:halfword to send

Implements Protocols.

Definition at line 59 of file BUS8.cpp.

void wr_data8 ( unsigned char  data ) [protected, virtual]

Send 8bit data to display controller.

Parameters:
data,:byte to send

Implements Protocols.

Definition at line 42 of file BUS8.cpp.

void wr_gram ( unsigned short  data ) [protected, virtual]

Send 16bit pixeldata to display controller.

Parameters:
data,:halfword to send

Implements Protocols.

Definition at line 68 of file BUS8.cpp.

void wr_gram ( unsigned short  data,
unsigned int  count 
) [protected, virtual]

Send same 16bit pixeldata to display controller multiple times.

Parameters:
data,:halfword to send
count,:how many

Implements Protocols.

Definition at line 77 of file BUS8.cpp.

void wr_grambuf ( unsigned short *  data,
unsigned int  lenght 
) [protected, virtual]

Send array of pixeldata shorts to display controller.

Parameters:
data,:unsigned short pixeldata array
lenght,:lenght (in shorts)

Implements Protocols.

Definition at line 105 of file BUS8.cpp.