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
uOLED.h
- Committer:
- Nakor
- Date:
- 2010-12-20
- Revision:
- 0:4f009971ac11
- Child:
- 1:476dcc382de3
File content as of revision 0:4f009971ac11:
/* mbed 4D uOLED Library * Originally designed for use with uOLED-96-G1 (SGC) * serially controlled .96" screen. * * This is a modified library originally obtained from * Erik van Wijk's library code at: * http://mbed.org/users/evwijk/libraries/microOLED/li4nzn */ #ifndef _MBED_UOLED_ #define _MBED_UOLED_ #include "mbed.h" #define OLED_FONT5X7 0x01 #define OLED_FONT8X8 0x02 #define OLED_FONT8X12 0x03 #define OLED_DISPLAYCONTROL_DISPLAY 0x01 #define OLED_DISPLAYCONTROL_CONTRAST 0x02 #define OLED_DISPLAYCONTROL_POWER 0x03 /** uOLED control class using Serial * * Example: * @code * // Draw text on the screen. * #include "mbed.h" * #include "uOLED.h" * * uOLED SGC(p9, p10, p11); * int main() * { * SGC.drawText(0, 0, 0, FF, "This is text"); * } */ class uOLED { public: uOLED(PinName serialTX, PinName serialRX, PinName reset); short getRGB(char red, char green, char blue); bool addBitmappedCharacter(char character, char data[8]); bool blockCopyPaste(char sourceX, char sourceY, char destinationX, char destinationY, char width, char height); bool displayControl(char mode); bool displayUserBitmappedCharacter(char character, char x, char y, short color); bool drawCircle(char x, char y, char radius, short color); bool drawCharacter(char character, char column, char row, short color); bool drawImage(char x, char y, char width, char height, char colorMode, char *pixels); bool drawLine(char x1, char y1, char x2, char y2, short color); bool drawPolygon(char vertices, char *x, char *y, short color); bool drawRectangle(char x, char y, char width, char height, short color); bool drawText(char column, char row, char font, short color, char *text); bool drawTriangle(char x1, char y1, char x2, char y2, char x3, char y3, short color); bool eraseScreen(); /** Initialize the screen. This must be completed before any other communication with the device. * Timing allows for at least 500ms delay for initialization. */ bool init(); bool penSize(char size); bool putPixel(char x, char y, short color); short readPixel(char x, char y); bool setBackgroundColor(short color); bool setFontSize(char fontType); bool textButton(char state, char x, char y, short buttonColor, char font, short textColor, char textWidth, char textHeight, char *text); bool textMode(char mode); bool versionInfo(bool onScreen, char *info); protected: Serial _oled; DigitalOut _reset; void resetDisplay(); };