upm  0.3.2
Sensor/Actuator repository for libmraa (v0.7.2)
Public Member Functions | Protected Member Functions | Protected Attributes

API for the LCM1602 I2C controller for HD44780-based displays. More...

Detailed Description

This supports all sizes of HD44780 displays, from 16x2 to 4x20. The controller has no idea of the actual display hardware, so it lets you write farther than you can see. These displays with such controllers are available from various manufacturers with different I2C addresses. Adafruit* TC1602A-01T seems to be a well-documented example.

lcm1602.jpeg
upm::Lcm1602* lcd = new upm::Lcm1602(0, 0x27);
lcd->setCursor(0,0);
lcd->write("Hello World");

Public Member Functions

 Lcm1602 (int bus, int address, bool isExpander=true)
 
 Lcm1602 (uint8_t rs, uint8_t enable, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
 
 ~Lcm1602 ()
 
mraa_result_t write (std::string msg)
 
mraa_result_t setCursor (int row, int column)
 
mraa_result_t clear ()
 
mraa_result_t home ()
 
mraa_result_t createChar (uint8_t charSlot, uint8_t charData[])
 
mraa_result_t displayOn ()
 
mraa_result_t displayOff ()
 
mraa_result_t cursorOn ()
 
mraa_result_t cursorOff ()
 
mraa_result_t cursorBlinkOn ()
 
mraa_result_t cursorBlinkOff ()
 
mraa_result_t scrollDisplayLeft ()
 
mraa_result_t scrollDisplayRight ()
 
mraa_result_t entryLeftToRight ()
 
mraa_result_t entryRightToLeft ()
 
mraa_result_t autoscrollOn ()
 
mraa_result_t autoscrollOff ()
 
- Public Member Functions inherited from LCD
mraa_result_t write (int x, int y, std::string msg)
 
std::string name ()
 

Protected Member Functions

mraa_result_t send (uint8_t value, int mode)
 
mraa_result_t write4bits (uint8_t value)
 
mraa_result_t expandWrite (uint8_t value)
 
mraa_result_t pulseEnable (uint8_t value)
 
virtual mraa_result_t command (uint8_t cmd)
 
virtual mraa_result_t data (uint8_t data)
 

Protected Attributes

uint8_t m_displayControl
 
uint8_t m_entryDisplayMode
 
int m_lcd_control_address
 
mraa::I2c * m_i2c_lcd_control
 
- Protected Attributes inherited from LCD
std::string m_name
 

Constructor & Destructor Documentation

Lcm1602 ( int  bus,
int  address,
bool  isExpander = true 
)

Lcm1602 constructor; calls libmraa initialisation functions

Parameters
busI2C bus to use
addressSlave address the LCD is registered on
isExpanderTrue if we are dealing with an I2C expander, false otherwise. Default is true.

Here is the call graph for this function:

Lcm1602 ( uint8_t  rs,
uint8_t  enable,
uint8_t  d0,
uint8_t  d1,
uint8_t  d2,
uint8_t  d3 
)

Lcm1602 alternate constructor, used for GPIO based hd44780 controllers supporting RS, Enable, and 4 data pins in 4-bit mode.

Parameters
rsRegister select pin
enableEnable pin
d0Data 0 pin
d1Data 1 pin
d2Data 2 pin
d3Data 3 pin

Here is the call graph for this function:

~Lcm1602 ( )

Lcm1602 destructor

Member Function Documentation

mraa_result_t write ( std::string  msg)
virtual

Writes a string to the LCD

Parameters
msgstd::string to write to the display; note: only ASCII characters are supported
Returns
Result of the operation

Implements LCD.

mraa_result_t setCursor ( int  row,
int  column 
)
virtual

Sets the cursor to specified coordinates

Parameters
rowRow to set the cursor to
columnColumn to set the cursor to
Returns
Result of the operation

Implements LCD.

mraa_result_t clear ( )
virtual

Clears the display of all characters

Returns
Result of the operation

Implements LCD.

Here is the caller graph for this function:

mraa_result_t home ( )
virtual

Returns to the original coordinates (0,0)

Returns
Result of the operation

Implements LCD.

Here is the caller graph for this function:

mraa_result_t createChar ( uint8_t  charSlot,
uint8_t  charData[] 
)

Create a custom character

Parameters
charSlotthe character slot to write, only 8 are available
charDataThe character data (8 bytes) making up the character
Returns
Result of operation
mraa_result_t displayOn ( )

Turn the display on

Returns
Result of operation

Here is the caller graph for this function:

mraa_result_t displayOff ( )

Turn the display off

Returns
Result of operation
mraa_result_t cursorOn ( )

Turn the cursor on

Returns
Result of operation
mraa_result_t cursorOff ( )

Turn the cursor off

Returns
Result of operation
mraa_result_t cursorBlinkOn ( )

Turn cursor blink on

Returns
Result of operation
mraa_result_t cursorBlinkOff ( )

Turn cursor blink off

Returns
Result of operation
mraa_result_t scrollDisplayLeft ( )

Scroll the display left, without changing the character RAM

Returns
Result of operation

Here is the caller graph for this function:

mraa_result_t scrollDisplayRight ( )

Scroll the display right, without changing the character RAM

Returns
Result of operation

Here is the caller graph for this function:

mraa_result_t entryLeftToRight ( )

set the entry mode so that characters are added left to right

Returns
Result of operation
mraa_result_t entryRightToLeft ( )

set the entry mode so that characters are added right to left

Returns
Result of operation
mraa_result_t autoscrollOn ( )

Right justify text entered from the cursor

Returns
Result of operation
mraa_result_t autoscrollOff ( )

Left justify text entered from the cursor

Returns
Result of operation
Inheritance diagram for Lcm1602:
Inheritance graph
[legend]
Collaboration diagram for Lcm1602:
Collaboration graph
[legend]

The documentation for this class was generated from the following files: