128x64 EasyC OLED Display 1.0.0
This is a library for Soldered OLED Display
Loading...
Searching...
No Matches
Adafruit_GrayOLED.h
Go to the documentation of this file.
1
24#ifndef _Adafruit_GRAYOLED_H_
25#define _Adafruit_GRAYOLED_H_
26
27#if !defined(__AVR_ATtiny85__) // Not for ATtiny, at all
28
31#include "Adafruit_GFX.h"
32#include <SPI.h>
33#include <Wire.h>
34
35#define GRAYOLED_SETCONTRAST 0x81
36#define GRAYOLED_NORMALDISPLAY 0xA6
37#define GRAYOLED_INVERTDISPLAY 0xA7
38
39#define MONOOLED_BLACK 0
40#define MONOOLED_WHITE 1
41#define MONOOLED_INVERSE 2
42
48{
49 public:
50 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, TwoWire *twi = &Wire, int8_t rst_pin = -1,
51 uint32_t preclk = 400000, uint32_t postclk = 100000);
52 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, int8_t mosi_pin, int8_t sclk_pin, int8_t dc_pin,
53 int8_t rst_pin, int8_t cs_pin);
54 Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, SPIClass *spi, int8_t dc_pin, int8_t rst_pin, int8_t cs_pin,
55 uint32_t bitrate = 8000000UL);
56
58
63 virtual void display(void) = 0;
64 void clearDisplay(void);
65 void invertDisplay(bool i);
66 void setContrast(uint8_t contrastlevel);
67 void drawPixel(int16_t x, int16_t y, uint16_t color);
68 bool getPixel(int16_t x, int16_t y);
69 uint8_t *getBuffer(void);
70
71 void oled_command(uint8_t c);
72 bool oled_commandList(const uint8_t *c, uint8_t n);
73
74 protected:
75 bool _init(uint8_t i2caddr = 0x3C, bool reset = true);
76
79 int32_t i2c_preclk = 400000,
80 i2c_postclk = 100000;
81 uint8_t *buffer = NULL;
82
83 int16_t window_x1,
87
88 int dcPin,
91
92 uint8_t _bpp = 1;
93 private:
94 TwoWire *_theWire = NULL;
95};
96
97#endif // end __AVR_ATtiny85__
98#endif // _Adafruit_GrayOLED_H_
class HardwareSPI SPIClass
SPI is a bit odd on WICED.
Definition Adafruit_SPITFT.h:34
Definition Adafruit_GFX.h:15
Class that stores state and functions for interacting with generic grayscale OLED displays.
Definition Adafruit_GrayOLED.h:48
bool _init(uint8_t i2caddr=0x3C, bool reset=true)
Allocate RAM for image buffer, initialize peripherals and pins. Note that subclasses must call this b...
Definition Adafruit_GrayOLED.cpp:229
virtual void display(void)=0
The function that sub-classes define that writes out the buffer to the display over I2C or SPI.
bool oled_commandList(const uint8_t *c, uint8_t n)
Issue multiple bytes of commands OLED, using I2C or hard/soft SPI as needed.
Definition Adafruit_GrayOLED.cpp:186
void oled_command(uint8_t c)
Issue single command byte to OLED, using I2C or hard/soft SPI as needed.
Definition Adafruit_GrayOLED.cpp:163
int32_t i2c_preclk
Configurable 'high speed' I2C rate.
Definition Adafruit_GrayOLED.h:79
int dcPin
The Arduino pin connected to D/C (for SPI)
Definition Adafruit_GrayOLED.h:88
uint8_t _bpp
Bits per pixel color for this display.
Definition Adafruit_GrayOLED.h:92
bool getPixel(int16_t x, int16_t y)
Return color of a single pixel in display buffer.
Definition Adafruit_GrayOLED.cpp:386
Adafruit_GrayOLED(uint8_t bpp, uint16_t w, uint16_t h, TwoWire *twi=&Wire, int8_t rst_pin=-1, uint32_t preclk=400000, uint32_t postclk=100000)
Constructor for I2C-interfaced OLED displays.
Definition Adafruit_GrayOLED.cpp:62
int16_t window_y2
Dirty tracking window maximum y.
Definition Adafruit_GrayOLED.h:86
int rstPin
The Arduino pin connected to reset (-1 if unused)
Definition Adafruit_GrayOLED.h:90
~Adafruit_GrayOLED(void)
Destructor for Adafruit_GrayOLED object.
Definition Adafruit_GrayOLED.cpp:143
void drawPixel(int16_t x, int16_t y, uint16_t color)
Set/clear/invert a single pixel. This is also invoked by the Adafruit_GFX library in generating many ...
Definition Adafruit_GrayOLED.cpp:297
int16_t window_x1
Dirty tracking window minimum x.
Definition Adafruit_GrayOLED.h:83
Adafruit_I2CDevice * i2c_dev
The I2C interface BusIO device.
Definition Adafruit_GrayOLED.h:78
int16_t window_x2
Dirty tracking window maximum x.
Definition Adafruit_GrayOLED.h:85
uint8_t * getBuffer(void)
Get base address of display buffer for direct reading or writing.
Definition Adafruit_GrayOLED.cpp:416
int32_t i2c_postclk
Configurable 'low speed' I2C rate.
Definition Adafruit_GrayOLED.h:80
void invertDisplay(bool i)
Enable or disable display invert mode (white-on-black vs black-on-white). Handy for testing!
Definition Adafruit_GrayOLED.cpp:435
Adafruit_SPIDevice * spi_dev
The SPI interface BusIO device.
Definition Adafruit_GrayOLED.h:77
void clearDisplay(void)
Clear contents of display buffer (set all pixels to off).
Definition Adafruit_GrayOLED.cpp:365
TwoWire * _theWire
The underlying hardware I2C.
Definition Adafruit_GrayOLED.h:94
int16_t window_y1
Dirty tracking window minimum y.
Definition Adafruit_GrayOLED.h:84
uint8_t * buffer
Internal 1:1 framebuffer of display mem.
Definition Adafruit_GrayOLED.h:81
void setContrast(uint8_t contrastlevel)
Adjust the display contrast.
Definition Adafruit_GrayOLED.cpp:446
int csPin
The Arduino pin connected to CS (for SPI)
Definition Adafruit_GrayOLED.h:89
Definition Adafruit_I2CDevice.h:7
Definition Adafruit_SPIDevice.h:64