27 #include <mraa/i2c.hpp>
32 const uint8_t LCD_CLEARDISPLAY = 0x01;
33 const uint8_t LCD_RETURNHOME = 0x02;
34 const uint8_t LCD_ENTRYMODESET = 0x04;
35 const uint8_t LCD_DISPLAYCONTROL = 0x08;
36 const uint8_t LCD_CURSORSHIFT = 0x10;
37 const uint8_t LCD_FUNCTIONSET = 0x20;
38 const uint8_t LCD_DATA = 0x40;
39 const uint8_t LCD_CMD = 0x80;
41 const uint8_t LCD_BACKLIGHT = 0x08;
42 const uint8_t LCD_NOBACKLIGHT = 0x00;
45 const uint8_t LCD_ENTRYRIGHT = 0x00;
46 const uint8_t LCD_ENTRYLEFT = 0x02;
47 const uint8_t LCD_ENTRYSHIFTINCREMENT = 0x01;
48 const uint8_t LCD_ENTRYSHIFTDECREMENT = 0x00;
51 const uint8_t LCD_DISPLAYON = 0x04;
52 const uint8_t LCD_DISPLAYOFF = 0x00;
53 const uint8_t LCD_CURSORON = 0x02;
54 const uint8_t LCD_CURSOROFF = 0x00;
55 const uint8_t LCD_BLINKON = 0x01;
56 const uint8_t LCD_BLINKOFF = 0x00;
59 const uint8_t LCD_DISPLAYMOVE = 0x08;
60 const uint8_t LCD_MOVERIGHT = 0x04;
61 const uint8_t LCD_MOVELEFT = 0x00;
64 const uint8_t LCD_8BITMODE = 0x10;
65 const uint8_t LCD_4BITMODE = 0x00;
66 const uint8_t LCD_2LINE = 0x08;
67 const uint8_t LCD_1LINE = 0x00;
68 const uint8_t LCD_5x10DOTS = 0x04;
69 const uint8_t LCD_5x8DOTS = 0x00;
72 const uint8_t LCD_SETCGRAMADDR = 0x40;
74 const uint8_t LCD_EN = 0x04;
75 const uint8_t LCD_RW = 0x02;
76 const uint8_t LCD_RS = 0x01;
86 I2CLcd(
int bus,
int lcdAddress);
87 mraa_result_t write(
int x,
int y, std::string msg);
89 virtual mraa_result_t write(std::string msg) = 0;
90 virtual mraa_result_t setCursor(
int row,
int column) = 0;
91 virtual mraa_result_t clear() = 0;
92 virtual mraa_result_t home() = 0;
93 virtual mraa_result_t createChar(uint8_t charSlot, uint8_t charData[]);
99 int m_lcd_control_address;
102 mraa::I2c m_i2c_lcd_control;