SSD1306 OLED display driver
1.5.6
This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays
|
i2c/spi initialization functions for different platforms More...
Classes | |
struct | ssd1306_interface_t |
Macros | |
#define | SSD1306_SA 0x3C |
#define | ssd1306_dcQuickSwitch ssd1306_intf.spi |
#define | ssd1306_startTransmission ssd1306_intf.start |
#define | ssd1306_endTransmission ssd1306_intf.stop |
#define | ssd1306_sendByte ssd1306_intf.send |
#define | ssd1306_sendBytes ssd1306_intf.send_buffer |
#define | ssd1306_closeInterface ssd1306_intf.close |
Functions | |
void | ssd1306_i2cInit (void) |
void | ssd1306_i2cInitEx (int8_t scl, int8_t sda, int8_t sa) |
void | ssd1306_i2cInit_Embedded (int8_t scl, int8_t sda, uint8_t sa) |
void | ssd1306_i2cConfigure_Wire (int8_t scl, int8_t sda) |
void | ssd1306_i2cInit_Wire (uint8_t sa) |
void | ssd1306_sendCommand (uint8_t command) |
void | ssd1306_commandStart (void) |
void | ssd1306_dataStart (void) |
void | ssd1306_spiInit (int8_t cesPin, int8_t dcPin) |
void | ssd1306_spiDataMode (uint8_t mode) |
Variables | |
ssd1306_interface_t | ssd1306_intf |
int8_t | s_ssd1306_cs |
int8_t | s_ssd1306_dc |
uint32_t | s_ssd1306_spi_clock |
i2c/spi initialization functions for different platforms
This group of API functions serves to prepare the library to work via specific hardware interface. There are a bunch of functions for different platforms. In general display initialization goes in two steps: hardware interface initialization, and then display driver initialization. But there are functions, which combine 2 steps in single call: ssd1306_128x64_i2c_initEx(), ssd1351_128x128_spi_init(), etc.
#define ssd1306_closeInterface ssd1306_intf.close |
Deprecated
Definition at line 124 of file ssd1306_interface.h.
#define ssd1306_dcQuickSwitch ssd1306_intf.spi |
Deprecated
Definition at line 99 of file ssd1306_interface.h.
#define ssd1306_endTransmission ssd1306_intf.stop |
Deprecated
Definition at line 109 of file ssd1306_interface.h.
#define SSD1306_SA 0x3C |
SSD1306_SA defines default i2c address of LCD display. Please, check your device. If you LCD device has different address, you can set different one via ssd1306_i2cInit_Wire() or ssd1306_i2cInit_Embedded() functions. Write command will be SSD1306_SA<<1 and read will be SSD1306_SA<<1 | 1
Definition at line 47 of file ssd1306_i2c_conf.h.
#define ssd1306_sendByte ssd1306_intf.send |
Deprecated
Definition at line 114 of file ssd1306_interface.h.
#define ssd1306_sendBytes ssd1306_intf.send_buffer |
Deprecated
Definition at line 119 of file ssd1306_interface.h.
#define ssd1306_startTransmission ssd1306_intf.start |
Deprecated
Definition at line 104 of file ssd1306_interface.h.
void ssd1306_commandStart | ( | void | ) |
Starts transaction for sending commands.
Definition at line 31 of file ssd1306_interface.c.
void ssd1306_dataStart | ( | void | ) |
Starts transaction for sending bitmap data.
Definition at line 40 of file ssd1306_interface.c.
void ssd1306_i2cConfigure_Wire | ( | int8_t | scl, |
int8_t | sda | ||
) |
Configures speed for standard Wire library (via Wire.begin()). This function is called by ssd1306_i2cInit().
scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
sda | - i2c data pin. Use -1 if you don't need to change default pin number |
void ssd1306_i2cInit | ( | void | ) |
Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation
Definition at line 47 of file ssd1306_i2c_common.c.
void ssd1306_i2cInit_Embedded | ( | int8_t | scl, |
int8_t | sda, | ||
uint8_t | sa | ||
) |
Initializes software implementation of i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Embedded(0,0,0).
scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
sda | - i2c data pin. Use -1 if you don't need to change default pin number |
sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 174 of file ssd1306_i2c_embedded.c.
void ssd1306_i2cInit_Wire | ( | uint8_t | sa | ) |
Initializes ssd1306 library to use Wire lib for i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Wire(0). SCL and SDA pins depend on platform and Wire library implementation.
sa | - i2c address of lcd display. Use 0 to leave default |
void ssd1306_i2cInitEx | ( | int8_t | scl, |
int8_t | sda, | ||
int8_t | sa | ||
) |
Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation
scl | - i2c clock pin. Use -1 if you don't need to change default pin number |
sda | - i2c data pin. Use -1 if you don't need to change default pin number |
sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 32 of file ssd1306_i2c_common.c.
void ssd1306_sendCommand | ( | uint8_t | command | ) |
Sends command to SSD1306 device: includes initiating of transaction, sending data and completing transaction.
command | - command to send |
Definition at line 49 of file ssd1306_interface.c.
void ssd1306_spiDataMode | ( | uint8_t | mode | ) |
Switches spi to data(1) or command(0) mode.
mode | - 1 data mode 0 command mode |
Definition at line 54 of file ssd1306_spi.c.
void ssd1306_spiInit | ( | int8_t | cesPin, |
int8_t | dcPin | ||
) |
Inits lcd interface to use hardware spi for communication. The function automatically selects available type of spi implementation
cesPin | - pin, controlling chip enable of LCD |
dcPin | - pin, controlling data/command mode of LCD |
Definition at line 39 of file ssd1306_spi.c.
int8_t s_ssd1306_cs |
chip enable pin to controll lcd display over spi
Definition at line 35 of file ssd1306_spi.c.
int8_t s_ssd1306_dc |
data/command control pin for spi interface of lcd display
Definition at line 36 of file ssd1306_spi.c.
uint32_t s_ssd1306_spi_clock |
maximum SPI clock, supported by OLED display
Definition at line 37 of file ssd1306_spi.c.
ssd1306_interface_t ssd1306_intf |
Holds pointers to functions of currently initialized interface.
Definition at line 29 of file ssd1306_interface.c.