ssd1327: various functions should return values

defects 377, 378, 379, 380

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-06-10 15:59:37 -06:00 committed by Mihai Tudor Panu
parent dae5c67c02
commit f8179328cf
2 changed files with 19 additions and 13 deletions

View File

@ -221,7 +221,7 @@ SSD1327::home()
return setCursor(0, 0); return setCursor(0, 0);
} }
mraa_result_t void
SSD1327::setGrayLevel(uint8_t level) SSD1327::setGrayLevel(uint8_t level)
{ {
grayHigh = (level << 4) & 0xF0; grayHigh = (level << 4) & 0xF0;
@ -236,6 +236,7 @@ SSD1327::setGrayLevel(uint8_t level)
mraa_result_t mraa_result_t
SSD1327::writeChar(uint8_t value) SSD1327::writeChar(uint8_t value)
{ {
mraa_result_t rv = MRAA_SUCCESS;
if (value < 0x20 || value > 0x7F) { if (value < 0x20 || value > 0x7F) {
value = 0x20; // space value = 0x20; // space
} }
@ -250,10 +251,11 @@ SSD1327::writeChar(uint8_t value)
data |= (bitOne) ? grayHigh : 0x00; data |= (bitOne) ? grayHigh : 0x00;
data |= (bitTwo) ? grayLow : 0x00; data |= (bitTwo) ? grayLow : 0x00;
m_i2c_lcd_control.writeReg(LCD_DATA, data); rv = m_i2c_lcd_control.writeReg(LCD_DATA, data);
usleep(CMD_SLEEP - 2000); usleep(CMD_SLEEP - 2000);
} }
} }
return rv;
} }
mraa_result_t mraa_result_t
@ -266,35 +268,39 @@ SSD1327::setNormalDisplay()
mraa_result_t mraa_result_t
SSD1327::setHorizontalMode() SSD1327::setHorizontalMode()
{ {
m_i2c_lcd_control.writeReg(LCD_CMD, 0xA0); // remap to mraa_result_t rv = MRAA_SUCCESS;
rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0xA0); // remap to
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x42); // horizontal mode rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x42); // horizontal mode
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
// Row Address // Row Address
m_i2c_lcd_control.writeReg(LCD_CMD, 0x75); // Set Row Address rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x75); // Set Row Address
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x00); // Start 0 rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x00); // Start 0
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x5f); // End 95 rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x5f); // End 95
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
// Column Address // Column Address
m_i2c_lcd_control.writeReg(LCD_CMD, 0x15); // Set Column Address rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x15); // Set Column Address
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x08); // Start from 8th Column of driver rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x08); // Start from 8th Column of driver
// IC. This is 0th Column for OLED // IC. This is 0th Column for OLED
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x37); // End at (8 + 47)th column. Each rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x37); // End at (8 + 47)th column. Each
// Column has 2 pixels(or segments) // Column has 2 pixels(or segments)
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
return rv;
} }
mraa_result_t mraa_result_t
SSD1327::setVerticalMode() SSD1327::setVerticalMode()
{ {
m_i2c_lcd_control.writeReg(LCD_CMD, 0xA0); // remap to mraa_result_t rv = MRAA_SUCCESS;
rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0xA0); // remap to
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
m_i2c_lcd_control.writeReg(LCD_CMD, 0x46); // Vertical mode rv = m_i2c_lcd_control.writeReg(LCD_CMD, 0x46); // Vertical mode
usleep(CMD_SLEEP); usleep(CMD_SLEEP);
return rv;
} }

View File

@ -81,7 +81,7 @@ class SSD1327 : public I2CLcd
* @param gray level from 0-255 * @param gray level from 0-255
* @return Result of operation * @return Result of operation
*/ */
mraa_result_t setGrayLevel(uint8_t level); void setGrayLevel(uint8_t level);
/** /**
* Write a string to LCD * Write a string to LCD
* *