33 #include <mraa/spi.hpp> 
   35 #include <mraa/gpio.hpp> 
   40 #define EBOLED_DEFAULT_SPI_BUS 0 
   41 #define EBOLED_DEFAULT_CD      36 
   42 #define EBOLED_DEFAULT_RESET   48 
   44 #define swap(a, b) { uint8_t t = a; a = b; b = t; } 
   73   const uint8_t COLOR_BLACK     = 0x00;
 
   74   const uint8_t COLOR_XOR       = 0x02;
 
   75   const uint8_t OLED_WIDTH      = 0x40; 
 
   76   const uint8_t VERT_COLUMNS    = 0x20; 
 
   77   const uint8_t OLED_HEIGHT     = 0x30; 
 
   78   const int     BUFFER_SIZE     = 192;
 
   84       CMD_SETLOWCOLUMN          = 0x00,
 
   85       CMD_EXTERNALVCC           = 0x01,
 
   86       CMD_SWITCHCAPVCC          = 0x02,
 
   87       CMD_SETHIGHCOLUMN         = 0x10,
 
   88       CMD_MEMORYADDRMODE        = 0x20,
 
   89       CMD_SETCOLUMNADDRESS      = 0x21,
 
   90       CMD_SETPAGEADDRESS        = 0x22,
 
   91       CMD_SETSTARTLINE          = 0x40, 
 
   92       CMD_SETCONTRAST           = 0x81,
 
   93       CMD_CHARGEPUMP            = 0x8d,
 
   95       CMD_DISPLAYALLONRESUME    = 0xa4,
 
   96       CMD_DISPLAYALLON          = 0xa5,
 
   97       CMD_NORMALDISPLAY         = 0xa6,
 
   98       CMD_INVERTDISPLAY         = 0xa7,
 
   99       CMD_SETMULTIPLEX          = 0xa8,
 
  100       CMD_DISPLAYOFF            = 0xae,
 
  101       CMD_DISPLAYON             = 0xaf,
 
  102       CMD_SETPAGESTARTADDR      = 0xb0, 
 
  103       CMD_COMSCANINC            = 0xc0,
 
  104       CMD_COMSCANDEC            = 0xc8,
 
  105       CMD_SETDISPLAYOFFSET      = 0xd3,
 
  106       CMD_SETDISPLAYCLOCKDIV    = 0xd5,
 
  107       CMD_SETPRECHARGE          = 0xd9,
 
  108       CMD_SETCOMPINS            = 0xda,
 
  109       CMD_SETVCOMDESELECT       = 0xdb
 
  122     EBOLED(
int spi=EBOLED_DEFAULT_SPI_BUS, 
int CD=EBOLED_DEFAULT_CD,
 
  123            int reset=EBOLED_DEFAULT_RESET);
 
  147     mraa::Result 
write(std::string msg);
 
  157     mraa::Result 
setCursor (
int row, 
int column);
 
  190     void drawChar (uint8_t x, uint8_t y, uint8_t data, uint8_t color, uint8_t size);
 
  197     mraa::Result 
clear();
 
  199     void clearScreenBuffer();
 
  216     void drawPixel (int8_t x, int8_t y, uint8_t color=COLOR_WHITE);
 
  227     void drawLine (int8_t x0, int8_t y0, int8_t x1, int8_t y1, uint8_t color = COLOR_WHITE);
 
  237     void drawLineHorizontal (int8_t x, int8_t y, uint8_t width, uint8_t color = COLOR_WHITE);
 
  247     void drawLineVertical (int8_t x, int8_t y, uint8_t height, uint8_t color = COLOR_WHITE);
 
  258     void drawRectangle (int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color = COLOR_WHITE);
 
  270     void drawRoundedRectangle(int8_t x, int8_t y, int8_t width, int8_t height, int16_t radius, uint8_t color);
 
  281     void drawRectangleFilled (int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color = COLOR_WHITE);
 
  294     void drawTriangle (int8_t x0, int8_t y0, int8_t x1, int8_t y1, int8_t x2, int8_t y2, uint8_t color = COLOR_WHITE);
 
  307     void drawTriangleFilled ( int8_t x0, int8_t y0, int8_t x1, int8_t y1, int8_t x2, int8_t y2, uint8_t color);
 
  317     void drawCircle (int16_t x0, int16_t y0, int16_t radius, uint8_t color = COLOR_WHITE);
 
  328     void drawRoundCorners( int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, uint8_t color);
 
  349     void drawRoundedCornersFilled(int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, int16_t delta, uint8_t color);
 
  360     mraa::Result command(uint8_t cmd);
 
  361     mraa::Result data(uint16_t data);
 
  362     mraa::Result writeChar(uint8_t value);
 
  363     mraa::Result setAddressingMode(displayAddressingMode mode);
 
  367     mraa::Gpio m_gpioRST;       
 
void setTextWrap(uint8_t wrap)
Definition: eboled.cxx:176
 
mraa::Result write(std::string msg)
Definition: eboled.cxx:131
 
mraa::Result clear()
Definition: eboled.cxx:214
 
void drawTriangleFilled(int8_t x0, int8_t y0, int8_t x1, int8_t y1, int8_t x2, int8_t y2, uint8_t color)
Definition: eboled.cxx:353
 
void drawLineHorizontal(int8_t x, int8_t y, uint8_t width, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:303
 
void drawLine(int8_t x0, int8_t y0, int8_t x1, int8_t y1, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:262
 
void drawCircleFilled(int8_t x0, int8_t y0, int16_t radius, uint8_t color)
Definition: eboled.cxx:501
 
void drawCircle(int16_t x0, int16_t y0, int16_t radius, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:429
 
void setTextColor(uint8_t textColor)
Definition: eboled.cxx:168
 
mraa::Result setCursor(int row, int column)
Definition: eboled.cxx:162
 
void drawPixel(int8_t x, int8_t y, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:234
 
mraa::Result refresh()
Definition: eboled.cxx:116
 
~EBOLED()
Definition: eboled.cxx:111
 
void drawRectangleFilled(int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:339
 
void drawChar(uint8_t x, uint8_t y, uint8_t data, uint8_t color, uint8_t size)
Definition: eboled.cxx:180
 
void drawRectangle(int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:313
 
void drawRoundedCornersFilled(int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, int16_t delta, uint8_t color)
Definition: eboled.cxx:506
 
void fillScreen(uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:535
 
void drawLineVertical(int8_t x, int8_t y, uint8_t height, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:308
 
void drawTriangle(int8_t x0, int8_t y0, int8_t x1, int8_t y1, int8_t x2, int8_t y2, uint8_t color=COLOR_WHITE)
Definition: eboled.cxx:346
 
const uint8_t COLOR_WHITE
API for EBOLED spi controlled OLED display. 
Definition: eboled.h:72
 
void drawRoundCorners(int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, uint8_t color)
Definition: eboled.cxx:466
 
void drawRoundedRectangle(int8_t x, int8_t y, int8_t width, int8_t height, int16_t radius, uint8_t color)
Definition: eboled.cxx:326
 
mraa::Result home()
Definition: eboled.cxx:229
 
EBOLED(int spi=EBOLED_DEFAULT_SPI_BUS, int CD=EBOLED_DEFAULT_CD, int reset=EBOLED_DEFAULT_RESET)
Definition: eboled.cxx:37
 
void setTextSize(uint8_t size)
Definition: eboled.cxx:172