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:26:02 2010 +0000
Revision:
2:559b81f2bb1e
Parent:
1:476dcc382de3
Child:
3:949c5ac54e9c
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 0:4f009971ac11 37 */
Nakor 0:4f009971ac11 38 class uOLED {
Nakor 0:4f009971ac11 39 public:
Nakor 0:4f009971ac11 40
Nakor 1:476dcc382de3 41 /** Dunno
Nakor 1:476dcc382de3 42 * Dunno
Nakor 2:559b81f2bb1e 43 * @param serialTX - mbed TX pin to be used
Nakor 2:559b81f2bb1e 44 * @param serialRX - mbed RX pin to be used
Nakor 2:559b81f2bb1e 45 * @param reset - mbed pin to control reset of the uOLED
Nakor 1:476dcc382de3 46 */
Nakor 0:4f009971ac11 47 uOLED(PinName serialTX, PinName serialRX, PinName reset);
Nakor 1:476dcc382de3 48
Nakor 1:476dcc382de3 49 /** Dunno2
Nakor 1:476dcc382de3 50 * Dunno
Nakor 2:559b81f2bb1e 51 * @param returns something.
Nakor 1:476dcc382de3 52 */
Nakor 0:4f009971ac11 53 short getRGB(char red, char green, char blue);
Nakor 0:4f009971ac11 54
Nakor 1:476dcc382de3 55 /** Dunno3
Nakor 1:476dcc382de3 56 * Dunno
Nakor 2:559b81f2bb1e 57 * @param returns something.
Nakor 1:476dcc382de3 58 */
Nakor 0:4f009971ac11 59 bool addBitmappedCharacter(char character, char data[8]);
Nakor 1:476dcc382de3 60 /** Dunno4
Nakor 1:476dcc382de3 61 * Dunno
Nakor 2:559b81f2bb1e 62 * @param returns something.
Nakor 1:476dcc382de3 63 */
Nakor 0:4f009971ac11 64 bool blockCopyPaste(char sourceX, char sourceY, char destinationX, char destinationY, char width, char height);
Nakor 1:476dcc382de3 65 /** Dunno5
Nakor 1:476dcc382de3 66 * Dunno
Nakor 2:559b81f2bb1e 67 * @param returns something.
Nakor 1:476dcc382de3 68 */
Nakor 0:4f009971ac11 69 bool displayControl(char mode);
Nakor 1:476dcc382de3 70 /** Dunno6
Nakor 1:476dcc382de3 71 * Dunno
Nakor 2:559b81f2bb1e 72 * @param returns something.
Nakor 1:476dcc382de3 73 */
Nakor 0:4f009971ac11 74 bool displayUserBitmappedCharacter(char character, char x, char y, short color);
Nakor 1:476dcc382de3 75 /** Dunno7
Nakor 1:476dcc382de3 76 * Dunno
Nakor 2:559b81f2bb1e 77 * @param returns something.
Nakor 1:476dcc382de3 78 */
Nakor 0:4f009971ac11 79 bool drawCircle(char x, char y, char radius, short color);
Nakor 1:476dcc382de3 80 /** Dunno8
Nakor 1:476dcc382de3 81 * Dunno
Nakor 2:559b81f2bb1e 82 * @param returns something.
Nakor 1:476dcc382de3 83 */
Nakor 0:4f009971ac11 84 bool drawCharacter(char character, char column, char row, short color);
Nakor 1:476dcc382de3 85 /** Dunno9
Nakor 1:476dcc382de3 86 * Dunno
Nakor 2:559b81f2bb1e 87 * @param returns something.
Nakor 1:476dcc382de3 88 */
Nakor 0:4f009971ac11 89 bool drawImage(char x, char y, char width, char height, char colorMode, char *pixels);
Nakor 1:476dcc382de3 90 /** Dunno10
Nakor 1:476dcc382de3 91 * Dunno
Nakor 2:559b81f2bb1e 92 * @param returns something.
Nakor 1:476dcc382de3 93 */
Nakor 0:4f009971ac11 94 bool drawLine(char x1, char y1, char x2, char y2, short color);
Nakor 1:476dcc382de3 95 /** Dunno11
Nakor 1:476dcc382de3 96 * Dunno
Nakor 2:559b81f2bb1e 97 * @param returns something.
Nakor 1:476dcc382de3 98 */
Nakor 0:4f009971ac11 99 bool drawPolygon(char vertices, char *x, char *y, short color);
Nakor 1:476dcc382de3 100 /** Dunno12
Nakor 1:476dcc382de3 101 * Dunno
Nakor 2:559b81f2bb1e 102 * @param returns something.
Nakor 1:476dcc382de3 103 */
Nakor 0:4f009971ac11 104 bool drawRectangle(char x, char y, char width, char height, short color);
Nakor 1:476dcc382de3 105 /** Dunno13
Nakor 1:476dcc382de3 106 * Dunno
Nakor 2:559b81f2bb1e 107 * @param returns something.
Nakor 1:476dcc382de3 108 */
Nakor 0:4f009971ac11 109 bool drawText(char column, char row, char font, short color, char *text);
Nakor 1:476dcc382de3 110 /** Dunno14
Nakor 1:476dcc382de3 111 * Dunno
Nakor 2:559b81f2bb1e 112 * @param returns something.
Nakor 1:476dcc382de3 113 */
Nakor 0:4f009971ac11 114 bool drawTriangle(char x1, char y1, char x2, char y2, char x3, char y3, short color);
Nakor 1:476dcc382de3 115 /** Dunno15
Nakor 1:476dcc382de3 116 * Dunno
Nakor 2:559b81f2bb1e 117 * @param returns something.
Nakor 1:476dcc382de3 118 */
Nakor 0:4f009971ac11 119 bool eraseScreen();
Nakor 0:4f009971ac11 120 /** Initialize the screen. This must be completed before any other communication with the device.
Nakor 0:4f009971ac11 121 * Timing allows for at least 500ms delay for initialization.
Nakor 2:559b81f2bb1e 122 * @param returns bool indicating success or failure of initialization.
Nakor 0:4f009971ac11 123 */
Nakor 0:4f009971ac11 124 bool init();
Nakor 1:476dcc382de3 125 /** Dunno16
Nakor 1:476dcc382de3 126 * Dunno
Nakor 2:559b81f2bb1e 127 * @param returns something.
Nakor 1:476dcc382de3 128 */
Nakor 0:4f009971ac11 129 bool penSize(char size);
Nakor 1:476dcc382de3 130 /** Dunno17
Nakor 1:476dcc382de3 131 * Dunno
Nakor 2:559b81f2bb1e 132 * @param returns something.
Nakor 1:476dcc382de3 133 */
Nakor 0:4f009971ac11 134 bool putPixel(char x, char y, short color);
Nakor 1:476dcc382de3 135 /** Dunno18
Nakor 1:476dcc382de3 136 * Dunno
Nakor 2:559b81f2bb1e 137 * @param returns something.
Nakor 1:476dcc382de3 138 */
Nakor 0:4f009971ac11 139 short readPixel(char x, char y);
Nakor 1:476dcc382de3 140 /** Dunno19
Nakor 1:476dcc382de3 141 * Dunno
Nakor 2:559b81f2bb1e 142 * @param returns something.
Nakor 1:476dcc382de3 143 */
Nakor 0:4f009971ac11 144 bool setBackgroundColor(short color);
Nakor 1:476dcc382de3 145 /** Dunno20
Nakor 1:476dcc382de3 146 * Dunno
Nakor 2:559b81f2bb1e 147 * @param returns something.
Nakor 1:476dcc382de3 148 */
Nakor 0:4f009971ac11 149 bool setFontSize(char fontType);
Nakor 1:476dcc382de3 150 /** Dunno21
Nakor 1:476dcc382de3 151 * Dunno
Nakor 2:559b81f2bb1e 152 * @param returns something.
Nakor 1:476dcc382de3 153 */
Nakor 0:4f009971ac11 154 bool textButton(char state, char x, char y, short buttonColor, char font, short textColor, char textWidth, char textHeight, char *text);
Nakor 1:476dcc382de3 155 /** Dunno22
Nakor 1:476dcc382de3 156 * Dunno
Nakor 2:559b81f2bb1e 157 * @param returns something.
Nakor 1:476dcc382de3 158 */
Nakor 0:4f009971ac11 159 bool textMode(char mode);
Nakor 1:476dcc382de3 160 /** Dunno23
Nakor 1:476dcc382de3 161 * Dunno
Nakor 2:559b81f2bb1e 162 * @param returns something.
Nakor 1:476dcc382de3 163 */
Nakor 0:4f009971ac11 164 bool versionInfo(bool onScreen, char *info);
Nakor 0:4f009971ac11 165
Nakor 0:4f009971ac11 166
Nakor 0:4f009971ac11 167 protected:
Nakor 0:4f009971ac11 168 Serial _oled;
Nakor 0:4f009971ac11 169 DigitalOut _reset;
Nakor 0:4f009971ac11 170
Nakor 0:4f009971ac11 171 void resetDisplay();
Nakor 0:4f009971ac11 172 };