This library drives the Seeed 96x96 OLED display. It is a port of the example library that Seeed provide (also called SeeedGreyOLED). This display uses the SSD1327 part which is slightly unusual.

Dependents:   seeed_arch_pro_oled ethernet_arch_pro Basics_OLED MBED_CPP_DII4A ... more

Revision:
0:c035afedef89
Child:
1:05a64dcb7603
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SeeedGrayOLED.h	Fri Dec 19 07:58:04 2014 +0000
@@ -0,0 +1,117 @@
+/*
+ * SeeedGrayOLED.h
+ * SSD1327 Gray OLED Driver Library
+ *
+ * Copyright (c) 2011 seeed technology inc.
+ * Author        :   Visweswara R
+ * Create Time   :   Dec 2011
+ * Change Log    :
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef SeeedGrayOLED_data_H
+#define SeeedGrayOLED_data_H
+
+// SeeedGrayOLED Instruction set addresses
+
+// #include "Arduino.h"
+#include "mbed.h"
+#include <inttypes.h>
+
+
+#define VERTICAL_MODE                       01
+#define HORIZONTAL_MODE                     02
+
+#define SeeedGrayOLED_Address               0x3c
+#define SeeedGrayOLED_Command_Mode          0x80
+#define SeeedGrayOLED_Data_Mode             0x40
+
+#define SeeedGrayOLED_Display_Off_Cmd       0xAE
+#define SeeedGrayOLED_Display_On_Cmd        0xAF
+
+#define SeeedGrayOLED_Normal_Display_Cmd    0xA4
+#define SeeedGrayOLED_Inverse_Display_Cmd   0xA7
+#define SeeedGrayOLED_Activate_Scroll_Cmd   0x2F
+#define SeeedGrayOLED_Dectivate_Scroll_Cmd  0x2E
+#define SeeedGrayOLED_Set_ContrastLevel_Cmd 0x81
+
+#define Scroll_Left             0x00
+#define Scroll_Right            0x01
+
+#define Scroll_2Frames          0x7
+#define Scroll_3Frames          0x4
+#define Scroll_4Frames          0x5
+#define Scroll_5Frames          0x0
+#define Scroll_25Frames         0x6
+#define Scroll_64Frames         0x1
+#define Scroll_128Frames        0x2
+#define Scroll_256Frames        0x3
+
+
+class SeeedGrayOLED  {
+public:
+
+    /** Create a new TDA7419 communication interface
+    *
+    * @param sda is the pin for I2C SDA
+    * @param scl is the pin for I2C SCL
+    */
+    SeeedGrayOLED(PinName sda, PinName scl);
+
+
+    char addressingMode;
+
+    void init(void);
+
+    void setNormalDisplay();
+    void setInverseDisplay();
+
+    void sendCommand(unsigned char command);
+    void sendData(unsigned char Data);
+    void setGrayLevel(unsigned char grayLevel);
+
+    void setVerticalMode();
+    void setHorizontalMode();
+
+    void setTextXY(unsigned char Row, unsigned char Column);
+    void clearDisplay();
+    void setContrastLevel(unsigned char ContrastLevel);
+    void putChar(unsigned char c);
+    void putString(const char *String);
+    unsigned char putNumber(long n);
+    unsigned char putFloat(float floatNumber,unsigned char decimal);
+    unsigned char putFloat(float floatNumber);
+
+    void drawBitmap(unsigned char *bitmaparray,int bytes);
+
+    void setHorizontalScrollProperties(bool direction,unsigned char startRow, unsigned char endRow,unsigned char startColumn, unsigned char endColumn, unsigned char scrollSpeed);
+    void activateScroll();
+    void deactivateScroll();
+
+private:
+
+    // Signals related to I2C communication
+    I2C _device;
+
+    unsigned char grayH;
+    unsigned char grayL;
+
+
+};
+
+
+#endif
+