Damien GORISSE
/
MiniProjet_DG
Description dans le rapport.
Diff: SeeedGrayOLED.h
- Revision:
- 0:34945468db9f
diff -r 000000000000 -r 34945468db9f SeeedGrayOLED.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SeeedGrayOLED.h Sun Apr 02 09:48:30 2017 +0000 @@ -0,0 +1,116 @@ +/* + * SeeedGrayOLED.h + * SSD1327 Gray OLED Driver Library for SSD1327 + * + * 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 \ No newline at end of file