jhd1313m1: added backlight control functions

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Mihai Tudor Panu 2016-08-30 15:16:07 -07:00
parent 8d524b8744
commit 5304192813
2 changed files with 27 additions and 13 deletions

View File

@ -77,18 +77,9 @@ Jhd1313m1::Jhd1313m1(int bus, int lcdAddress, int rgbAddress)
ret = command(LCD_ENTRYMODESET | LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the LCD controller");
ret = m_i2c_lcd_rgb.writeReg(0, 0);
ret = setColor(0xFF, 0xFF, 0xFF);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
ret = m_i2c_lcd_rgb.writeReg(1, 0);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
ret = m_i2c_lcd_rgb.writeReg(0x08, 0xAA);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
ret = m_i2c_lcd_rgb.writeReg(0x04, 0xFF);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
ret = m_i2c_lcd_rgb.writeReg(0x03, 0xFF);
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
ret = m_i2c_lcd_rgb.writeReg(0x02, 0xFF);
ret = backlightOn();
UPM_CHECK_MRAA_SUCCESS(ret, "Unable to initialise the RGB controller");
}
@ -107,8 +98,6 @@ Jhd1313m1::setColor(uint8_t r, uint8_t g, uint8_t b)
UPM_GOTO_ON_MRAA_FAIL(ret, beach);
ret = m_i2c_lcd_rgb.writeReg(1, 0);
UPM_GOTO_ON_MRAA_FAIL(ret, beach);
ret = m_i2c_lcd_rgb.writeReg(0x08, 0xAA);
UPM_GOTO_ON_MRAA_FAIL(ret, beach);
ret = m_i2c_lcd_rgb.writeReg(0x04, r);
UPM_GOTO_ON_MRAA_FAIL(ret, beach);
@ -120,6 +109,18 @@ beach:
return ret;
}
mraa::Result
Jhd1313m1::backlightOn()
{
return m_i2c_lcd_rgb.writeReg(0x08, 0xAA);
}
mraa::Result
Jhd1313m1::backlightOff()
{
return m_i2c_lcd_rgb.writeReg(0x08, 0x00);
}
mraa::Result
Jhd1313m1::scroll(bool direction)
{

View File

@ -76,6 +76,7 @@ class Jhd1313m1 : public Lcm1602
mraa::Result scroll(bool direction);
/**
* Sets the color of the backlight
* Can be used to change the color even when the backlight is off
*
* @param r 0-255 value for red
* @param g 0-255 value for green
@ -83,6 +84,18 @@ class Jhd1313m1 : public Lcm1602
* @return Result of the operation
*/
mraa::Result setColor(uint8_t r, uint8_t g, uint8_t b);
/**
* Turns backlight on
*
* @return Result of operation
*/
mraa::Result backlightOn();
/**
* Turns backlight off, background color is saved
*
* @return Result of operation
*/
mraa::Result backlightOff();
protected:
virtual mraa::Result command(uint8_t cmd);