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
Diff: SeeedGrayOLED.h
- Revision:
- 0:c035afedef89
- Child:
- 1:05a64dcb7603
diff -r 000000000000 -r c035afedef89 SeeedGrayOLED.h
--- /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
+
Grove OLED Display 0.96'' 96x96