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);
368 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.h: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