LCDGFX LCD display driver  1.2.0
Lightweight graphics library for SSD1306, SSD1325, SSD1327, SSD1331, SSD1351, SH1106, SH1107, IL9163, ST7735, ST7789, ILI9341, PCD8544 displays over I2C/SPI
HAL: ssd1306 library hardware abstraction layer

i2c/spi ssd1306 library hardware abstraction layer More...

Classes

class  PlatformI2c
 PlatformI2c implementation for current platform. More...
 
class  PlatformSpi
 PlatformSpi implementation for current platform. More...
 

Macros

#define LCDINT_TYPES_DEFINED
 Macro informs if lcdint_t type is defined.
 
#define ssd1306_swap_data(a, b, type)
 swaps content of a and b variables of type type More...
 
#define LCD_LOW   0
 Constant corresponds to low level of gpio pin.
 
#define LCD_HIGH   1
 Constant corresponds to high level of gpio pin.
 
#define LCD_GPIO_INPUT   0
 Constant corresponds to input mode of gpio.
 
#define LCD_GPIO_OUTPUT   1
 Constant corresponds to output mode of gpio.
 
#define LCD_GPIO_INPUT_PULLUP   2
 Constant corresponds to input mode of gpio with pullup resistor enabled.
 
#define LCD_GPIO_INPUT_PULLDOWN   3
 Constant corresponds to output mode of gpio with pulldown resistor enabled.
 
#define LCD_PROGMEM   PROGMEM
 LCD_PROGMEM constant is used to specify data stored in flash, platform specific.
 
#define CONFIG_LCDGFX_PLATFORM_I2C
 
#define CONFIG_LCDGFX_PLATFORM_SPI
 

Typedefs

typedef int lcdint_t
 internal int type, used by ssd1306 library. More...
 
typedef unsigned int lcduint_t
 internal int type, used by ssd1306 library. More...
 

Functions

void lcd_gpioMode (int pin, int mode)
 Sets gpio pin mode. More...
 
int lcd_gpioRead (int pin)
 Reads gpio pin value. More...
 
void lcd_gpioWrite (int pin, int level)
 Writes value to gpio. More...
 
int lcd_adcRead (int pin)
 Read ADC data. More...
 
uint32_t lcd_millis (void)
 returns 32-bit timestamp from system power-up in milliseconds
 
uint32_t lcd_micros (void)
 returns 32-bit timestamp from system power-up in microseconds
 
void lcd_randomSeed (int seed)
 Initializes RND device. More...
 
void lcd_attachInterrupt (int pin, void(*interrupt)(), int level)
 Attaches interrupt handler to pin. More...
 
void lcd_delay (unsigned long ms)
 Forces current thread to sleeps for specified number of milliseconds. More...
 
void lcd_delayUs (unsigned long us)
 Forces current thread to sleeps for specified number of microseconds. More...
 
uint8_t lcd_pgmReadByte (const void *ptr)
 Read single data byte directly from flash. More...
 
uint16_t lcd_eepromReadWord (const void *ptr)
 Reads 16-bit from eeprom. More...
 
void lcd_eepromWriteWord (const void *ptr, uint16_t val)
 Writes 16-bit to eeprom. More...
 
int lcd_random (int max)
 Returns random number in range [0;max]. More...
 
int lcd_random (int min, int max)
 Returns random number in range [min;max]. More...
 

Detailed Description

i2c/spi ssd1306 library hardware abstraction layer

ssd1306 library hardware abstraction layer

Macro Definition Documentation

◆ ssd1306_swap_data

#define ssd1306_swap_data (   a,
  b,
  type 
)
Value:
{ \
type t = a; \
a = b; \
b = t; \
}

swaps content of a and b variables of type type

Definition at line 114 of file io.h.

Typedef Documentation

◆ lcdint_t

typedef int lcdint_t

internal int type, used by ssd1306 library.

Important for uC with low SRAM

Definition at line 108 of file io.h.

◆ lcduint_t

typedef unsigned int lcduint_t

internal int type, used by ssd1306 library.

Important for uC with low SRAM

Definition at line 110 of file io.h.

Function Documentation

◆ lcd_adcRead()

int lcd_adcRead ( int  pin)

Read ADC data.

Parameters
pinadc pin to read (platform-specific)
Returns
integer value corresponding to provided gpio pin. actual value range depends on platform and ADC mode.

◆ lcd_attachInterrupt()

void lcd_attachInterrupt ( int  pin,
void(*)()  interrupt,
int  level 
)

Attaches interrupt handler to pin.

Not implemented on many platforms

Parameters
pingpio pin number to attach interrupt handler to
interruptinterrupt handler
levelgpio state to aim interrupt

◆ lcd_delay()

void lcd_delay ( unsigned long  ms)

Forces current thread to sleeps for specified number of milliseconds.

Parameters
mstime in milliseconds

◆ lcd_delayUs()

void lcd_delayUs ( unsigned long  us)

Forces current thread to sleeps for specified number of microseconds.

Parameters
ustime in microseconds

◆ lcd_eepromReadWord()

uint16_t lcd_eepromReadWord ( const void *  ptr)

Reads 16-bit from eeprom.

Parameters
ptrpointer to eeprom memory to read
Returns
16-bit number from eeprom

◆ lcd_eepromWriteWord()

void lcd_eepromWriteWord ( const void *  ptr,
uint16_t  val 
)

Writes 16-bit to eeprom.

Parameters
ptrpointer to eeprom memory to write data to
val16-bit value to write

◆ lcd_gpioMode()

void lcd_gpioMode ( int  pin,
int  mode 
)

Sets gpio pin mode.

Parameters
pinpin number to change mode of
modenew gpio mode: LCD_GPIO_INPUT or LCD_GPIO_OUTPUT

◆ lcd_gpioRead()

int lcd_gpioRead ( int  pin)

Reads gpio pin value.

Parameters
pingpio pin number to read
Returns
LCD_HIGH or LCD_LOW

◆ lcd_gpioWrite()

void lcd_gpioWrite ( int  pin,
int  level 
)

Writes value to gpio.

Parameters
pingpio pin number to change
levelLCD_HIGH or LCD_LOW

◆ lcd_pgmReadByte()

uint8_t lcd_pgmReadByte ( const void *  ptr)

Read single data byte directly from flash.

This function is valid only for AVR platform. For other platforms, it reads byte, pointed by ptr.

Parameters
ptrpointer to data in flash
Returns
returns single byte read.

◆ lcd_random() [1/2]

int lcd_random ( int  max)

Returns random number in range [0;max].

Parameters
maxupper limit for number being generated

◆ lcd_random() [2/2]

int lcd_random ( int  min,
int  max 
)

Returns random number in range [min;max].

Parameters
minlower limit for number being generated
maxupper limit for number being generated

◆ lcd_randomSeed()

void lcd_randomSeed ( int  seed)

Initializes RND device.

Parameters
seedunique number to use for initialization