24#ifndef _Adafruit_GRAYOLED_H_
25#define _Adafruit_GRAYOLED_H_
27#if !defined(__AVR_ATtiny85__)
29#include "Adafruit_GFX.h"
30#include "../Adafruit_BusIO/Adafruit_I2CDevice.h"
31#include "../Adafruit_BusIO/Adafruit_SPIDevice.h"
35#define GRAYOLED_SETCONTRAST 0x81
36#define GRAYOLED_NORMALDISPLAY 0xA6
37#define GRAYOLED_INVERTDISPLAY 0xA7
39#define MONOOLED_BLACK 0
40#define MONOOLED_WHITE 1
41#define MONOOLED_INVERSE 2
47class Adafruit_GrayOLED :
public Adafruit_GFX {
49 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, TwoWire *twi = &Wire,
50 int8_t rst_pin = -1, uint32_t preclk = 400000,
51 uint32_t postclk = 100000);
52 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, int8_t mosi_pin,
53 int8_t sclk_pin, int8_t dc_pin, int8_t rst_pin,
55 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, SPIClass *spi,
56 int8_t dc_pin, int8_t rst_pin, int8_t cs_pin,
57 uint32_t bitrate = 8000000UL);
59 ~Adafruit_GrayOLED(
void);
66 void clearDisplay(
void);
67 void invertDisplay(
bool i);
68 void setContrast(uint8_t contrastlevel);
69 void drawPixel(int16_t x, int16_t y, uint16_t color);
70 bool getPixel(int16_t x, int16_t y);
71 uint8_t *getBuffer(
void);
73 void oled_command(uint8_t c);
74 bool oled_commandList(
const uint8_t *c, uint8_t n);
77 bool _init(uint8_t i2caddr = 0x3C,
bool reset =
true);
96 TwoWire *_theWire = NULL;
virtual void display(void)=0
The function that sub-classes define that writes out the buffer to the display over I2C or SPI.
int32_t i2c_preclk
Configurable 'high speed' I2C rate.
Definition Adafruit_GrayOLED.h:81
int dcPin
The Arduino pin connected to D/C (for SPI)
Definition Adafruit_GrayOLED.h:90
uint8_t _bpp
Bits per pixel color for this display.
Definition Adafruit_GrayOLED.h:94
int16_t window_y2
Dirty tracking window maximum y.
Definition Adafruit_GrayOLED.h:88
int rstPin
The Arduino pin connected to reset (-1 if unused)
Definition Adafruit_GrayOLED.h:92
void drawPixel(int16_t x, int16_t y, uint16_t color)
Draw to the screen/framebuffer/etc. Must be overridden in subclass.
int16_t window_x1
Dirty tracking window minimum x.
Definition Adafruit_GrayOLED.h:85
Adafruit_I2CDevice * i2c_dev
The I2C interface BusIO device.
Definition Adafruit_GrayOLED.h:80
int16_t window_x2
Dirty tracking window maximum x.
Definition Adafruit_GrayOLED.h:87
int32_t i2c_postclk
Configurable 'low speed' I2C rate.
Definition Adafruit_GrayOLED.h:82
Adafruit_SPIDevice * spi_dev
The SPI interface BusIO device.
Definition Adafruit_GrayOLED.h:79
int16_t window_y1
Dirty tracking window minimum y.
Definition Adafruit_GrayOLED.h:86
uint8_t * buffer
Internal 1:1 framebuffer of display mem.
Definition Adafruit_GrayOLED.h:83
int csPin
The Arduino pin connected to CS (for SPI)
Definition Adafruit_GrayOLED.h:91
< The class which defines how we will talk to this device over I2C
Definition Adafruit_I2CDevice.h:8
Definition Adafruit_SPIDevice.h:89