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; } 
   48   const uint8_t COLOR_WHITE     = 0x01;
 
   49   const uint8_t COLOR_BLACK     = 0x00;
 
   50   const uint8_t COLOR_XOR       = 0x02;
 
   51   const uint8_t OLED_WIDTH      = 0x40; 
 
   52   const uint8_t VERT_COLUMNS    = 0x20; 
 
   53   const uint8_t OLED_HEIGHT     = 0x30; 
 
   54   const int     BUFFER_SIZE     = 192;
 
   88       CMD_SETLOWCOLUMN          = 0x00,
 
   89       CMD_EXTERNALVCC           = 0x01,
 
   90       CMD_SWITCHCAPVCC          = 0x02,
 
   91       CMD_SETHIGHCOLUMN         = 0x10,
 
   92       CMD_MEMORYADDRMODE        = 0x20,
 
   93       CMD_SETCOLUMNADDRESS      = 0x21,
 
   94       CMD_SETPAGEADDRESS        = 0x22,
 
   95       CMD_SETSTARTLINE          = 0x40, 
 
   96       CMD_SETCONTRAST           = 0x81,
 
   97       CMD_CHARGEPUMP            = 0x8d,
 
   99       CMD_DISPLAYALLONRESUME    = 0xa4,
 
  100       CMD_DISPLAYALLON          = 0xa5,
 
  101       CMD_NORMALDISPLAY         = 0xa6,
 
  102       CMD_INVERTDISPLAY         = 0xa7,
 
  103       CMD_SETMULTIPLEX          = 0xa8,
 
  104       CMD_DISPLAYOFF            = 0xae,
 
  105       CMD_DISPLAYON             = 0xaf,
 
  106       CMD_SETPAGESTARTADDR      = 0xb0, 
 
  107       CMD_COMSCANINC            = 0xc0,
 
  108       CMD_COMSCANDEC            = 0xc8,
 
  109       CMD_SETDISPLAYOFFSET      = 0xd3,
 
  110       CMD_SETDISPLAYCLOCKDIV    = 0xd5,
 
  111       CMD_SETPRECHARGE          = 0xd9,
 
  112       CMD_SETCOMPINS            = 0xda,
 
  113       CMD_SETVCOMDESELECT       = 0xdb
 
  126     EBOLED(
int spi=EBOLED_DEFAULT_SPI_BUS, 
int CD=EBOLED_DEFAULT_CD,
 
  127            int reset=EBOLED_DEFAULT_RESET);
 
  148     mraa::Result 
write(std::string msg);
 
  158     mraa::Result 
setCursor (
int row, 
int column);
 
  191     void drawChar (uint8_t x, uint8_t y, uint8_t data, uint8_t color, uint8_t size);
 
  198     mraa::Result 
clear();
 
  200     void clearScreenBuffer();
 
  217     void drawPixel (int8_t x, int8_t y, uint8_t color=COLOR_WHITE);
 
  228     void drawLine (int8_t x0, int8_t y0, int8_t x1, int8_t y1, uint8_t color = COLOR_WHITE);
 
  238     void drawLineHorizontal (int8_t x, int8_t y, uint8_t width, uint8_t color = COLOR_WHITE);
 
  248     void drawLineVertical (int8_t x, int8_t y, uint8_t height, uint8_t color = COLOR_WHITE);
 
  259     void drawRectangle (int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color = COLOR_WHITE);
 
  271     void drawRoundedRectangle(int8_t x, int8_t y, int8_t width, int8_t height, int16_t radius, uint8_t color);
 
  282     void drawRectangleFilled (int8_t x, int8_t y, uint8_t width, uint8_t height, uint8_t color = COLOR_WHITE);
 
  295     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);
 
  308     void drawTriangleFilled ( int8_t x0, int8_t y0, int8_t x1, int8_t y1, int8_t x2, int8_t y2, uint8_t color);
 
  318     void drawCircle (int16_t x0, int16_t y0, int16_t radius, uint8_t color = COLOR_WHITE);
 
  329     void drawRoundCorners( int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, uint8_t color);
 
  350     void drawRoundedCornersFilled(int8_t x0, int8_t y0, int16_t radius, uint8_t cornername, int16_t delta, uint8_t color);
 
  361     mraa::Result command(uint8_t cmd);
 
  362     mraa::Result data(uint16_t data);
 
  363     mraa::Result writeChar(uint8_t value);
 
  364     mraa::Result setAddressingMode(displayAddressingMode mode);
 
  369     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
 
API for EBOLED spi controlled OLED display. 
Definition: eboled.hpp:84
 
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
 
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