jhd1313m1: add createChar() method, as it should be supported by this device

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Jon Trulson 2015-07-09 14:12:20 -06:00 committed by Mihai Tudor Panu
parent 1647f572ff
commit 8462e8ce52
2 changed files with 24 additions and 0 deletions

View File

@ -125,6 +125,21 @@ Jhd1313m1::scroll(bool direction)
}
}
mraa_result_t
Jhd1313m1::createChar(uint8_t charSlot, uint8_t charData[])
{
mraa_result_t error = MRAA_SUCCESS;
charSlot &= 0x07; // only have 8 positions we can set
error = m_i2c_lcd_control.writeReg(LCD_CMD, LCD_SETCGRAMADDR | (charSlot << 3));
if (error == MRAA_SUCCESS) {
for (int i = 0; i < 8; i++) {
error = m_i2c_lcd_control.writeReg(LCD_DATA, charData[i]);
}
}
return error;
}
/*
* **************
* virtual area

View File

@ -111,6 +111,15 @@ class Jhd1313m1 : public LCD
*/
mraa_result_t home();
/**
* Create a custom character
*
* @param charSlot the character slot to write, only 8 are available
* @param charData The character data (8 bytes) making up the character
* @return Result of operation
*/
mraa_result_t createChar(uint8_t charSlot, uint8_t charData[]);
private:
int m_rgb_address;
mraa::I2c m_i2c_lcd_rgb;