#ifndef __SEEED_OLED_H__ #define __SEEED_OLED_H__ #include #include "i2c.h" class SeeedOLED { protected: I2C &i2c; enum mode_t {PAGE_MODE = 1, HORIZONTAL_MODE = 2} addressingMode; public: static const Uint8 i2c_address; static const Uint8 Max_X; static const Uint8 Max_Y; static const Uint8 Command_Mode; static const Uint8 Data_Mode; static const Uint8 Display_Off_Cmd; static const Uint8 Display_On_Cmd; static const Uint8 Normal_Display_Cmd; static const Uint8 Inverse_Display_Cmd; static const Uint8 Activate_Scroll_Cmd; static const Uint8 Dectivate_Scroll_Cmd; static const Uint8 Set_Brightness_Cmd; static const Uint8 Scroll_Left; static const Uint8 Scroll_Right; static const Uint8 Scroll_2Frames; static const Uint8 Scroll_3Frames; static const Uint8 Scroll_4Frames; static const Uint8 Scroll_5Frames; static const Uint8 Scroll_25Frames; static const Uint8 Scroll_64Frames; static const Uint8 Scroll_128Frames; static const Uint8 Scroll_256Frames; SeeedOLED(I2C &i2c_if); void init( void (*wait_func)(const unsigned int &) = NULL, const unsigned int &wait = 0); void setNormalDisplay(); void setInverseDisplay(); void sendCommand(const Uint8 &command); void sendData(const Uint8 &data); void setPageMode(); void setHorizontalMode(); void setTextXY(const Uint8 &row, const Uint8 &column); void clearDisplay(); void setBrightness(unsigned char brightness); void putChar(const Uint8 &c); void putString(const char *buf, const Uint8 &buf_length); void putString(const char *c_str); void drawBitmap(const Uint8 *bitmaparray, const int &bytes); void setHorizontalScrollProperties( const Uint8 &direction, const Uint8 &startPage, const Uint8 &endPage, const Uint8 &scrollSpeed); void activateScroll(); void deactivateScroll(); }; #endif /* __SEEED_OLED_H__ */