LibDriver SSD1306
Loading...
Searching...
No Matches
ssd1306 base driver function

ssd1306 base driver modules More...

Collaboration diagram for ssd1306 base driver function:

Data Structures

struct  ssd1306_handle_s
 ssd1306 handle structure definition More...
struct  ssd1306_info_s
 ssd1306 information structure definition More...

Typedefs

typedef struct ssd1306_handle_s ssd1306_handle_t
 ssd1306 handle structure definition
typedef struct ssd1306_info_s ssd1306_info_t
 ssd1306 information structure definition

Enumerations

enum  ssd1306_interface_t { SSD1306_INTERFACE_IIC = 0x00 , SSD1306_INTERFACE_SPI = 0x01 }
 ssd1306 interface enumeration definition More...
enum  ssd1306_address_t { SSD1306_ADDR_SA0_0 = 0x78 , SSD1306_ADDR_SA0_1 = 0x7A }
 ssd1306 address pin enumeration definition More...
enum  ssd1306_memory_addressing_mode_t { SSD1306_MEMORY_ADDRESSING_MODE_HORIZONTAL = 0x00 , SSD1306_MEMORY_ADDRESSING_MODE_VERTICAL = 0x01 , SSD1306_MEMORY_ADDRESSING_MODE_PAGE = 0x02 }
 ssd1306 memory addressing mode enumeration definition More...
enum  ssd1306_fade_blinking_mode_t { SSD1306_FADE_BLINKING_MODE_DISABLE = 0x00 , SSD1306_FADE_BLINKING_MODE_FADE_OUT = 0x02 , SSD1306_FADE_BLINKING_MODE_BLINKING = 0x03 }
 ssd1306 fade blinking mode enumeration definition More...
enum  ssd1306_scroll_frame_t {
  SSD1306_SCROLL_FRAME_2 = 0x07 , SSD1306_SCROLL_FRAME_3 = 0x04 , SSD1306_SCROLL_FRAME_4 = 0x05 , SSD1306_SCROLL_FRAME_5 = 0x00 ,
  SSD1306_SCROLL_FRAME_25 = 0x06 , SSD1306_SCROLL_FRAME_64 = 0x01 , SSD1306_SCROLL_FRAME_128 = 0x02 , SSD1306_SCROLL_FRAME_256 = 0x03
}
 ssd1306 scroll frame enumeration definition More...
enum  ssd1306_charge_pump_t { SSD1306_CHARGE_PUMP_DISABLE = 0x00 , SSD1306_CHARGE_PUMP_ENABLE = 0x01 }
 ssd1306 charge pump enumeration definition More...
enum  ssd1306_segment_column_remap_t { SSD1306_SEGMENT_COLUMN_ADDRESS_0 = 0x00 , SSD1306_SEGMENT_COLUMN_ADDRESS_127 = 0x01 }
 ssd1306 segment column remap enumeration definition More...
enum  ssd1306_entire_display_t { SSD1306_ENTIRE_DISPLAY_OFF = 0x00 , SSD1306_ENTIRE_DISPLAY_ON = 0x01 }
 ssd1306 entire display enumeration definition More...
enum  ssd1306_display_mode_t { SSD1306_DISPLAY_MODE_NORMAL = 0x00 , SSD1306_DISPLAY_MODE_INVERSE = 0x01 }
 ssd1306 display mode enumeration definition More...
enum  ssd1306_display_t { SSD1306_DISPLAY_OFF = 0x00 , SSD1306_DISPLAY_ON = 0x01 }
 ssd1306 display enumeration definition More...
enum  ssd1306_scan_direction_t { SSD1306_SCAN_DIRECTION_COM0_START = 0x00 , SSD1306_SCAN_DIRECTION_COMN_1_START = 0x01 }
 ssd1306 scan direction enumeration definition More...
enum  ssd1306_zoom_in_t { SSD1306_ZOOM_IN_DISABLE = 0x00 , SSD1306_ZOOM_IN_ENABLE = 0x01 }
 ssd1306 zoom in enumeration definition More...
enum  ssd1306_pin_conf_t { SSD1306_PIN_CONF_SEQUENTIAL = 0x00 , SSD1306_PIN_CONF_ALTERNATIVE = 0x01 }
 ssd1306 pin conf enumeration definition More...
enum  ssd1306_left_right_remap_t { SSD1306_LEFT_RIGHT_REMAP_DISABLE = 0x00 , SSD1306_LEFT_RIGHT_REMAP_ENABLE = 0x01 }
 ssd1306 left right remap enumeration definition More...
enum  ssd1306_deselect_level_t { SSD1306_DESELECT_LEVEL_0P65 = 0x00 , SSD1306_DESELECT_LEVEL_0P77 = 0x02 , SSD1306_DESELECT_LEVEL_0P83 = 0x03 }
 ssd1306 deselect level enumeration definition More...
enum  ssd1306_font_t { SSD1306_FONT_12 = 0x0C , SSD1306_FONT_16 = 0x10 , SSD1306_FONT_24 = 0x18 }
 ssd1306 font enumeration definition More...

Functions

uint8_t ssd1306_info (ssd1306_info_t *info)
 get chip's information
uint8_t ssd1306_set_interface (ssd1306_handle_t *handle, ssd1306_interface_t interface)
 set the chip interface
uint8_t ssd1306_get_interface (ssd1306_handle_t *handle, ssd1306_interface_t *interface)
 get the chip interface
uint8_t ssd1306_set_addr_pin (ssd1306_handle_t *handle, ssd1306_address_t addr_pin)
 set the chip iic address
uint8_t ssd1306_get_addr_pin (ssd1306_handle_t *handle, ssd1306_address_t *addr_pin)
 get the chip iic address
uint8_t ssd1306_init (ssd1306_handle_t *handle)
 initialize the chip
uint8_t ssd1306_deinit (ssd1306_handle_t *handle)
 close the chip
uint8_t ssd1306_clear (ssd1306_handle_t *handle)
 clear the screen
uint8_t ssd1306_gram_update (ssd1306_handle_t *handle)
 update the gram data
uint8_t ssd1306_write_point (ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint8_t data)
 write a point
uint8_t ssd1306_read_point (ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint8_t *data)
 read a point
uint8_t ssd1306_gram_write_point (ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint8_t data)
 write a point in the gram
uint8_t ssd1306_gram_read_point (ssd1306_handle_t *handle, uint8_t x, uint8_t y, uint8_t *data)
 read a point from the gram
uint8_t ssd1306_gram_write_string (ssd1306_handle_t *handle, uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1306_font_t font)
 draw a string in the gram
uint8_t ssd1306_gram_fill_rect (ssd1306_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t color)
 fill a rectangle in the gram
uint8_t ssd1306_gram_draw_picture (ssd1306_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img)
 draw a picture in the gram
uint8_t ssd1306_set_low_column_start_address (ssd1306_handle_t *handle, uint8_t addr)
 set the low column start address
uint8_t ssd1306_set_high_column_start_address (ssd1306_handle_t *handle, uint8_t addr)
 set the high column start address
uint8_t ssd1306_set_memory_addressing_mode (ssd1306_handle_t *handle, ssd1306_memory_addressing_mode_t mode)
 set the memory addressing mode
uint8_t ssd1306_set_column_address_range (ssd1306_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
 set the column address range
uint8_t ssd1306_set_page_address_range (ssd1306_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
 set the page address range
uint8_t ssd1306_set_fade_blinking_mode (ssd1306_handle_t *handle, ssd1306_fade_blinking_mode_t mode, uint8_t frames)
 set the fade blinking mode
uint8_t ssd1306_set_right_horizontal_scroll (ssd1306_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, ssd1306_scroll_frame_t frames)
 set the right horizontal scroll
uint8_t ssd1306_set_left_horizontal_scroll (ssd1306_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, ssd1306_scroll_frame_t frames)
 set the left horizontal scroll
uint8_t ssd1306_set_vertical_right_horizontal_scroll (ssd1306_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t rows, ssd1306_scroll_frame_t frames)
 set the vertical right horizontal scroll
uint8_t ssd1306_set_vertical_left_horizontal_scroll (ssd1306_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t rows, ssd1306_scroll_frame_t frames)
 set the vertical left horizontal scroll
uint8_t ssd1306_deactivate_scroll (ssd1306_handle_t *handle)
 deactivate the scroll
uint8_t ssd1306_activate_scroll (ssd1306_handle_t *handle)
 activate the scroll
uint8_t ssd1306_set_display_start_line (ssd1306_handle_t *handle, uint8_t l)
 set the display start line
uint8_t ssd1306_set_contrast (ssd1306_handle_t *handle, uint8_t contrast)
 set the display contrast
uint8_t ssd1306_set_charge_pump (ssd1306_handle_t *handle, ssd1306_charge_pump_t enable)
 enable or disable the charge pump
uint8_t ssd1306_set_segment_remap (ssd1306_handle_t *handle, ssd1306_segment_column_remap_t remap)
 set the segment remap
uint8_t ssd1306_set_vertical_scroll_area (ssd1306_handle_t *handle, uint8_t start_row, uint8_t end_row)
 set the vertical scroll area
uint8_t ssd1306_set_entire_display (ssd1306_handle_t *handle, ssd1306_entire_display_t enable)
 enable or disable the entire display
uint8_t ssd1306_set_display_mode (ssd1306_handle_t *handle, ssd1306_display_mode_t mode)
 set the display mode
uint8_t ssd1306_set_multiplex_ratio (ssd1306_handle_t *handle, uint8_t multiplex)
 set the multiplex ratio
uint8_t ssd1306_set_display (ssd1306_handle_t *handle, ssd1306_display_t on_off)
 enable or disable the display
uint8_t ssd1306_set_page_address (ssd1306_handle_t *handle, uint8_t addr)
 set the page address
uint8_t ssd1306_set_scan_direction (ssd1306_handle_t *handle, ssd1306_scan_direction_t dir)
 set the scan direction
uint8_t ssd1306_set_display_offset (ssd1306_handle_t *handle, uint8_t offset)
 set the display offset
uint8_t ssd1306_set_display_clock (ssd1306_handle_t *handle, uint8_t oscillator_frequency, uint8_t clock_divide)
 set the display clock
uint8_t ssd1306_set_zoom_in (ssd1306_handle_t *handle, ssd1306_zoom_in_t zoom)
 set the display zoom in
uint8_t ssd1306_set_precharge_period (ssd1306_handle_t *handle, uint8_t phase1_period, uint8_t phase2_period)
 set the pre charge period
uint8_t ssd1306_set_com_pins_hardware_conf (ssd1306_handle_t *handle, ssd1306_pin_conf_t conf, ssd1306_left_right_remap_t remap)
 set the hardware com pins
uint8_t ssd1306_set_deselect_level (ssd1306_handle_t *handle, ssd1306_deselect_level_t level)
 set the deselect level

Detailed Description

ssd1306 base driver modules

Typedef Documentation

◆ ssd1306_handle_t

ssd1306 handle structure definition

◆ ssd1306_info_t

ssd1306 information structure definition

Enumeration Type Documentation

◆ ssd1306_address_t

ssd1306 address pin enumeration definition

Enumerator
SSD1306_ADDR_SA0_0 

address pin GND

SSD1306_ADDR_SA0_1 

address pin VCC

Definition at line 72 of file driver_ssd1306.h.

◆ ssd1306_charge_pump_t

ssd1306 charge pump enumeration definition

Enumerator
SSD1306_CHARGE_PUMP_DISABLE 

charge pump disable

SSD1306_CHARGE_PUMP_ENABLE 

charge pump enable

Definition at line 116 of file driver_ssd1306.h.

◆ ssd1306_deselect_level_t

ssd1306 deselect level enumeration definition

Enumerator
SSD1306_DESELECT_LEVEL_0P65 

deselect level 0.65

SSD1306_DESELECT_LEVEL_0P77 

deselect level 0.77

SSD1306_DESELECT_LEVEL_0P83 

deselect level 0.83

Definition at line 197 of file driver_ssd1306.h.

◆ ssd1306_display_mode_t

ssd1306 display mode enumeration definition

Enumerator
SSD1306_DISPLAY_MODE_NORMAL 

display mode normal

SSD1306_DISPLAY_MODE_INVERSE 

display mode inverse

Definition at line 143 of file driver_ssd1306.h.

◆ ssd1306_display_t

ssd1306 display enumeration definition

Enumerator
SSD1306_DISPLAY_OFF 

close display

SSD1306_DISPLAY_ON 

open display

Definition at line 152 of file driver_ssd1306.h.

◆ ssd1306_entire_display_t

ssd1306 entire display enumeration definition

Enumerator
SSD1306_ENTIRE_DISPLAY_OFF 

entire display off

SSD1306_ENTIRE_DISPLAY_ON 

entire display on

Definition at line 134 of file driver_ssd1306.h.

◆ ssd1306_fade_blinking_mode_t

ssd1306 fade blinking mode enumeration definition

Enumerator
SSD1306_FADE_BLINKING_MODE_DISABLE 

disable fade blinking mode

SSD1306_FADE_BLINKING_MODE_FADE_OUT 

fade out fade blinking mode

SSD1306_FADE_BLINKING_MODE_BLINKING 

blinking fade blinking mode

Definition at line 91 of file driver_ssd1306.h.

◆ ssd1306_font_t

ssd1306 font enumeration definition

Enumerator
SSD1306_FONT_12 

font 12

SSD1306_FONT_16 

font 16

SSD1306_FONT_24 

font 24

Definition at line 207 of file driver_ssd1306.h.

◆ ssd1306_interface_t

ssd1306 interface enumeration definition

Enumerator
SSD1306_INTERFACE_IIC 

interface iic

SSD1306_INTERFACE_SPI 

interface spi

Definition at line 63 of file driver_ssd1306.h.

◆ ssd1306_left_right_remap_t

ssd1306 left right remap enumeration definition

Enumerator
SSD1306_LEFT_RIGHT_REMAP_DISABLE 

disable left right remap

SSD1306_LEFT_RIGHT_REMAP_ENABLE 

enable left right remap

Definition at line 188 of file driver_ssd1306.h.

◆ ssd1306_memory_addressing_mode_t

ssd1306 memory addressing mode enumeration definition

Enumerator
SSD1306_MEMORY_ADDRESSING_MODE_HORIZONTAL 

horizontal addressing mode

SSD1306_MEMORY_ADDRESSING_MODE_VERTICAL 

vertical addressing mode

SSD1306_MEMORY_ADDRESSING_MODE_PAGE 

page addressing mode

Definition at line 81 of file driver_ssd1306.h.

◆ ssd1306_pin_conf_t

ssd1306 pin conf enumeration definition

Enumerator
SSD1306_PIN_CONF_SEQUENTIAL 

pin conf sequential

SSD1306_PIN_CONF_ALTERNATIVE 

pin conf alternative

Definition at line 179 of file driver_ssd1306.h.

◆ ssd1306_scan_direction_t

ssd1306 scan direction enumeration definition

Enumerator
SSD1306_SCAN_DIRECTION_COM0_START 

scan direction com 0 start

SSD1306_SCAN_DIRECTION_COMN_1_START 

scan direction com N-1 start

Definition at line 161 of file driver_ssd1306.h.

◆ ssd1306_scroll_frame_t

ssd1306 scroll frame enumeration definition

Enumerator
SSD1306_SCROLL_FRAME_2 

scroll frame 2

SSD1306_SCROLL_FRAME_3 

scroll frame 3

SSD1306_SCROLL_FRAME_4 

scroll frame 4

SSD1306_SCROLL_FRAME_5 

scroll frame 5

SSD1306_SCROLL_FRAME_25 

scroll frame 25

SSD1306_SCROLL_FRAME_64 

scroll frame 64

SSD1306_SCROLL_FRAME_128 

scroll frame 128

SSD1306_SCROLL_FRAME_256 

scroll frame 256

Definition at line 101 of file driver_ssd1306.h.

◆ ssd1306_segment_column_remap_t

ssd1306 segment column remap enumeration definition

Enumerator
SSD1306_SEGMENT_COLUMN_ADDRESS_0 

segment column remap address 0

SSD1306_SEGMENT_COLUMN_ADDRESS_127 

segment column remap address 127

Definition at line 125 of file driver_ssd1306.h.

◆ ssd1306_zoom_in_t

ssd1306 zoom in enumeration definition

Enumerator
SSD1306_ZOOM_IN_DISABLE 

disable zoom in

SSD1306_ZOOM_IN_ENABLE 

enable zoom in

Definition at line 170 of file driver_ssd1306.h.

Function Documentation

◆ ssd1306_activate_scroll()

uint8_t ssd1306_activate_scroll ( ssd1306_handle_t * handle)

activate the scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 activate scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1664 of file driver_ssd1306.c.

◆ ssd1306_clear()

uint8_t ssd1306_clear ( ssd1306_handle_t * handle)

clear the screen

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 clear failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 334 of file driver_ssd1306.c.

◆ ssd1306_deactivate_scroll()

uint8_t ssd1306_deactivate_scroll ( ssd1306_handle_t * handle)

deactivate the scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 deactivate scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1640 of file driver_ssd1306.c.

◆ ssd1306_deinit()

uint8_t ssd1306_deinit ( ssd1306_handle_t * handle)

close the chip

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 iic or spi deinit failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 power down failed
  • 5 reset gpio deinit failed
  • 6 command && data deinit failed
  • 7 interface param is invalid
Note
none

Definition at line 1032 of file driver_ssd1306.c.

◆ ssd1306_get_addr_pin()

uint8_t ssd1306_get_addr_pin ( ssd1306_handle_t * handle,
ssd1306_address_t * addr_pin )

get the chip iic address

Parameters
[in]*handlepointer to an ssd1306 handle structure
[out]*addr_pinpointer to an iic address buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 1172 of file driver_ssd1306.c.

◆ ssd1306_get_interface()

uint8_t ssd1306_get_interface ( ssd1306_handle_t * handle,
ssd1306_interface_t * interface )

get the chip interface

Parameters
[in]*handlepointer to an ssd1306 handle structure
[out]*interfacepointer to a chip interface buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 1130 of file driver_ssd1306.c.

◆ ssd1306_gram_draw_picture()

uint8_t ssd1306_gram_draw_picture ( ssd1306_handle_t * handle,
uint8_t left,
uint8_t top,
uint8_t right,
uint8_t bottom,
uint8_t * img )

draw a picture in the gram

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]leftleft coordinate x
[in]toptop coordinate y
[in]rightright coordinate x
[in]bottombottom coordinate y
[in]*imgpointer to an image buffer
Returns
status code
  • 0 success
  • 1 gram draw picture failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 left or top is invalid
  • 5 right or bottom is invalid
  • 6 left > right or top > bottom
Note
none

Definition at line 805 of file driver_ssd1306.c.

◆ ssd1306_gram_fill_rect()

uint8_t ssd1306_gram_fill_rect ( ssd1306_handle_t * handle,
uint8_t left,
uint8_t top,
uint8_t right,
uint8_t bottom,
uint8_t color )

fill a rectangle in the gram

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]leftleft coordinate x
[in]toptop coordinate y
[in]rightright coordinate x
[in]bottombottom coordinate y
[in]colordisplay color
Returns
status code
  • 0 success
  • 1 gram fill rect failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 left or top is invalid
  • 5 right or bottom is invalid
  • 6 left > right or top > bottom
Note
none

Definition at line 742 of file driver_ssd1306.c.

◆ ssd1306_gram_read_point()

uint8_t ssd1306_gram_read_point ( ssd1306_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t * data )

read a point from the gram

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]xcoordinate x
[in]ycoordinate y
[out]*datapointer to a data buffer
Returns
status code
  • 0 success
  • 1 gram read point failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 x or y is invalid
Note
none

Definition at line 631 of file driver_ssd1306.c.

◆ ssd1306_gram_update()

uint8_t ssd1306_gram_update ( ssd1306_handle_t * handle)

update the gram data

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 gram update failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 393 of file driver_ssd1306.c.

◆ ssd1306_gram_write_point()

uint8_t ssd1306_gram_write_point ( ssd1306_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t data )

write a point in the gram

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]xcoordinate x
[in]ycoordinate y
[in]datawritten data
Returns
status code
  • 0 success
  • 1 gram write point failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 x or y is invalid
Note
none

Definition at line 581 of file driver_ssd1306.c.

◆ ssd1306_gram_write_string()

uint8_t ssd1306_gram_write_string ( ssd1306_handle_t * handle,
uint8_t x,
uint8_t y,
char * str,
uint16_t len,
uint8_t color,
ssd1306_font_t font )

draw a string in the gram

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]xcoordinate x
[in]ycoordinate y
[in]*strpointer to a write string address
[in]lenlength of the string
[in]colordisplay color
[in]fontdisplay font size
Returns
status code
  • 0 success
  • 1 gram write string failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 x or y is invalid
Note
none

Definition at line 684 of file driver_ssd1306.c.

◆ ssd1306_info()

uint8_t ssd1306_info ( ssd1306_info_t * info)

get chip's information

Parameters
[out]*infopointer to an ssd1306 info structure
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 2337 of file driver_ssd1306.c.

◆ ssd1306_init()

uint8_t ssd1306_init ( ssd1306_handle_t * handle)

initialize the chip

Parameters
[in]*handlepointer to an ssd1306 handle structure
Returns
status code
  • 0 success
  • 1 iic or spi initialization failed
  • 2 handle is NULL
  • 3 linked functions is NULL
  • 4 reset failed
  • 5 command && data init failed
  • 6 interface param is invalid
Note
none

Definition at line 864 of file driver_ssd1306.c.

◆ ssd1306_read_point()

uint8_t ssd1306_read_point ( ssd1306_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t * data )

read a point

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]xcoordinate x
[in]ycoordinate y
[out]*datapointer to a data buffer
Returns
status code
  • 0 success
  • 1 read point failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 x or y is invalid
Note
none

Definition at line 531 of file driver_ssd1306.c.

◆ ssd1306_set_addr_pin()

uint8_t ssd1306_set_addr_pin ( ssd1306_handle_t * handle,
ssd1306_address_t addr_pin )

set the chip iic address

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]addr_piniic address
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 1151 of file driver_ssd1306.c.

◆ ssd1306_set_charge_pump()

uint8_t ssd1306_set_charge_pump ( ssd1306_handle_t * handle,
ssd1306_charge_pump_t enable )

enable or disable the charge pump

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set charge pump failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1751 of file driver_ssd1306.c.

◆ ssd1306_set_column_address_range()

uint8_t ssd1306_set_column_address_range ( ssd1306_handle_t * handle,
uint8_t start_addr,
uint8_t end_addr )

set the column address range

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_addrcolumn start address
[in]end_addrcolumn end address
Returns
status code
  • 0 success
  • 1 set column address range failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start addr is invalid
  • 5 end addr is invalid
Note
start addr and end addr can't be over 0x7F

Definition at line 1292 of file driver_ssd1306.c.

◆ ssd1306_set_com_pins_hardware_conf()

uint8_t ssd1306_set_com_pins_hardware_conf ( ssd1306_handle_t * handle,
ssd1306_pin_conf_t conf,
ssd1306_left_right_remap_t remap )

set the hardware com pins

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]confpin conf
[in]remapleft right remap
Returns
status code
  • 0 success
  • 1 set com pins hardware conf failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2228 of file driver_ssd1306.c.

◆ ssd1306_set_contrast()

uint8_t ssd1306_set_contrast ( ssd1306_handle_t * handle,
uint8_t contrast )

set the display contrast

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]contrastdisplay contrast
Returns
status code
  • 0 success
  • 1 set contrast failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1721 of file driver_ssd1306.c.

◆ ssd1306_set_deselect_level()

uint8_t ssd1306_set_deselect_level ( ssd1306_handle_t * handle,
ssd1306_deselect_level_t level )

set the deselect level

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]leveldeselect level
Returns
status code
  • 0 success
  • 1 set deselect level failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2258 of file driver_ssd1306.c.

◆ ssd1306_set_display()

uint8_t ssd1306_set_display ( ssd1306_handle_t * handle,
ssd1306_display_t on_off )

enable or disable the display

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]on_offbool value
Returns
status code
  • 0 success
  • 1 set display failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1974 of file driver_ssd1306.c.

◆ ssd1306_set_display_clock()

uint8_t ssd1306_set_display_clock ( ssd1306_handle_t * handle,
uint8_t oscillator_frequency,
uint8_t clock_divide )

set the display clock

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]oscillator_frequencyoscillator frequency
[in]clock_divideclock divide
Returns
status code
  • 0 success
  • 1 set display clock failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 oscillator frequency is invalid
  • 5 clock divide is invalid
Note
oscillator_frequency <= 0x0F, clock_divide <= 0x0F

Definition at line 2110 of file driver_ssd1306.c.

◆ ssd1306_set_display_mode()

uint8_t ssd1306_set_display_mode ( ssd1306_handle_t * handle,
ssd1306_display_mode_t mode )

set the display mode

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]modedisplay mode
Returns
status code
  • 0 success
  • 1 set display mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1898 of file driver_ssd1306.c.

◆ ssd1306_set_display_offset()

uint8_t ssd1306_set_display_offset ( ssd1306_handle_t * handle,
uint8_t offset )

set the display offset

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]offsetdisplay offset
Returns
status code
  • 0 success
  • 1 set display offset failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 offset is invalid
Note
offset <= 0x3F

Definition at line 2071 of file driver_ssd1306.c.

◆ ssd1306_set_display_start_line()

uint8_t ssd1306_set_display_start_line ( ssd1306_handle_t * handle,
uint8_t l )

set the display start line

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]lstart line
Returns
status code
  • 0 success
  • 1 set display start line failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 line is invalid
Note
line <= 0x3F

Definition at line 1690 of file driver_ssd1306.c.

◆ ssd1306_set_entire_display()

uint8_t ssd1306_set_entire_display ( ssd1306_handle_t * handle,
ssd1306_entire_display_t enable )

enable or disable the entire display

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set entire display failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1866 of file driver_ssd1306.c.

◆ ssd1306_set_fade_blinking_mode()

uint8_t ssd1306_set_fade_blinking_mode ( ssd1306_handle_t * handle,
ssd1306_fade_blinking_mode_t mode,
uint8_t frames )

set the fade blinking mode

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]modefade blinking mode
[in]framesfade or blinking frames
Returns
status code
  • 0 success
  • 1 set fade blinking mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 frames is invalid
Note
frames max is 0x0F and div is (frames + 1) * 8

Definition at line 1383 of file driver_ssd1306.c.

◆ ssd1306_set_high_column_start_address()

uint8_t ssd1306_set_high_column_start_address ( ssd1306_handle_t * handle,
uint8_t addr )

set the high column start address

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]addrhigh column start address
Returns
status code
  • 0 success
  • 1 set high column start address failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 addr is invalid
Note
addr <= 0xF

Definition at line 1228 of file driver_ssd1306.c.

◆ ssd1306_set_interface()

uint8_t ssd1306_set_interface ( ssd1306_handle_t * handle,
ssd1306_interface_t interface )

set the chip interface

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]interfacechip interface
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 1109 of file driver_ssd1306.c.

◆ ssd1306_set_left_horizontal_scroll()

uint8_t ssd1306_set_left_horizontal_scroll ( ssd1306_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
ssd1306_scroll_frame_t frames )

set the left horizontal scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]framesscroll frames
Returns
status code
  • 0 success
  • 1 set left horizontal scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start_page_addr is invalid
  • 5 end_page_addr is invalid
Note
start_page_addr <= 0x07, end_page_addr <= 0x07

Definition at line 1475 of file driver_ssd1306.c.

◆ ssd1306_set_low_column_start_address()

uint8_t ssd1306_set_low_column_start_address ( ssd1306_handle_t * handle,
uint8_t addr )

set the low column start address

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]addrlow column start address
Returns
status code
  • 0 success
  • 1 set low column start address failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 addr is invalid
Note
addr <= 0xF

Definition at line 1196 of file driver_ssd1306.c.

◆ ssd1306_set_memory_addressing_mode()

uint8_t ssd1306_set_memory_addressing_mode ( ssd1306_handle_t * handle,
ssd1306_memory_addressing_mode_t mode )

set the memory addressing mode

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]modememory addressing mode
Returns
status code
  • 0 success
  • 1 set memory addressing mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1259 of file driver_ssd1306.c.

◆ ssd1306_set_multiplex_ratio()

uint8_t ssd1306_set_multiplex_ratio ( ssd1306_handle_t * handle,
uint8_t multiplex )

set the multiplex ratio

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]multiplexmultiplex ratio
Returns
status code
  • 0 success
  • 1 set multiplex ratio failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 multiplex is too small
  • 5 multiplex is too large
Note
multiplex must be over 0x0E and less than 0x40

Definition at line 1932 of file driver_ssd1306.c.

◆ ssd1306_set_page_address()

uint8_t ssd1306_set_page_address ( ssd1306_handle_t * handle,
uint8_t addr )

set the page address

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]addrpage address
Returns
status code
  • 0 success
  • 1 set page address failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 addr is invalid
Note
addr <= 0x07

Definition at line 2007 of file driver_ssd1306.c.

◆ ssd1306_set_page_address_range()

uint8_t ssd1306_set_page_address_range ( ssd1306_handle_t * handle,
uint8_t start_addr,
uint8_t end_addr )

set the page address range

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_addrpage start address
[in]end_addrpage end address
Returns
status code
  • 0 success
  • 1 set page address range failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start addr is invalid
  • 5 end addr is invalid
Note
start addr and end addr can't be over 0x07

Definition at line 1338 of file driver_ssd1306.c.

◆ ssd1306_set_precharge_period()

uint8_t ssd1306_set_precharge_period ( ssd1306_handle_t * handle,
uint8_t phase1_period,
uint8_t phase2_period )

set the pre charge period

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]phase1_periodphase1 period
[in]phase2_periodphase2 period
Returns
status code
  • 0 success
  • 1 set pre charge period failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 phase1 period is invalid
  • 5 phase2 period is invalid
Note
phase1_period <= 0x0F, phase2_period <= 0x0F

Definition at line 2185 of file driver_ssd1306.c.

◆ ssd1306_set_right_horizontal_scroll()

uint8_t ssd1306_set_right_horizontal_scroll ( ssd1306_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
ssd1306_scroll_frame_t frames )

set the right horizontal scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]framesscroll frames
Returns
status code
  • 0 success
  • 1 set right horizontal scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start page addr is invalid
  • 5 end page addr is invalid
Note
start_page_addr <= 0x07, end_page_addr <= 0x07

Definition at line 1423 of file driver_ssd1306.c.

◆ ssd1306_set_scan_direction()

uint8_t ssd1306_set_scan_direction ( ssd1306_handle_t * handle,
ssd1306_scan_direction_t dir )

set the scan direction

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]dirscan direction
Returns
status code
  • 0 success
  • 1 set scan direction failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2038 of file driver_ssd1306.c.

◆ ssd1306_set_segment_remap()

uint8_t ssd1306_set_segment_remap ( ssd1306_handle_t * handle,
ssd1306_segment_column_remap_t remap )

set the segment remap

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]remapsegment remap param
Returns
status code
  • 0 success
  • 1 set segment remap failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 1781 of file driver_ssd1306.c.

◆ ssd1306_set_vertical_left_horizontal_scroll()

uint8_t ssd1306_set_vertical_left_horizontal_scroll ( ssd1306_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t rows,
ssd1306_scroll_frame_t frames )

set the vertical left horizontal scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]rowsrow address
[in]framesscroll frames
Returns
status code
  • 0 success
  • 1 set vertical left horizontal scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start_page_addr is invalid
  • 5 end_page_addr is invalid
  • 6 rows is invalid
Note
start_page_addr <= 0x07, end_page_addr <= 0x07, rows <= 0x3F

Definition at line 1588 of file driver_ssd1306.c.

◆ ssd1306_set_vertical_right_horizontal_scroll()

uint8_t ssd1306_set_vertical_right_horizontal_scroll ( ssd1306_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t rows,
ssd1306_scroll_frame_t frames )

set the vertical right horizontal scroll

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]rowsrow address
[in]framesscroll frames
Returns
status code
  • 0 success
  • 1 set vertical right horizontal scroll failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start_page_addr is invalid
  • 5 end_page_addr is invalid
  • 6 rows is invalid
Note
start_page_addr <= 0x07, end_page_addr <= 0x07, rows <= 0x3F

Definition at line 1529 of file driver_ssd1306.c.

◆ ssd1306_set_vertical_scroll_area()

uint8_t ssd1306_set_vertical_scroll_area ( ssd1306_handle_t * handle,
uint8_t start_row,
uint8_t end_row )

set the vertical scroll area

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]start_rowstart row
[in]end_rowend row
Returns
status code
  • 0 success
  • 1 set vertical scroll area failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start_row is invalid
  • 5 end_row is invalid
  • 6 end_row > start_row
Note
start_row <= 0x3F, end_row <= 0x7F, start_row >= end_row

Definition at line 1817 of file driver_ssd1306.c.

◆ ssd1306_set_zoom_in()

uint8_t ssd1306_set_zoom_in ( ssd1306_handle_t * handle,
ssd1306_zoom_in_t zoom )

set the display zoom in

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]zoomdisplay zoom in
Returns
status code
  • 0 success
  • 1 set zoom in failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2152 of file driver_ssd1306.c.

◆ ssd1306_write_point()

uint8_t ssd1306_write_point ( ssd1306_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t data )

write a point

Parameters
[in]*handlepointer to an ssd1306 handle structure
[in]xcoordinate x
[in]ycoordinate y
[in]datawritten data
Returns
status code
  • 0 success
  • 1 write point failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 x or y is invalid
Note
none

Definition at line 455 of file driver_ssd1306.c.