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

Committer:
Nakor
Date:
Mon Dec 20 18:28:24 2010 +0000
Revision:
3:949c5ac54e9c
Parent:
2:559b81f2bb1e
Child:
4:51f274633e70
Library rewrite.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nakor 0:4f009971ac11 1 /* mbed 4D uOLED Library
Nakor 0:4f009971ac11 2 * Originally designed for use with uOLED-96-G1 (SGC)
Nakor 0:4f009971ac11 3 * serially controlled .96" screen.
Nakor 0:4f009971ac11 4 *
Nakor 0:4f009971ac11 5 * This is a modified library originally obtained from
Nakor 0:4f009971ac11 6 * Erik van Wijk's library code at:
Nakor 0:4f009971ac11 7 * http://mbed.org/users/evwijk/libraries/microOLED/li4nzn
Nakor 0:4f009971ac11 8 */
Nakor 0:4f009971ac11 9
Nakor 0:4f009971ac11 10 #ifndef _MBED_UOLED_
Nakor 0:4f009971ac11 11 #define _MBED_UOLED_
Nakor 0:4f009971ac11 12
Nakor 0:4f009971ac11 13 #include "mbed.h"
Nakor 0:4f009971ac11 14
Nakor 0:4f009971ac11 15 #define OLED_FONT5X7 0x01
Nakor 0:4f009971ac11 16 #define OLED_FONT8X8 0x02
Nakor 0:4f009971ac11 17 #define OLED_FONT8X12 0x03
Nakor 0:4f009971ac11 18
Nakor 0:4f009971ac11 19 #define OLED_DISPLAYCONTROL_DISPLAY 0x01
Nakor 0:4f009971ac11 20 #define OLED_DISPLAYCONTROL_CONTRAST 0x02
Nakor 0:4f009971ac11 21 #define OLED_DISPLAYCONTROL_POWER 0x03
Nakor 0:4f009971ac11 22
Nakor 0:4f009971ac11 23 /** uOLED control class using Serial
Nakor 0:4f009971ac11 24 *
Nakor 0:4f009971ac11 25 * Example:
Nakor 0:4f009971ac11 26 * @code
Nakor 0:4f009971ac11 27 * // Draw text on the screen.
Nakor 0:4f009971ac11 28 * #include "mbed.h"
Nakor 0:4f009971ac11 29 * #include "uOLED.h"
Nakor 0:4f009971ac11 30 *
Nakor 0:4f009971ac11 31 * uOLED SGC(p9, p10, p11);
Nakor 0:4f009971ac11 32 *
Nakor 0:4f009971ac11 33 int main()
Nakor 0:4f009971ac11 34 * {
Nakor 0:4f009971ac11 35 * SGC.drawText(0, 0, 0, FF, "This is text");
Nakor 0:4f009971ac11 36 * }
Nakor 3:949c5ac54e9c 37 * @endcode
Nakor 0:4f009971ac11 38 */
Nakor 0:4f009971ac11 39 class uOLED {
Nakor 0:4f009971ac11 40 public:
Nakor 0:4f009971ac11 41
Nakor 1:476dcc382de3 42 /** Dunno
Nakor 1:476dcc382de3 43 * Dunno
Nakor 2:559b81f2bb1e 44 * @param serialTX - mbed TX pin to be used
Nakor 2:559b81f2bb1e 45 * @param serialRX - mbed RX pin to be used
Nakor 2:559b81f2bb1e 46 * @param reset - mbed pin to control reset of the uOLED
Nakor 1:476dcc382de3 47 */
Nakor 0:4f009971ac11 48 uOLED(PinName serialTX, PinName serialRX, PinName reset);
Nakor 1:476dcc382de3 49
Nakor 1:476dcc382de3 50 /** Dunno2
Nakor 1:476dcc382de3 51 * Dunno
Nakor 2:559b81f2bb1e 52 * @param returns something.
Nakor 1:476dcc382de3 53 */
Nakor 0:4f009971ac11 54 short getRGB(char red, char green, char blue);
Nakor 0:4f009971ac11 55
Nakor 1:476dcc382de3 56 /** Dunno3
Nakor 1:476dcc382de3 57 * Dunno
Nakor 2:559b81f2bb1e 58 * @param returns something.
Nakor 1:476dcc382de3 59 */
Nakor 0:4f009971ac11 60 bool addBitmappedCharacter(char character, char data[8]);
Nakor 1:476dcc382de3 61 /** Dunno4
Nakor 1:476dcc382de3 62 * Dunno
Nakor 2:559b81f2bb1e 63 * @param returns something.
Nakor 1:476dcc382de3 64 */
Nakor 0:4f009971ac11 65 bool blockCopyPaste(char sourceX, char sourceY, char destinationX, char destinationY, char width, char height);
Nakor 1:476dcc382de3 66 /** Dunno5
Nakor 1:476dcc382de3 67 * Dunno
Nakor 2:559b81f2bb1e 68 * @param returns something.
Nakor 1:476dcc382de3 69 */
Nakor 0:4f009971ac11 70 bool displayControl(char mode);
Nakor 1:476dcc382de3 71 /** Dunno6
Nakor 1:476dcc382de3 72 * Dunno
Nakor 2:559b81f2bb1e 73 * @param returns something.
Nakor 1:476dcc382de3 74 */
Nakor 0:4f009971ac11 75 bool displayUserBitmappedCharacter(char character, char x, char y, short color);
Nakor 1:476dcc382de3 76 /** Dunno7
Nakor 1:476dcc382de3 77 * Dunno
Nakor 2:559b81f2bb1e 78 * @param returns something.
Nakor 1:476dcc382de3 79 */
Nakor 0:4f009971ac11 80 bool drawCircle(char x, char y, char radius, short color);
Nakor 1:476dcc382de3 81 /** Dunno8
Nakor 1:476dcc382de3 82 * Dunno
Nakor 2:559b81f2bb1e 83 * @param returns something.
Nakor 1:476dcc382de3 84 */
Nakor 0:4f009971ac11 85 bool drawCharacter(char character, char column, char row, short color);
Nakor 1:476dcc382de3 86 /** Dunno9
Nakor 1:476dcc382de3 87 * Dunno
Nakor 2:559b81f2bb1e 88 * @param returns something.
Nakor 1:476dcc382de3 89 */
Nakor 0:4f009971ac11 90 bool drawImage(char x, char y, char width, char height, char colorMode, char *pixels);
Nakor 1:476dcc382de3 91 /** Dunno10
Nakor 1:476dcc382de3 92 * Dunno
Nakor 2:559b81f2bb1e 93 * @param returns something.
Nakor 1:476dcc382de3 94 */
Nakor 0:4f009971ac11 95 bool drawLine(char x1, char y1, char x2, char y2, short color);
Nakor 1:476dcc382de3 96 /** Dunno11
Nakor 1:476dcc382de3 97 * Dunno
Nakor 2:559b81f2bb1e 98 * @param returns something.
Nakor 1:476dcc382de3 99 */
Nakor 0:4f009971ac11 100 bool drawPolygon(char vertices, char *x, char *y, short color);
Nakor 1:476dcc382de3 101 /** Dunno12
Nakor 1:476dcc382de3 102 * Dunno
Nakor 2:559b81f2bb1e 103 * @param returns something.
Nakor 1:476dcc382de3 104 */
Nakor 0:4f009971ac11 105 bool drawRectangle(char x, char y, char width, char height, short color);
Nakor 1:476dcc382de3 106 /** Dunno13
Nakor 1:476dcc382de3 107 * Dunno
Nakor 2:559b81f2bb1e 108 * @param returns something.
Nakor 1:476dcc382de3 109 */
Nakor 0:4f009971ac11 110 bool drawText(char column, char row, char font, short color, char *text);
Nakor 1:476dcc382de3 111 /** Dunno14
Nakor 1:476dcc382de3 112 * Dunno
Nakor 2:559b81f2bb1e 113 * @param returns something.
Nakor 1:476dcc382de3 114 */
Nakor 0:4f009971ac11 115 bool drawTriangle(char x1, char y1, char x2, char y2, char x3, char y3, short color);
Nakor 1:476dcc382de3 116 /** Dunno15
Nakor 1:476dcc382de3 117 * Dunno
Nakor 2:559b81f2bb1e 118 * @param returns something.
Nakor 1:476dcc382de3 119 */
Nakor 0:4f009971ac11 120 bool eraseScreen();
Nakor 0:4f009971ac11 121 /** Initialize the screen. This must be completed before any other communication with the device.
Nakor 0:4f009971ac11 122 * Timing allows for at least 500ms delay for initialization.
Nakor 2:559b81f2bb1e 123 * @param returns bool indicating success or failure of initialization.
Nakor 0:4f009971ac11 124 */
Nakor 0:4f009971ac11 125 bool init();
Nakor 1:476dcc382de3 126 /** Dunno16
Nakor 1:476dcc382de3 127 * Dunno
Nakor 2:559b81f2bb1e 128 * @param returns something.
Nakor 1:476dcc382de3 129 */
Nakor 0:4f009971ac11 130 bool penSize(char size);
Nakor 1:476dcc382de3 131 /** Dunno17
Nakor 1:476dcc382de3 132 * Dunno
Nakor 2:559b81f2bb1e 133 * @param returns something.
Nakor 1:476dcc382de3 134 */
Nakor 0:4f009971ac11 135 bool putPixel(char x, char y, short color);
Nakor 1:476dcc382de3 136 /** Dunno18
Nakor 1:476dcc382de3 137 * Dunno
Nakor 2:559b81f2bb1e 138 * @param returns something.
Nakor 1:476dcc382de3 139 */
Nakor 0:4f009971ac11 140 short readPixel(char x, char y);
Nakor 1:476dcc382de3 141 /** Dunno19
Nakor 1:476dcc382de3 142 * Dunno
Nakor 2:559b81f2bb1e 143 * @param returns something.
Nakor 1:476dcc382de3 144 */
Nakor 0:4f009971ac11 145 bool setBackgroundColor(short color);
Nakor 1:476dcc382de3 146 /** Dunno20
Nakor 1:476dcc382de3 147 * Dunno
Nakor 2:559b81f2bb1e 148 * @param returns something.
Nakor 1:476dcc382de3 149 */
Nakor 0:4f009971ac11 150 bool setFontSize(char fontType);
Nakor 1:476dcc382de3 151 /** Dunno21
Nakor 1:476dcc382de3 152 * Dunno
Nakor 2:559b81f2bb1e 153 * @param returns something.
Nakor 1:476dcc382de3 154 */
Nakor 0:4f009971ac11 155 bool textButton(char state, char x, char y, short buttonColor, char font, short textColor, char textWidth, char textHeight, char *text);
Nakor 1:476dcc382de3 156 /** Dunno22
Nakor 1:476dcc382de3 157 * Dunno
Nakor 2:559b81f2bb1e 158 * @param returns something.
Nakor 1:476dcc382de3 159 */
Nakor 0:4f009971ac11 160 bool textMode(char mode);
Nakor 1:476dcc382de3 161 /** Dunno23
Nakor 1:476dcc382de3 162 * Dunno
Nakor 2:559b81f2bb1e 163 * @param returns something.
Nakor 1:476dcc382de3 164 */
Nakor 0:4f009971ac11 165 bool versionInfo(bool onScreen, char *info);
Nakor 0:4f009971ac11 166
Nakor 0:4f009971ac11 167
Nakor 0:4f009971ac11 168 protected:
Nakor 0:4f009971ac11 169 Serial _oled;
Nakor 0:4f009971ac11 170 DigitalOut _reset;
Nakor 0:4f009971ac11 171
Nakor 0:4f009971ac11 172 void resetDisplay();
Nakor 0:4f009971ac11 173 };