Updated for more display types. Fixed memoryaddress confusion in address() method. Added new getAddress() method. Added support for UDCs, Backlight control and other features such as control through I2C and SPI port expanders and controllers with native I2C and SPI interfaces. Refactored to fix issue with pins that are default declared as NC.

Dependents:   GPSDevice TestTextLCD SD to Flash Data Transfer DrumMachine ... more

Fork of TextLCD by Simon Ford

Embed: (wiki syntax)

« Back to documentation index

TextLCD_I2C_N Class Reference

Create a TextLCD interface using a controller with native I2C interface. More...

#include <TextLCD.h>

Inherits TextLCD_Base.

Public Types

enum  LCDType {
  LCD8x1 = (LCD_T_A | LCD_T_C8 | LCD_T_R1), LCD8x2 = (LCD_T_A | LCD_T_C8 | LCD_T_R2), LCD8x2B = (LCD_T_B | LCD_T_C8 | LCD_T_R2), LCD10x4D = (LCD_T_D | LCD_T_C10 | LCD_T_R4),
  LCD12x1 = (LCD_T_A | LCD_T_C12 | LCD_T_R1), LCD12x2 = (LCD_T_A | LCD_T_C12 | LCD_T_R2), LCD12x3D = (LCD_T_D | LCD_T_C12 | LCD_T_R3), LCD12x3D1 = (LCD_T_D1 | LCD_T_C12 | LCD_T_R3),
  LCD12x4 = (LCD_T_A | LCD_T_C12 | LCD_T_R4), LCD12x4D = (LCD_T_D | LCD_T_C12 | LCD_T_R4), LCD16x1 = (LCD_T_A | LCD_T_C16 | LCD_T_R1), LCD16x1C = (LCD_T_C | LCD_T_C16 | LCD_T_R1),
  LCD16x2 = (LCD_T_A | LCD_T_C16 | LCD_T_R2), LCD16x3D = (LCD_T_D | LCD_T_C16 | LCD_T_R3), LCD16x3F = (LCD_T_F | LCD_T_C16 | LCD_T_R3), LCD16x3G = (LCD_T_G | LCD_T_C16 | LCD_T_R3),
  LCD16x4 = (LCD_T_A | LCD_T_C16 | LCD_T_R4), LCD20x1 = (LCD_T_A | LCD_T_C20 | LCD_T_R1), LCD20x2 = (LCD_T_A | LCD_T_C20 | LCD_T_R2), LCD20x4 = (LCD_T_A | LCD_T_C20 | LCD_T_R4),
  LCD20x4D = (LCD_T_D | LCD_T_C20 | LCD_T_R4), LCD24x1 = (LCD_T_A | LCD_T_C24 | LCD_T_R1), LCD24x2 = (LCD_T_A | LCD_T_C24 | LCD_T_R2), LCD24x4D = (LCD_T_D | LCD_T_C24 | LCD_T_R4),
  LCD32x2 = (LCD_T_A | LCD_T_C32 | LCD_T_R2), LCD40x2 = (LCD_T_A | LCD_T_C40 | LCD_T_R2), LCD40x4
}
 

LCD panel format.

More...
enum  LCDCtrl {
  HD44780 = 0 | LCD_C_PAR, AC780 = 1 | (LCD_C_PAR | LCD_C_SPI4 | LCD_C_I2C | LCD_C_PDN), AIP31068 = 2 | (LCD_C_SPI3_9 | LCD_C_I2C | LCD_C_BST), KS0073 = 3 | (LCD_C_PAR | LCD_C_SPI3_24 | LCD_C_PDN),
  KS0078 = 4 | (LCD_C_PAR | LCD_C_SPI3_24 | LCD_C_PDN), PCF2103_3V3 = 5 | (LCD_C_PAR | LCD_C_I2C), PCF2113_3V3 = 6 | (LCD_C_PAR | LCD_C_I2C | LCD_C_BST | LCD_C_CTR), PCF2116_3V3 = 7 | (LCD_C_PAR | LCD_C_I2C | LCD_C_BST),
  PCF2116_5V = 8 | (LCD_C_PAR | LCD_C_I2C), PCF2116C_5V = 9 | (LCD_C_PAR | LCD_C_I2C | LCD_C_BST | LCD_C_FC), PCF2119_3V3 = 10 | (LCD_C_PAR | LCD_C_I2C | LCD_C_BST | LCD_C_CTR), PCF2119R_3V3 = 12 | (LCD_C_PAR | LCD_C_I2C | LCD_C_BST | LCD_C_CTR | LCD_C_FR),
  PT6314 = 13 | (LCD_C_PAR | LCD_C_SPI3_16 | LCD_C_CTR), SSD1803_3V3 = 14 | (LCD_C_PAR | LCD_C_SPI3_24 | LCD_C_I2C | LCD_C_BST | LCD_C_CTR | LCD_C_PDN), ST7032_3V3 = 16 | (LCD_C_PAR | LCD_C_SPI4 | LCD_C_I2C | LCD_C_BST | LCD_C_CTR), ST7032_5V = 17 | (LCD_C_PAR | LCD_C_SPI4 | LCD_C_I2C | LCD_C_CTR),
  ST7036_3V3 = 18 | (LCD_C_PAR | LCD_C_SPI4 | LCD_C_I2C | LCD_C_BST | LCD_C_CTR), ST7036_5V = 19 | (LCD_C_PAR | LCD_C_SPI4 | LCD_C_I2C | LCD_C_BST | LCD_C_CTR), ST7066_ACM = 20 | (LCD_C_PAR | LCD_C_I2C), ST7070 = 21 | (LCD_C_PAR | LCD_C_SPI3_8 | LCD_C_SPI4),
  US2066_3V3 = 22 | (LCD_C_PAR | LCD_C_SPI3_24 | LCD_C_I2C | LCD_C_CTR | LCD_C_PDN), WS0010 = 23 | (LCD_C_PAR | LCD_C_SPI3_10 | LCD_C_PDN), HD66712 = 25 | (LCD_C_PAR | LCD_C_SPI3_24 | LCD_C_BST | LCD_C_PDN), SPLC792A_3V3 = 26 | (LCD_C_PAR | LCD_C_SPI3_9 | LCD_C_SPI4 | LCD_C_I2C | LCD_C_BST | LCD_C_CTR)
}
 

LCD Controller Device.

More...
enum  LCDCursor { CurOff_BlkOff = 0x00, CurOff_BlkOn = 0x01, CurOn_BlkOff = 0x02, CurOn_BlkOn = 0x03 }
 

LCD Cursor control.

More...
enum  LCDMode { DispOff = 0x00, DispOn = 0x04 }
 

LCD Display control.

More...
enum  LCDBacklight { LightOff, LightOn }
 

LCD Backlight control.

More...
enum  LCDBlink { BlinkOff, BlinkOn }
 

LCD Blink control (UDC), supported for some Controllers.

More...
enum  LCDOrient { Top, Bottom }
 

LCD Orientation control, supported for some Controllers.

More...
enum  LCDBigFont {
  None, TopLine, CenterLine, BottomLine,
  TopBottomLine
}
 

LCD BigFont control, supported for some Controllers.

More...
enum  LCDFont {
  Font_0 = LCD_C_F0, Font_C = LCD_C_FC, Font_R = LCD_C_FR, Font_RA = LCD_C_FRA,
  Font_RB = LCD_C_FRB, Font_RC = LCD_C_FRC, Font_D = LCD_C_FD, Font_T = LCD_C_FT
}
 

LCD setFont control.

More...

Public Member Functions

 TextLCD_I2C_N (I2C *i2c, char deviceAddress=ST7032_SA, LCDType type=LCD16x2, PinName bl=NC, LCDCtrl ctrl=ST7032_3V3)
 Create a TextLCD interface using a controller with native I2C interface.
virtual ~TextLCD_I2C_N (void)
 Destruct a TextLCD interface using a controller with native I2C interface.
int ASCII_2_LCD (int c)
 Convert ASCII character code to the LCD fonttable code.
int UTF_2_LCD (int c)
 Convert UTF8 2-byte character code to the LCD fonttable code.
int putc (int c)
 Write a character to the LCD.
int putc (int c)
 Write a character to the LCD.
int printf (const char *text,...)
 Write a raw string to the LCD.
int printf (const char *format,...)
 Write a formatted string to the LCD.
void locate (int column, int row)
 Locate cursor to a screen column and row.
int getAddress (int column, int row)
 Return the memoryaddress of screen column and row location.
void setAddress (int column, int row)
 Set the memoryaddress of screen column and row location.
void cls ()
 Clear the screen and locate to 0,0.
int rows ()
 Return the number of rows.
int columns ()
 Return the number of columns.
void setCursor (LCDCursor cursorMode)
 Set the Cursormode.
void setMode (LCDMode displayMode)
 Set the Displaymode.
void setBacklight (LCDBacklight backlightMode)
 Set the Backlight mode.
void setUDC (unsigned char c, char *udc_data)
 Set User Defined Characters (UDC)
void setUDCBlink (LCDBlink blinkMode)
 Set UDC Blink and Icon blink setUDCBlink method is supported by some compatible devices (eg SSD1803)
void setContrast (unsigned char c=LCD_DEF_CONTRAST)
 Set Contrast setContrast method is supported by some compatible devices (eg ST7032i) that have onboard LCD voltage generation Code imported from fork by JH1PJL.
void setPower (bool powerOn=true)
 Set Power setPower method is supported by some compatible devices (eg SSD1803) that have power down modes.
void setOrient (LCDOrient orient=Top)
 Set Orient setOrient method is supported by some compatible devices (eg SSD1803, US2066) that have top/bottom view modes.
void setBigFont (LCDBigFont lines)
 Set Big Font setBigFont method is supported by some compatible devices (eg SSD1803, US2066)
void setFont (LCDFont font=Font_0)
 Set Font setFont method is supported by some compatible devices (eg SSD1803, US2066, ST7070)
void setIcon (unsigned char idx, unsigned char data)
 Set Icons.
void clrIcon ()
 Clear Icons.
void setInvert (bool invertOn)
 Set Invert setInvert method is supported by some compatible devices (eg KS0073) to swap between black and white.

Protected Types

enum  _LCDCtrl_Idx
 

LCD controller select, mainly used for LCD40x4.

More...
enum  _LCDDatalength { _LCD_DL_4 = 0x00, _LCD_DL_8 = 0x10 }
 

LCD Datalength control to select between 4 or 8 bit data/commands, mainly used for native Serial interface.

More...

Protected Member Functions

virtual int _putc (int value)
 Write a single character (Stream implementation)
void _init (_LCDDatalength dl=_LCD_DL_4)
 Medium level initialisation method for LCD controller.
void _initCtrl (_LCDDatalength dl=_LCD_DL_4)
 Low level initialisation method for LCD controller Set number of lines, fonttype, no cursor etc The controller is accessed in 4-bit parallel mode either directly via mbed pins or through I2C or SPI expander.
int _address (int column, int row)
 Low level character address set method.
void _setCursor (LCDCursor show)
 Low level cursor enable or disable method.
void _setUDC (unsigned char c, char *udc_data)
 Low level method to store user defined characters for current controller.
void _setCursorAndDisplayMode (LCDMode displayMode, LCDCursor cursorType)
 Low level method to restore the cursortype and display mode for current controller.
void _writeNibble (int value)
 Low level nibble write operation to LCD controller (serial or parallel)
void _writeCommand (int command)
 Low level command byte write operation to LCD controller.
void _writeData (int data)
 Low level data byte write operation to LCD controller (serial or parallel).

Detailed Description

Create a TextLCD interface using a controller with native I2C interface.

Definition at line 885 of file TextLCD.h.


Member Enumeration Documentation

enum _LCDCtrl_Idx [protected, inherited]

LCD controller select, mainly used for LCD40x4.

Definition at line 558 of file TextLCD.h.

enum _LCDDatalength [protected, inherited]

LCD Datalength control to select between 4 or 8 bit data/commands, mainly used for native Serial interface.

Enumerator:
_LCD_DL_4 

Datalength 4 bit.

_LCD_DL_8 

Datalength 8 bit.

Definition at line 564 of file TextLCD.h.

enum LCDBacklight [inherited]

LCD Backlight control.

Enumerator:
LightOff 

Backlight Off.

LightOn 

Backlight On.

Definition at line 293 of file TextLCD.h.

enum LCDBigFont [inherited]

LCD BigFont control, supported for some Controllers.

Enumerator:
None 

no lines

TopLine 

1+2 line

CenterLine 

2+3 line

BottomLine 

2+3 line or 3+4 line

TopBottomLine 

1+2 line and 3+4 line

Definition at line 312 of file TextLCD.h.

enum LCDBlink [inherited]

LCD Blink control (UDC), supported for some Controllers.

Enumerator:
BlinkOff 

Blink Off.

BlinkOn 

Blink On.

Definition at line 299 of file TextLCD.h.

enum LCDCtrl [inherited]

LCD Controller Device.

Enumerator:
HD44780 

HD44780 or full equivalent (default)

AC780 

AC780/KS0066i 4/8 bit, SPI, I2C.

AIP31068 

AIP31068 I2C, SPI3.

KS0073 

KS0073 4/8 bit, SPI3.

KS0078 

KS0078 24x4 support, 4/8 bit, SPI3.

PCF2103_3V3 

PCF2103 3V3 no Booster, 4/8 bit, I2C.

PCF2113_3V3 

PCF2113 3V3 with Booster, 4/8 bit, I2C.

PCF2116_3V3 

PCF2116 3V3 with Booster, 4/8 bit, I2C.

PCF2116_5V 

PCF2116 5V no Booster, 4/8 bit, I2C.

PCF2116C_5V 

PCF2116C 3V3 with Booster, 4/8 bit, I2C.

PCF2119_3V3 

PCF2119 3V3 with Booster, 4/8 bit, I2C.

PCF2119R_3V3 

PCF2119R 3V3 with Booster, 4/8 bit, I2C.

PT6314 

PT6314 VFD Controller, 4/8 bit, SPI3.

SSD1803_3V3 

SSD1803 3V3 with Booster, 4/8 bit, I2C, SPI3.

ST7032_3V3 

ST7032/SPLC792A 3V3 with Booster, 4/8 bit, SPI4, I2C.

ST7032_5V 

ST7032/SPLC792A 5V no Booster, 4/8 bit, SPI4, I2C.

ST7036_3V3 

ST7036 3V3 with Booster, 4/8 bit, SPI4, I2C.

ST7036_5V 

ST7036 5V no Booster, 4/8 bit, SPI4, I2C.

ST7066_ACM 

ST7066 4/8 bit, I2C on ACM1602 using a PIC.

ST7070 

ST7070 4/8 bit, SPI3.

US2066_3V3 

US2066/SSD1311 3V3, 4/8 bit, I2C, SPI3.

WS0010 

WS0010/RS0010 OLED Controller, 4/8 bit, SPI3.

HD66712 

HD66712 Controller, 4/8 bit, SPI3.

SPLC792A_3V3 

ST7032/SPLC792A 3V3 with Booster, 4/8 bit, SPI3, SPI4, I2C.

Definition at line 243 of file TextLCD.h.

enum LCDCursor [inherited]

LCD Cursor control.

Enumerator:
CurOff_BlkOff 

Cursor Off, Blinking Char Off.

CurOff_BlkOn 

Cursor Off, Blinking Char On.

CurOn_BlkOff 

Cursor On, Blinking Char Off.

CurOn_BlkOn 

Cursor On, Blinking Char On.

Definition at line 279 of file TextLCD.h.

enum LCDFont [inherited]

LCD setFont control.

Note: most controllers support only one font and the hardware specific fonttable is encoded as part of the controller type number (eg PCF21XXC or PCF21XXR). Some controllers support multiple tables that can only be selected by logic levels on a few pins. Some controllers also support runtime fontable switching through a specific instruction

Enumerator:
Font_0 

HD44780 fonttable.

default, UK/JAP PCF21XX fonttables

Font_C 

PCF21XXC.

Font_R 

PCF21XXR.

SSD1803 ROM tables

Font_RA 

UK/EU.

Font_RB 

UK/Cyrillic.

Font_RC 

default, UK/JAP

Font_D 

SPLC780D Cyrillic.

Font_T 

ST7066-0T Cyrillic.

Definition at line 327 of file TextLCD.h.

enum LCDMode [inherited]

LCD Display control.

Enumerator:
DispOff 

Display Off.

DispOn 

Display On.

Definition at line 287 of file TextLCD.h.

enum LCDOrient [inherited]

LCD Orientation control, supported for some Controllers.

Enumerator:
Top 

Top view.

Bottom 

Upside down view.

Definition at line 305 of file TextLCD.h.

enum LCDType [inherited]

LCD panel format.

Enumerator:
LCD8x1 

8x1 LCD panel

LCD8x2 

8x2 LCD panel

LCD8x2B 

8x2 LCD panel (actually 16x1)

LCD10x4D 

10x4 LCD panel, special mode SSD1803

LCD12x1 

12x1 LCD panel

LCD12x2 

12x2 LCD panel

LCD12x3D 

12x3 LCD panel, special mode PCF21XX, KS0073

LCD12x3D1 

12x3 LCD panel, special mode PCF21XX, KS0073

LCD12x4 

12x4 LCD panel

LCD12x4D 

12x4 LCD panel, special mode PCF21XX, KS0073

LCD16x1 

16x1 LCD panel

LCD16x1C 

16x1 LCD panel (actually 8x2)

LCD16x2 

16x2 LCD panel (default)

LCD16x3D 

16x3 LCD panel, special mode SSD1803

LCD16x3F 

16x3 LCD panel (actually 24x2)

LCD16x3G 

16x3 LCD panel, special mode ST7036

LCD16x4 

16x4 LCD panel

LCD20x1 

20x1 LCD panel

LCD20x2 

20x2 LCD panel

LCD20x4 

20x4 LCD panel

LCD20x4D 

20x4 LCD panel, special mode SSD1803, KS0073

LCD24x1 

24x1 LCD panel

LCD24x2 

24x2 LCD panel

LCD24x4D 

24x4 LCD panel, special mode KS0078

LCD32x2 

32x2 LCD panel

LCD40x2 

40x2 LCD panel

LCD40x4 

40x4 LCD panel, Two controller version

Definition at line 190 of file TextLCD.h.


Constructor & Destructor Documentation

TextLCD_I2C_N ( I2C *  i2c,
char  deviceAddress = ST7032_SA,
LCDType  type = LCD16x2,
PinName  bl = NC,
LCDCtrl  ctrl = ST7032_3V3 
)

Create a TextLCD interface using a controller with native I2C interface.

Parameters:
i2cI2C Bus
deviceAddressI2C slave address (default = ST7032_SA = 0x7C)
typeSets the panel size/addressing mode (default = LCD16x2)
blBacklight control line (optional, default = NC)
ctrlLCD controller (default = ST7032_3V3)
i2cI2C Bus
deviceAddressI2C slave address (default = 0x7C)
typeSets the panel size/addressing mode (default = LCD16x2)
blBacklight control line (optional, default = NC)
ctrlLCD controller (default = ST7032_3V3)

Definition at line 3656 of file TextLCD.cpp.

~TextLCD_I2C_N ( void   ) [virtual]

Destruct a TextLCD interface using a controller with native I2C interface.

Definition at line 3687 of file TextLCD.cpp.


Member Function Documentation

int _address ( int  column,
int  row 
) [protected, inherited]

Low level character address set method.

Definition at line 1784 of file TextLCD.cpp.

void _init ( _LCDDatalength  dl = _LCD_DL_4 ) [protected, inherited]

Medium level initialisation method for LCD controller.

Init the LCD Controller(s) Clear display.

Parameters:
_LCDDatalengthdl sets the datalength of data/commands
Returns:
none

Definition at line 78 of file TextLCD.cpp.

void _initCtrl ( _LCDDatalength  dl = _LCD_DL_4 ) [protected, inherited]

Low level initialisation method for LCD controller Set number of lines, fonttype, no cursor etc The controller is accessed in 4-bit parallel mode either directly via mbed pins or through I2C or SPI expander.

Init the LCD controller Set number of lines, fonttype, no cursor etc The controller is accessed in 4-bit parallel mode either directly via mbed pins or through I2C or SPI expander.

Some controllers also support native I2C or SPI interfaces.

Parameters:
_LCDDatalengthdl sets the 4 or 8 bit datalength of data/commands. Required for some native serial modes.
Returns:
none

Some controllers also support native I2C or SPI interfaces.

Parameters:
_LCDDatalengthdl sets the 4 or 8 bit datalength of data/commands. Required for some native serial modes that dont work when DL=0.
Returns:
none

Note: some configurations are commented out because they have not yet been tested due to lack of hardware

Definition at line 110 of file TextLCD.cpp.

int _putc ( int  value ) [protected, virtual, inherited]

Write a single character (Stream implementation)

Definition at line 1543 of file TextLCD.cpp.

void _setCursor ( LCDCursor  show ) [protected, inherited]

Low level cursor enable or disable method.

void _setCursorAndDisplayMode ( LCDMode  displayMode,
LCDCursor  cursorType 
) [protected, inherited]

Low level method to restore the cursortype and display mode for current controller.

Definition at line 2078 of file TextLCD.cpp.

void _setUDC ( unsigned char  c,
char *  udc_data 
) [protected, inherited]

Low level method to store user defined characters for current controller.

Parameters:
unsignedchar c The Index of the UDC (0..7) for HD44780 clones and (0..15) for some more advanced controllers
char*udc_data The bitpatterns for the UDC (8 bytes of 5 significant bits)
unsignedchar c The Index of the UDC (0..7) for HD44780 clones and (0..15) for some more advanced controllers
char*udc_data The bitpatterns for the UDC (8 bytes of 5 significant bits for bitpattern and 3 bits for blinkmode (advanced types))

Definition at line 2159 of file TextLCD.cpp.

void _writeCommand ( int  command ) [protected, inherited]

Low level command byte write operation to LCD controller.

Methods resets the RS bit and provides the required timing for the command.

Definition at line 1761 of file TextLCD.cpp.

void _writeData ( int  data ) [protected, inherited]

Low level data byte write operation to LCD controller (serial or parallel).

Methods sets the RS bit and provides the required timing for the data.

Definition at line 1771 of file TextLCD.cpp.

void _writeNibble ( int  value ) [protected, inherited]

Low level nibble write operation to LCD controller (serial or parallel)

Definition at line 1730 of file TextLCD.cpp.

int ASCII_2_LCD ( int  c ) [inherited]

Convert ASCII character code to the LCD fonttable code.

Parameters:
cThe character to write to the display
Returns:
The character code for the specific fonttable of the controller

Definition at line 1618 of file TextLCD.cpp.

void clrIcon (  ) [inherited]

Clear Icons.

Parameters:
none
Returns:
none

Definition at line 2900 of file TextLCD.cpp.

void cls (  ) [inherited]

Clear the screen and locate to 0,0.

Clear the screen, Cursor home.

Note: The whole display is initialised to charcode 0x20, which may not be a 'space' on some controllers with a different fontset such as the PCF2116C or PCF2119R. In this case you should fill the display with 'spaces'.

Definition at line 1485 of file TextLCD.cpp.

int columns (  ) [inherited]

Return the number of columns.

Returns:
The number of columns
The number of columns

Note: some configurations are commented out because they have not yet been tested due to lack of hardware

Definition at line 1993 of file TextLCD.cpp.

int getAddress ( int  column,
int  row 
) [inherited]

Return the memoryaddress of screen column and row location.

Parameters:
columnThe horizontal position from the left, indexed from 0
rowThe vertical position from the top, indexed from 0
Returns:
The memoryaddress of screen column and row location

Definition at line 1798 of file TextLCD.cpp.

void locate ( int  column,
int  row 
) [inherited]

Locate cursor to a screen column and row.

Parameters:
columnThe horizontal position from the left, indexed from 0
rowThe vertical position from the top, indexed from 0

Definition at line 1530 of file TextLCD.cpp.

int printf ( const char *  text,
  ... 
) [inherited]

Write a raw string to the LCD.

Parameters:
stringtext, may be followed by variables to emulate formatting the string. However, printf formatting is NOT supported and variables will be ignored!

Definition at line 1718 of file TextLCD.cpp.

int printf ( const char *  format,
  ... 
) [inherited]

Write a formatted string to the LCD.

Parameters:
formatA printf-style format string, followed by the variables to use in formatting the string.
int putc ( int  c ) [inherited]

Write a character to the LCD.

Parameters:
cThe character to write to the display
int putc ( int  c ) [inherited]

Write a character to the LCD.

Parameters:
cThe character to write to the display

Definition at line 1708 of file TextLCD.cpp.

int rows (  ) [inherited]

Return the number of rows.

Returns:
The number of rows
The number of rows

Note: some configurations are commented out because they have not yet been tested due to lack of hardware

Definition at line 2006 of file TextLCD.cpp.

void setAddress ( int  column,
int  row 
) [inherited]

Set the memoryaddress of screen column and row location.

Parameters:
columnThe horizontal position from the left, indexed from 0
rowThe vertical position from the top, indexed from 0

Definition at line 1959 of file TextLCD.cpp.

void setBacklight ( LCDBacklight  backlightMode ) [inherited]

Set the Backlight mode.

Parameters:
backlightModeThe Backlight mode (LightOff, LightOn)

Definition at line 2096 of file TextLCD.cpp.

void setBigFont ( LCDBigFont  lines ) [inherited]

Set Big Font setBigFont method is supported by some compatible devices (eg SSD1803, US2066)

Parameters:
linesThe selected Big Font lines (None, TopLine, CenterLine, BottomLine, TopBottomLine) Double height characters can be shown on lines 1+2, 2+3, 3+4 or 1+2 and 3+4 Valid double height lines depend on the LCDs number of rows.
Returns:
none
Parameters:
linesThe selected Big Font lines (None, TopLine, CenterLine, BottomLine, TopBottomLine) Double height characters can be shown on lines 1+2, 2+3, 3+4 or 1+2 and 3+4 Valid double height lines depend on the LCDs number of rows.

Definition at line 2584 of file TextLCD.cpp.

void setContrast ( unsigned char  c = LCD_DEF_CONTRAST ) [inherited]

Set Contrast setContrast method is supported by some compatible devices (eg ST7032i) that have onboard LCD voltage generation Code imported from fork by JH1PJL.

Set Contrast setContrast method is supported by some compatible devices (eg ST7032i) that have onboard LCD voltage generation Initial code for ST70XX imported from fork by JH1PJL.

Parameters:
unsignedchar c contrast data (6 significant bits, valid range 0..63, Value 0 will disable the Vgen)
Returns:
none

Definition at line 2318 of file TextLCD.cpp.

void setCursor ( LCDCursor  cursorMode ) [inherited]

Set the Cursormode.

Parameters:
cursorModeThe Cursor mode (CurOff_BlkOff, CurOn_BlkOff, CurOff_BlkOn, CurOn_BlkOn)

Definition at line 2017 of file TextLCD.cpp.

void setFont ( LCDFont  font = Font_0 ) [inherited]

Set Font setFont method is supported by some compatible devices (eg SSD1803, US2066, ST7070)

Parameters:
LCDFontfont The selected Font
Returns:
none
Parameters:
LCDFontfont The selected Font
Returns:
none

Note: most controllers support only one font and the hardware specific fonttable is encoded as part of the controller type number (eg PCF21XXC or PCF21XXR). Some controllers support multiple tables that can only be selected by logic levels on a few pins. Some controllers also support runtime fontable switching through a specific instruction

Definition at line 2707 of file TextLCD.cpp.

void setIcon ( unsigned char  idx,
unsigned char  data 
) [inherited]

Set Icons.

Parameters:
unsignedchar idx The Index of the icon pattern (0..15) for KS0073 and similar controllers and Index (0..31) for PCF2103 and similar controllers
unsignedchar data The bitpattern for the icons (6 lsb for KS0073 bitpattern (5 lsb for KS0078) and 2 msb for blinkmode) The bitpattern for the PCF2103 icons is 5 lsb (UDC 0..2) and 5 lsb for blinkmode (UDC 4..6)

Definition at line 2800 of file TextLCD.cpp.

void setInvert ( bool  invertOn ) [inherited]

Set Invert setInvert method is supported by some compatible devices (eg KS0073) to swap between black and white.

Parameters:
boolinvertOn Invert on/off
Returns:
none

Definition at line 3034 of file TextLCD.cpp.

void setMode ( LCDMode  displayMode ) [inherited]

Set the Displaymode.

Parameters:
displayModeThe Display mode (DispOff, DispOn)

Definition at line 2030 of file TextLCD.cpp.

void setOrient ( LCDOrient  orient = Top ) [inherited]

Set Orient setOrient method is supported by some compatible devices (eg SSD1803, US2066) that have top/bottom view modes.

Parameters:
LCDOrientorient Orientation
Returns:
none

Definition at line 2467 of file TextLCD.cpp.

void setPower ( bool  powerOn = true ) [inherited]

Set Power setPower method is supported by some compatible devices (eg SSD1803) that have power down modes.

Parameters:
boolpowerOn Power on/off
Returns:
none

Definition at line 2390 of file TextLCD.cpp.

void setUDC ( unsigned char  c,
char *  udc_data 
) [inherited]

Set User Defined Characters (UDC)

Set User Defined Characters.

Parameters:
unsignedchar c The Index of the UDC (0..7) for HD44780 clones and (0..15) for some more advanced controllers
char*udc_data The bitpatterns for the UDC (8 bytes of 5 significant bits for bitpattern and 3 bits for blinkmode (advanced types))
unsignedchar c The Index of the UDC (0..7) for HD44780 or clones and (0..15) for some more advanced controllers
char*udc_data The bitpatterns for the UDC (8 bytes of 5 significant bits for bitpattern and 3 bits for blinkmode (advanced types))

Definition at line 2122 of file TextLCD.cpp.

void setUDCBlink ( LCDBlink  blinkMode ) [inherited]

Set UDC Blink and Icon blink setUDCBlink method is supported by some compatible devices (eg SSD1803)

Parameters:
blinkModeThe Blink mode (BlinkOff, BlinkOn)

Definition at line 2199 of file TextLCD.cpp.

int UTF_2_LCD ( int  c ) [inherited]

Convert UTF8 2-byte character code to the LCD fonttable code.

Parameters:
cThe character to write to the display
Returns:
character code for the specific fonttable of the controller or -1 if UTF8 code is not yet complete or incorrect

Orig by Andriy, Modified by WH

Note: The UTF8 decoding table for a specific controller is defined and selected in file TextLCD_UTF8.inc The table is accessed in this UTF_2_LCD() method through define UTF_FIRST, UTF_LAST, UTF_SEQ_REC_FIRST, UTF_SEQ_REC_LAST and define UTF_SEQ_RECODE and UTF_RND_RECODE

Definition at line 1648 of file TextLCD.cpp.