SSD1306 OLED display driver
1.8.2
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_Twi (uint8_t arg) |
void | ssd1306_i2cInit_Twi (uint8_t sa) |
void | ssd1306_spiInit (int8_t cesPin, int8_t dcPin) |
void | ssd1306_spiDataMode (uint8_t mode) |
void | ssd1306_spiInit_avr (int8_t cesPin, int8_t dcPin) |
void | ssd1306_spiInit_Usi (int8_t cesPin, int8_t dcPin) |
void | ssd1306_sendCommand (uint8_t command) |
void | ssd1306_commandStart (void) |
void | ssd1306_dataStart (void) |
void | ssd1306_uartInit_Builtin (uint32_t baud) |
Variables | |
int8_t | s_ssd1306_cs |
int8_t | s_ssd1306_dc |
uint32_t | s_ssd1306_spi_clock |
ssd1306_interface_t | ssd1306_intf |
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 36 of file ssd1306_interface.c.
void ssd1306_dataStart | ( | void | ) |
Starts transaction for sending bitmap data.
Definition at line 45 of file ssd1306_interface.c.
void ssd1306_i2cConfigure_Twi | ( | uint8_t | arg | ) |
Configures standard TWI AVR module (at 400kHz). This function is called by ssd1306_i2cInit().
arg | - has no meaning for now. Should be zero |
Definition at line 111 of file ssd1306_i2c_twi.c.
void ssd1306_i2cInit | ( | void | ) |
Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation
Definition at line 45 of file ssd1306_i2c.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 178 of file ssd1306_i2c_embedded.c.
void ssd1306_i2cInit_Twi | ( | uint8_t | sa | ) |
Initializes ssd1306 library to use TWI AVR module for i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Twi(0). SCL and SDA pins depend on platform.
sa | - i2c address of lcd display. Use 0 to leave default |
Definition at line 160 of file ssd1306_i2c_twi.c.
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 28 of file ssd1306_i2c.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 54 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 50 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 37 of file ssd1306_spi.c.
void ssd1306_spiInit_avr | ( | int8_t | cesPin, |
int8_t | dcPin | ||
) |
Inits lcd interface to use hardware SPI for communication (SPI.h library). It uses standard MOSI, SCLK pins to send data to LCD.
cesPin | - pin, controlling chip enable of LCD |
dcPin | - pin, controlling data/command mode of LCD |
Definition at line 133 of file ssd1306_spi_avr.c.
void ssd1306_spiInit_Usi | ( | int8_t | cesPin, |
int8_t | dcPin | ||
) |
Inits lcd interface to use USI for SPI communication. It uses standard USI CLK, USI DO, USI DI pins to send data to LCD.
cesPin | - pin, controlling chip enable of LCD |
dcPin | - pin, controlling data/command mode of LCD |
Definition at line 111 of file ssd1306_spi_usi.c.
void ssd1306_uartInit_Builtin | ( | uint32_t | baud | ) |
Initializes built-in implementation of uart functions, based on USART hw module. If you do not know uart parameters, try ssd1306_uartInit_Builtin(0).
baud | uart baud rate |
Definition at line 63 of file ssd1306_uart_builtin.c.
int8_t s_ssd1306_cs |
chip enable pin to controll lcd display over spi
Definition at line 33 of file ssd1306_spi.c.
int8_t s_ssd1306_dc |
data/command control pin for spi interface of lcd display
Definition at line 34 of file ssd1306_spi.c.
uint32_t s_ssd1306_spi_clock |
maximum SPI clock, supported by OLED display
Definition at line 35 of file ssd1306_spi.c.
ssd1306_interface_t ssd1306_intf |
Holds pointers to functions of currently initialized interface.
Definition at line 31 of file ssd1306_interface.c.