DAS

Dependencies:   SSD1327

Committer:
NoFederation
Date:
Sun May 31 07:57:23 2020 +0000
Revision:
0:907c1b097c40
FILTER

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NoFederation 0:907c1b097c40 1 /*
NoFederation 0:907c1b097c40 2 * SeeedGrayOLED.cpp
NoFederation 0:907c1b097c40 3 * SSD1327 Gray OLED Driver Library
NoFederation 0:907c1b097c40 4 *
NoFederation 0:907c1b097c40 5 * Copyright (c) 2011 seeed technology inc.
NoFederation 0:907c1b097c40 6 * Author : Visweswara R
NoFederation 0:907c1b097c40 7 * Create Time : Dec 2011
NoFederation 0:907c1b097c40 8 * Change Log :
NoFederation 0:907c1b097c40 9 *
NoFederation 0:907c1b097c40 10 * This library is free software; you can redistribute it and/or
NoFederation 0:907c1b097c40 11 * modify it under the terms of the GNU Lesser General Public
NoFederation 0:907c1b097c40 12 * License as published by the Free Software Foundation; either
NoFederation 0:907c1b097c40 13 * version 2.1 of the License, or (at your option) any later version.
NoFederation 0:907c1b097c40 14 *
NoFederation 0:907c1b097c40 15 * This library is distributed in the hope that it will be useful,
NoFederation 0:907c1b097c40 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
NoFederation 0:907c1b097c40 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
NoFederation 0:907c1b097c40 18 * Lesser General Public License for more details.
NoFederation 0:907c1b097c40 19 *
NoFederation 0:907c1b097c40 20 * You should have received a copy of the GNU Lesser General Public
NoFederation 0:907c1b097c40 21 * License along with this library; if not, write to the Free Software
NoFederation 0:907c1b097c40 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
NoFederation 0:907c1b097c40 23 */
NoFederation 0:907c1b097c40 24
NoFederation 0:907c1b097c40 25 #ifndef SeeedGrayOLED_data_H
NoFederation 0:907c1b097c40 26 #define SeeedGrayOLED_data_H
NoFederation 0:907c1b097c40 27
NoFederation 0:907c1b097c40 28 // SeeedGrayOLED Instruction set addresses
NoFederation 0:907c1b097c40 29
NoFederation 0:907c1b097c40 30 //#include "Arduino.h"
NoFederation 0:907c1b097c40 31 #include "mbed.h"
NoFederation 0:907c1b097c40 32 #define SH1107G 1
NoFederation 0:907c1b097c40 33 #define SSD1327 2
NoFederation 0:907c1b097c40 34
NoFederation 0:907c1b097c40 35 #define VERTICAL_MODE 01
NoFederation 0:907c1b097c40 36 #define HORIZONTAL_MODE 02
NoFederation 0:907c1b097c40 37
NoFederation 0:907c1b097c40 38 // #define SeeedGrayOLED_Address 0x3c
NoFederation 0:907c1b097c40 39 const int SeeedGrayOLED_Address = 0x3c<<1;
NoFederation 0:907c1b097c40 40 #define SeeedGrayOLED_Command_Mode 0x80
NoFederation 0:907c1b097c40 41 #define SeeedGrayOLED_Data_Mode 0x40
NoFederation 0:907c1b097c40 42
NoFederation 0:907c1b097c40 43 #define SeeedGrayOLED_Display_Off_Cmd 0xAE
NoFederation 0:907c1b097c40 44 #define SeeedGrayOLED_Display_On_Cmd 0xAF
NoFederation 0:907c1b097c40 45
NoFederation 0:907c1b097c40 46 #define SeeedGrayOLED_Normal_Display_Cmd 0xA4
NoFederation 0:907c1b097c40 47 #define SeeedGrayOLED_Inverse_Display_Cmd 0xA7
NoFederation 0:907c1b097c40 48 #define SeeedGrayOLED_Activate_Scroll_Cmd 0x2F
NoFederation 0:907c1b097c40 49 #define SeeedGrayOLED_Dectivate_Scroll_Cmd 0x2E
NoFederation 0:907c1b097c40 50 #define SeeedGrayOLED_Set_ContrastLevel_Cmd 0x81
NoFederation 0:907c1b097c40 51
NoFederation 0:907c1b097c40 52 #define Scroll_Left 0x00
NoFederation 0:907c1b097c40 53 #define Scroll_Right 0x01
NoFederation 0:907c1b097c40 54
NoFederation 0:907c1b097c40 55 #define Scroll_2Frames 0x7
NoFederation 0:907c1b097c40 56 #define Scroll_3Frames 0x4
NoFederation 0:907c1b097c40 57 #define Scroll_4Frames 0x5
NoFederation 0:907c1b097c40 58 #define Scroll_5Frames 0x0
NoFederation 0:907c1b097c40 59 #define Scroll_25Frames 0x6
NoFederation 0:907c1b097c40 60 #define Scroll_64Frames 0x1
NoFederation 0:907c1b097c40 61 #define Scroll_128Frames 0x2
NoFederation 0:907c1b097c40 62 #define Scroll_256Frames 0x3
NoFederation 0:907c1b097c40 63
NoFederation 0:907c1b097c40 64
NoFederation 0:907c1b097c40 65 class SeeedGrayOLED {
NoFederation 0:907c1b097c40 66
NoFederation 0:907c1b097c40 67 public:
NoFederation 0:907c1b097c40 68
NoFederation 0:907c1b097c40 69 char addressingMode;
NoFederation 0:907c1b097c40 70
NoFederation 0:907c1b097c40 71 void init(int IC);
NoFederation 0:907c1b097c40 72
NoFederation 0:907c1b097c40 73 void setNormalDisplay();
NoFederation 0:907c1b097c40 74 void setInverseDisplay();
NoFederation 0:907c1b097c40 75
NoFederation 0:907c1b097c40 76 void sendCommand(unsigned char command);
NoFederation 0:907c1b097c40 77 void sendData(unsigned char Data);
NoFederation 0:907c1b097c40 78 void setGrayLevel(unsigned char grayLevel);
NoFederation 0:907c1b097c40 79
NoFederation 0:907c1b097c40 80 void setVerticalMode();
NoFederation 0:907c1b097c40 81 void setHorizontalMode();
NoFederation 0:907c1b097c40 82
NoFederation 0:907c1b097c40 83 void setTextXY(unsigned char Row, unsigned char Column);
NoFederation 0:907c1b097c40 84 void setzifuXY(unsigned char Row, unsigned char Column);
NoFederation 0:907c1b097c40 85 void clearDisplay();
NoFederation 0:907c1b097c40 86 void setContrastLevel(unsigned char ContrastLevel);
NoFederation 0:907c1b097c40 87 void putChar(unsigned char c);
NoFederation 0:907c1b097c40 88 void putzifu(unsigned char c);
NoFederation 0:907c1b097c40 89 void putString(const char *String);
NoFederation 0:907c1b097c40 90 unsigned char putNumber(long n);
NoFederation 0:907c1b097c40 91 unsigned char putFloat(float floatNumber,unsigned char decimal);
NoFederation 0:907c1b097c40 92 unsigned char putFloat(float floatNumber);
NoFederation 0:907c1b097c40 93
NoFederation 0:907c1b097c40 94 void drawBitmap(const unsigned char *bitmaparray,int bytes);
NoFederation 0:907c1b097c40 95 void drawzifu(unsigned char Row, unsigned char Column,const unsigned char *bitmaparray,int bytes);
NoFederation 0:907c1b097c40 96
NoFederation 0:907c1b097c40 97 void setHorizontalScrollProperties(bool direction,unsigned char startRow, unsigned char endRow,unsigned char startColumn, unsigned char endColumn, unsigned char scrollSpeed);
NoFederation 0:907c1b097c40 98 void activateScroll();
NoFederation 0:907c1b097c40 99 void deactivateScroll();
NoFederation 0:907c1b097c40 100
NoFederation 0:907c1b097c40 101 private:
NoFederation 0:907c1b097c40 102
NoFederation 0:907c1b097c40 103 unsigned char grayH;
NoFederation 0:907c1b097c40 104 unsigned char grayL;
NoFederation 0:907c1b097c40 105 int Drive_IC;
NoFederation 0:907c1b097c40 106
NoFederation 0:907c1b097c40 107 };
NoFederation 0:907c1b097c40 108
NoFederation 0:907c1b097c40 109 extern SeeedGrayOLED myOLED; // SeeedGrayOLED object
NoFederation 0:907c1b097c40 110
NoFederation 0:907c1b097c40 111 #endif
NoFederation 0:907c1b097c40 112
NoFederation 0:907c1b097c40 113