128x64 oled

Dependents:   Xadow_Watch_OLED

Committer:
loovee
Date:
Tue Apr 01 07:01:20 2014 +0000
Revision:
0:1ec2545f0516
watch

Who changed what in which revision?

UserRevisionLine numberNew contents of line
loovee 0:1ec2545f0516 1 /*
loovee 0:1ec2545f0516 2 SeeedOLED.h - SSD130x OLED Driver Library
loovee 0:1ec2545f0516 3 2011 Copyright (c) Seeed Technology Inc. All right reserved.
loovee 0:1ec2545f0516 4
loovee 0:1ec2545f0516 5 Author: Visweswara R
loovee 0:1ec2545f0516 6
loovee 0:1ec2545f0516 7 This library is free software; you can redistribute it and/or
loovee 0:1ec2545f0516 8 modify it under the terms of the GNU Lesser General Public
loovee 0:1ec2545f0516 9 License as published by the Free Software Foundation; either
loovee 0:1ec2545f0516 10 version 2.1 of the License, or (at your option) any later version.
loovee 0:1ec2545f0516 11
loovee 0:1ec2545f0516 12 This library is distributed in the hope that it will be useful,
loovee 0:1ec2545f0516 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
loovee 0:1ec2545f0516 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
loovee 0:1ec2545f0516 15 Lesser General Public License for more details.
loovee 0:1ec2545f0516 16
loovee 0:1ec2545f0516 17 You should have received a copy of the GNU Lesser General Public
loovee 0:1ec2545f0516 18 License along with this library; if not, write to the Free Software
loovee 0:1ec2545f0516 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
loovee 0:1ec2545f0516 20 */
loovee 0:1ec2545f0516 21
loovee 0:1ec2545f0516 22 #ifndef SeeedOLED_data_H
loovee 0:1ec2545f0516 23 #define SeeedOLED_data_H
loovee 0:1ec2545f0516 24
loovee 0:1ec2545f0516 25
loovee 0:1ec2545f0516 26
loovee 0:1ec2545f0516 27 #define SeeedOLED_Max_X 127 //128 Pixels
loovee 0:1ec2545f0516 28 #define SeeedOLED_Max_Y 63 //64 Pixels
loovee 0:1ec2545f0516 29
loovee 0:1ec2545f0516 30 #define PAGE_MODE 01
loovee 0:1ec2545f0516 31 #define HORIZONTAL_MODE 02
loovee 0:1ec2545f0516 32
loovee 0:1ec2545f0516 33
loovee 0:1ec2545f0516 34 #define SeeedOLED_Address 0x3c // 0x3c
loovee 0:1ec2545f0516 35 #define SeeedOLED_Command_Mode 0x80
loovee 0:1ec2545f0516 36 #define SeeedOLED_Data_Mode 0x40
loovee 0:1ec2545f0516 37 #define SeeedOLED_Display_Off_Cmd 0xAE
loovee 0:1ec2545f0516 38 #define SeeedOLED_Display_On_Cmd 0xAF
loovee 0:1ec2545f0516 39 #define SeeedOLED_Normal_Display_Cmd 0xA6
loovee 0:1ec2545f0516 40 #define SeeedOLED_Inverse_Display_Cmd 0xA7
loovee 0:1ec2545f0516 41 #define SeeedOLED_Activate_Scroll_Cmd 0x2F
loovee 0:1ec2545f0516 42 #define SeeedOLED_Dectivate_Scroll_Cmd 0x2E
loovee 0:1ec2545f0516 43 #define SeeedOLED_Set_Brightness_Cmd 0x81
loovee 0:1ec2545f0516 44
loovee 0:1ec2545f0516 45 #define Scroll_Left 0x00
loovee 0:1ec2545f0516 46 #define Scroll_Right 0x01
loovee 0:1ec2545f0516 47
loovee 0:1ec2545f0516 48 #define Scroll_2Frames 0x7
loovee 0:1ec2545f0516 49 #define Scroll_3Frames 0x4
loovee 0:1ec2545f0516 50 #define Scroll_4Frames 0x5
loovee 0:1ec2545f0516 51 #define Scroll_5Frames 0x0
loovee 0:1ec2545f0516 52 #define Scroll_25Frames 0x6
loovee 0:1ec2545f0516 53 #define Scroll_64Frames 0x1
loovee 0:1ec2545f0516 54 #define Scroll_128Frames 0x2
loovee 0:1ec2545f0516 55 #define Scroll_256Frames 0x3
loovee 0:1ec2545f0516 56
loovee 0:1ec2545f0516 57
loovee 0:1ec2545f0516 58 class SeeedOLED {
loovee 0:1ec2545f0516 59
loovee 0:1ec2545f0516 60 public:
loovee 0:1ec2545f0516 61
loovee 0:1ec2545f0516 62 char addressingMode;
loovee 0:1ec2545f0516 63
loovee 0:1ec2545f0516 64
loovee 0:1ec2545f0516 65 void init(void);
loovee 0:1ec2545f0516 66
loovee 0:1ec2545f0516 67 void setNormalDisplay();
loovee 0:1ec2545f0516 68 void setInverseDisplay();
loovee 0:1ec2545f0516 69
loovee 0:1ec2545f0516 70 void sendCommand(unsigned char command);
loovee 0:1ec2545f0516 71 void sendData(unsigned char Data);
loovee 0:1ec2545f0516 72
loovee 0:1ec2545f0516 73 void setPageMode();
loovee 0:1ec2545f0516 74 void setHorizontalMode();
loovee 0:1ec2545f0516 75
loovee 0:1ec2545f0516 76 void setTextXY(unsigned char Row, unsigned char Column);
loovee 0:1ec2545f0516 77 void clearDisplay();
loovee 0:1ec2545f0516 78 void setBrightness(unsigned char Brightness);
loovee 0:1ec2545f0516 79 void putChar(unsigned char c);
loovee 0:1ec2545f0516 80 void putString(const char *String);
loovee 0:1ec2545f0516 81 unsigned char putNumber(long n);
loovee 0:1ec2545f0516 82 unsigned char putFloat(float floatNumber,unsigned char decimal);
loovee 0:1ec2545f0516 83 unsigned char putFloat(float floatNumber);
loovee 0:1ec2545f0516 84 void drawBitmap(unsigned char *bitmaparray,int bytes);
loovee 0:1ec2545f0516 85
loovee 0:1ec2545f0516 86 void setHorizontalScrollProperties(bool direction,unsigned char startPage, unsigned char endPage, unsigned char scrollSpeed);
loovee 0:1ec2545f0516 87 void activateScroll();
loovee 0:1ec2545f0516 88 void deactivateScroll();
loovee 0:1ec2545f0516 89
loovee 0:1ec2545f0516 90 };
loovee 0:1ec2545f0516 91
loovee 0:1ec2545f0516 92 extern SeeedOLED oled; // SeeedOLED object
loovee 0:1ec2545f0516 93
loovee 0:1ec2545f0516 94 #endif
loovee 0:1ec2545f0516 95