mirror of
https://github.com/eclipse/upm.git
synced 2025-07-03 10:21:19 +03:00
lcd: changed the OOO generalisation.
Signed-off-by: Kiveisha Yevgeniy <yevgeniy.kiveisha@intel.com>
This commit is contained in:
@ -41,29 +41,29 @@ Jhd1313m1::Jhd1313m1 (int bus, int lcdAddress, int rgbAddress) : IICLcd(bus, lcd
|
||||
}
|
||||
|
||||
usleep(50000);
|
||||
cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
usleep(4500);
|
||||
cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
usleep(4500);
|
||||
cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
usleep(4500);
|
||||
cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_FUNCTIONSET | LCD_2LINE);
|
||||
|
||||
cmd (m_i2c_lcd_control, LCD_DISPLAYCONTROL | LCD_DISPLAYON);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_DISPLAYCONTROL | LCD_DISPLAYON);
|
||||
clear ();
|
||||
usleep(4500);
|
||||
|
||||
cmd (m_i2c_lcd_control, LCD_ENTRYMODESET |
|
||||
LCD_ENTRYLEFT |
|
||||
LCD_ENTRYSHIFTDECREMENT);
|
||||
i2Cmd (m_i2c_lcd_control, LCD_ENTRYMODESET |
|
||||
LCD_ENTRYLEFT |
|
||||
LCD_ENTRYSHIFTDECREMENT);
|
||||
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 0, 0);
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 1, 0);
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 0x08, 0xAA);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 0, 0);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 1, 0);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 0x08, 0xAA);
|
||||
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 0x04, 255);
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 0x03, 255);
|
||||
setReg (m_i2c_lcd_rgb, m_rgb_address, 0x02, 255);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 0x04, 255);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 0x03, 255);
|
||||
i2cReg (m_i2c_lcd_rgb, m_rgb_address, 0x02, 255);
|
||||
}
|
||||
|
||||
Jhd1313m1::~Jhd1313m1() {
|
||||
@ -80,9 +80,7 @@ Jhd1313m1::write (std::string msg) {
|
||||
maa_result_t error = MAA_SUCCESS;
|
||||
uint8_t data[2] = {0x40, 0};
|
||||
for (std::string::size_type i = 0; i < msg.size(); ++i) {
|
||||
data[1] = msg[i];
|
||||
error = maa_i2c_address (m_i2c_lcd_control, m_lcd_control_address);
|
||||
error = maa_i2c_write (m_i2c_lcd_control, data, 2);
|
||||
error = i2cData (m_i2c_lcd_control, msg[i]);
|
||||
}
|
||||
|
||||
return error;
|
||||
@ -91,50 +89,19 @@ Jhd1313m1::write (std::string msg) {
|
||||
maa_result_t
|
||||
Jhd1313m1::setCursor (int row, int column) {
|
||||
maa_result_t error = MAA_SUCCESS;
|
||||
|
||||
int row_addr[] = { 0x80, 0xc0, 0x14, 0x54};
|
||||
uint8_t offset = ((column % 16) + row_addr[row]);
|
||||
|
||||
uint8_t data[2] = { 0x80, offset };
|
||||
error = maa_i2c_address (m_i2c_lcd_control, m_lcd_control_address);
|
||||
error = maa_i2c_write (m_i2c_lcd_control, data, 2);
|
||||
error = i2Cmd (m_i2c_lcd_control, offset);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
maa_result_t
|
||||
Jhd1313m1::clear () {
|
||||
return cmd (m_i2c_lcd_control, LCD_CLEARDISPLAY);
|
||||
return i2Cmd (m_i2c_lcd_control, LCD_CLEARDISPLAY);
|
||||
}
|
||||
|
||||
maa_result_t
|
||||
Jhd1313m1::home () {
|
||||
return cmd (m_i2c_lcd_control, LCD_RETURNHOME);
|
||||
}
|
||||
|
||||
/*
|
||||
* **************
|
||||
* private area
|
||||
* **************
|
||||
*/
|
||||
maa_result_t
|
||||
Jhd1313m1::setReg (maa_i2c_context ctx, int deviceAdress, int addr, uint8_t value) {
|
||||
maa_result_t error = MAA_SUCCESS;
|
||||
|
||||
uint8_t data[2] = { addr, value };
|
||||
error = maa_i2c_address (ctx, deviceAdress);
|
||||
error = maa_i2c_write (ctx, data, 2);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
maa_result_t
|
||||
Jhd1313m1::cmd (maa_i2c_context ctx, uint8_t value) {
|
||||
maa_result_t error = MAA_SUCCESS;
|
||||
|
||||
uint8_t data[2] = { 0x80, value };
|
||||
error = maa_i2c_address (ctx, m_lcd_control_address);
|
||||
error = maa_i2c_write (ctx, data, 2);
|
||||
|
||||
return error;
|
||||
return i2Cmd (m_i2c_lcd_control, LCD_RETURNHOME);
|
||||
}
|
||||
|
Reference in New Issue
Block a user