Heavily documented control library for the uOLED-96-G1 (SGC) by 4D Systems. Will likely work with any of the 4D Systems serial controlled screens. <<info>> All examples in the documentation have been tested to the best of my current abilities, but there are a few functions that I simply do not use. I have created a Lighthouse page for this library. You may submit bug reports or feature requests to [[http://mbed-uoled.lighthouseapp.com|this page]]. If you really do not wish to sign up for a Lighthouse account you may also post any bugs or requests [[/users/Nakor/notebook/uoled-bug-reports/|here]]. <</info>>
Dependents: DS18B20 DS18B20GSM Astromed Astromed_build20121123
Diff: uOLED.cpp
- Revision:
- 19:cc4f5d01f080
- Parent:
- 17:cee1c66b3133
- Child:
- 21:87a2227c1ad2
--- a/uOLED.cpp Tue Dec 21 01:15:01 2010 +0000 +++ b/uOLED.cpp Tue Dec 21 14:45:35 2010 +0000 @@ -65,14 +65,6 @@ return (_oled.getc() == OLED_ACK); } -bool uOLED::setContrast(char contrast) { - _oled.putc(0x59); - _oled.putc(0x02); - _oled.putc(contrast); - - return (_oled.getc() == OLED_ACK); -} - bool uOLED::displayUserBitmappedCharacter(char character, char x, char y, short color) { _oled.putc(0x44); _oled.putc(character); @@ -95,7 +87,10 @@ return (_oled.getc() == OLED_ACK); } -bool uOLED::drawCircle(char x, char y, char radius, short color) { +bool uOLED::drawCircle(char x, char y, char radius, short red, short green, short blue) +{ + short color = getRGB(red, green, blue); + _oled.putc(0x43); _oled.putc(x); _oled.putc(y); @@ -125,7 +120,10 @@ return (_oled.getc() == OLED_ACK); } -bool uOLED::drawLine(char x1, char y1, char x2, char y2, short color) { +bool uOLED::drawLine(char x1, char y1, char x2, char y2, short red, short green, short blue) +{ + short color = getRGB(red, green, blue); + _oled.putc(0x4C); _oled.putc(x1); _oled.putc(y1); @@ -177,11 +175,7 @@ bool uOLED::drawTextUF(char x, char y, char font, short red, short green, short blue, char width, char height, char *text) { - int outR = ((red * 31) / 255); - int outG = ((green * 63) / 255); - int outB = ((blue * 31) / 255); - - short colour = (outR << 11) | (outG << 5) | outB; + short colour = getRGB(red, green, blue); _oled.putc(0x53); _oled.putc(x); @@ -263,11 +257,7 @@ bool uOLED::setBackgroundColour(char red, char green, char blue) { - int outR = ((red * 31) / 255); - int outG = ((green * 63) / 255); - int outB = ((blue * 31) / 255); - - short colour = (outR << 11) | (outG << 5) | outB; + short colour = getRGB(red, green, blue); _oled.putc(0x42);