LibDriver SSD1309
Loading...
Searching...
No Matches
ssd1309 base driver function

ssd1309 base driver modules More...

Collaboration diagram for ssd1309 base driver function:

Data Structures

struct  ssd1309_handle_s
 ssd1309 handle structure definition More...
struct  ssd1309_info_s
 ssd1309 information structure definition More...

Typedefs

typedef struct ssd1309_handle_s ssd1309_handle_t
 ssd1309 handle structure definition
typedef struct ssd1309_info_s ssd1309_info_t
 ssd1309 information structure definition

Enumerations

enum  ssd1309_interface_t { SSD1309_INTERFACE_IIC = 0x00 , SSD1309_INTERFACE_SPI = 0x01 }
 ssd1309 interface enumeration definition More...
enum  ssd1309_address_t { SSD1309_ADDR_SA0_0 = 0x78 , SSD1309_ADDR_SA0_1 = 0x7A }
 ssd1309 address pin enumeration definition More...
enum  ssd1309_bool_t { SSD1309_BOOL_FALSE = 0x00 , SSD1309_BOOL_TRUE = 0x01 }
 ssd1309 bool enumeration definition More...
enum  ssd1309_memory_addressing_mode_t { SSD1309_MEMORY_ADDRESSING_MODE_HORIZONTAL = 0x00 , SSD1309_MEMORY_ADDRESSING_MODE_VERTICAL = 0x01 , SSD1309_MEMORY_ADDRESSING_MODE_PAGE = 0x02 }
 ssd1309 memory addressing mode enumeration definition More...
enum  ssd1309_scroll_frame_t {
  SSD1309_SCROLL_FRAME_1 = 0x07 , SSD1309_SCROLL_FRAME_2 = 0x04 , SSD1309_SCROLL_FRAME_3 = 0x05 , SSD1309_SCROLL_FRAME_4 = 0x06 ,
  SSD1309_SCROLL_FRAME_5 = 0x00 , SSD1309_SCROLL_FRAME_64 = 0x01 , SSD1309_SCROLL_FRAME_128 = 0x02 , SSD1309_SCROLL_FRAME_256 = 0x03
}
 ssd1309 scroll frame enumeration definition More...
enum  ssd1309_segment_column_remap_t { SSD1309_SEGMENT_COLUMN_ADDRESS_0 = 0x00 , SSD1309_SEGMENT_COLUMN_ADDRESS_127 = 0x01 }
 ssd1309 segment column remap enumeration definition More...
enum  ssd1309_entire_display_t { SSD1309_ENTIRE_DISPLAY_OFF = 0x00 , SSD1309_ENTIRE_DISPLAY_ON = 0x01 }
 ssd1309 entire display enumeration definition More...
enum  ssd1309_display_mode_t { SSD1309_DISPLAY_MODE_NORMAL = 0x00 , SSD1309_DISPLAY_MODE_INVERSE = 0x01 }
 ssd1309 display mode enumeration definition More...
enum  ssd1309_display_t { SSD1309_DISPLAY_OFF = 0x00 , SSD1309_DISPLAY_ON = 0x01 }
 ssd1309 display enumeration definition More...
enum  ssd1309_scan_direction_t { SSD1309_SCAN_DIRECTION_COM0_START = 0x00 , SSD1309_SCAN_DIRECTION_COMN_1_START = 0x01 }
 ssd1309 scan direction enumeration definition More...
enum  ssd1309_pin_conf_t { SSD1309_PIN_CONF_SEQUENTIAL = 0x00 , SSD1309_PIN_CONF_ALTERNATIVE = 0x01 }
 ssd1309 pin conf enumeration definition More...
enum  ssd1309_left_right_remap_t { SSD1309_LEFT_RIGHT_REMAP_DISABLE = 0x00 , SSD1309_LEFT_RIGHT_REMAP_ENABLE = 0x01 }
 ssd1309 left right remap enumeration definition More...
enum  ssd1309_deselect_level_t { SSD1309_DESELECT_LEVEL_0P64 = 0x00 , SSD1309_DESELECT_LEVEL_0P78 = 0x0D , SSD1309_DESELECT_LEVEL_0P84 = 0x0F }
 ssd1309 deselect level enumeration definition More...
enum  ssd1309_gpio_t { SSD1309_GPIO_HIZ_INPUT_DISABLE = 0x00 , SSD1309_GPIO_HIZ_INPUT_ENABLE = 0x01 , SSD1309_GPIO_OUTPUT_LOW = 0x02 , SSD1309_GPIO_OUTPUT_HIGH = 0x03 }
 ssd1309 gpio enumeration definition More...
enum  ssd1309_font_t { SSD1309_FONT_12 = 0x0C , SSD1309_FONT_16 = 0x10 , SSD1309_FONT_24 = 0x18 }
 ssd1309 font enumeration definition More...

Functions

uint8_t ssd1309_info (ssd1309_info_t *info)
 get chip's information
uint8_t ssd1309_set_interface (ssd1309_handle_t *handle, ssd1309_interface_t interface)
 set the chip interface
uint8_t ssd1309_get_interface (ssd1309_handle_t *handle, ssd1309_interface_t *interface)
 get the chip interface
uint8_t ssd1309_set_addr_pin (ssd1309_handle_t *handle, ssd1309_address_t addr_pin)
 set the chip iic address
uint8_t ssd1309_get_addr_pin (ssd1309_handle_t *handle, ssd1309_address_t *addr_pin)
 get the chip iic address
uint8_t ssd1309_init (ssd1309_handle_t *handle)
 initialize the chip
uint8_t ssd1309_deinit (ssd1309_handle_t *handle)
 close the chip
uint8_t ssd1309_clear (ssd1309_handle_t *handle)
 clear the screen
uint8_t ssd1309_write_point (ssd1309_handle_t *handle, uint8_t x, uint8_t y, uint8_t data)
 write a point
uint8_t ssd1309_read_point (ssd1309_handle_t *handle, uint8_t x, uint8_t y, uint8_t *data)
 read a point
uint8_t ssd1309_gram_write_point (ssd1309_handle_t *handle, uint8_t x, uint8_t y, uint8_t data)
 write a point in the gram
uint8_t ssd1309_gram_read_point (ssd1309_handle_t *handle, uint8_t x, uint8_t y, uint8_t *data)
 read a point from the gram
uint8_t ssd1309_gram_write_string (ssd1309_handle_t *handle, uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1309_font_t font)
 draw a string in the gram
uint8_t ssd1309_gram_fill_rect (ssd1309_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 ssd1309_gram_draw_picture (ssd1309_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 ssd1309_gram_update (ssd1309_handle_t *handle)
 update the gram data
uint8_t ssd1309_set_low_column_start_address (ssd1309_handle_t *handle, uint8_t addr)
 set the low column start address
uint8_t ssd1309_set_high_column_start_address (ssd1309_handle_t *handle, uint8_t addr)
 set the high column start address
uint8_t ssd1309_set_memory_addressing_mode (ssd1309_handle_t *handle, ssd1309_memory_addressing_mode_t mode)
 set the memory addressing mode
uint8_t ssd1309_set_column_address_range (ssd1309_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
 set the column address range
uint8_t ssd1309_set_page_address_range (ssd1309_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
 set the page address range
uint8_t ssd1309_set_right_horizontal_scroll (ssd1309_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, ssd1309_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
 set the right horizontal scroll
uint8_t ssd1309_set_left_horizontal_scroll (ssd1309_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, ssd1309_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
 set the left horizontal scroll
uint8_t ssd1309_set_vertical_right_horizontal_scroll (ssd1309_handle_t *handle, ssd1309_bool_t horizontal_scroll, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t rows, ssd1309_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
 set the vertical right horizontal scroll
uint8_t ssd1309_set_vertical_left_horizontal_scroll (ssd1309_handle_t *handle, ssd1309_bool_t horizontal_scroll, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t rows, ssd1309_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
 set the vertical left horizontal scroll
uint8_t ssd1309_deactivate_scroll (ssd1309_handle_t *handle)
 deactivate the scroll
uint8_t ssd1309_activate_scroll (ssd1309_handle_t *handle)
 activate the scroll
uint8_t ssd1309_set_display_start_line (ssd1309_handle_t *handle, uint8_t l)
 set the display start line
uint8_t ssd1309_set_contrast (ssd1309_handle_t *handle, uint8_t contrast)
 set the display contrast
uint8_t ssd1309_set_segment_remap (ssd1309_handle_t *handle, ssd1309_segment_column_remap_t remap)
 set the segment remap
uint8_t ssd1309_set_vertical_scroll_area (ssd1309_handle_t *handle, uint8_t start_row, uint8_t end_row)
 set the vertical scroll area
uint8_t ssd1309_set_entire_display (ssd1309_handle_t *handle, ssd1309_entire_display_t enable)
 enable or disable the entire display
uint8_t ssd1309_set_display_mode (ssd1309_handle_t *handle, ssd1309_display_mode_t mode)
 set the display mode
uint8_t ssd1309_set_multiplex_ratio (ssd1309_handle_t *handle, uint8_t multiplex)
 set the multiplex ratio
uint8_t ssd1309_set_display (ssd1309_handle_t *handle, ssd1309_display_t on_off)
 enable or disable the display
uint8_t ssd1309_set_page_address (ssd1309_handle_t *handle, uint8_t addr)
 set the page address
uint8_t ssd1309_set_scan_direction (ssd1309_handle_t *handle, ssd1309_scan_direction_t dir)
 set the scan direction
uint8_t ssd1309_set_display_offset (ssd1309_handle_t *handle, uint8_t offset)
 set the display offset
uint8_t ssd1309_set_display_clock (ssd1309_handle_t *handle, uint8_t oscillator_frequency, uint8_t clock_divide)
 set the display clock
uint8_t ssd1309_set_precharge_period (ssd1309_handle_t *handle, uint8_t phase1_period, uint8_t phase2_period)
 set the pre charge period
uint8_t ssd1309_set_com_pins_hardware_conf (ssd1309_handle_t *handle, ssd1309_pin_conf_t conf, ssd1309_left_right_remap_t remap)
 set the hardware com pins
uint8_t ssd1309_set_deselect_level (ssd1309_handle_t *handle, ssd1309_deselect_level_t level)
 set the deselect level
uint8_t ssd1309_set_right_horizontal_scroll_one_column (ssd1309_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t start_column_addr, uint8_t end_column_addr)
 set right horizontal scroll one column
uint8_t ssd1309_set_left_horizontal_scroll_one_column (ssd1309_handle_t *handle, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t start_column_addr, uint8_t end_column_addr)
 set left horizontal scroll one column
uint8_t ssd1309_set_gpio (ssd1309_handle_t *handle, ssd1309_gpio_t gpio)
 set gpio
uint8_t ssd1309_set_mcu_interface_lock (ssd1309_handle_t *handle, ssd1309_bool_t enable)
 enable or disable mcu interface lock

Detailed Description

ssd1309 base driver modules

Typedef Documentation

◆ ssd1309_handle_t

ssd1309 handle structure definition

◆ ssd1309_info_t

ssd1309 information structure definition

Enumeration Type Documentation

◆ ssd1309_address_t

ssd1309 address pin enumeration definition

Enumerator
SSD1309_ADDR_SA0_0 

address pin GND

SSD1309_ADDR_SA0_1 

address pin VCC

Definition at line 71 of file driver_ssd1309.h.

◆ ssd1309_bool_t

ssd1309 bool enumeration definition

Enumerator
SSD1309_BOOL_FALSE 

false

SSD1309_BOOL_TRUE 

true

Definition at line 80 of file driver_ssd1309.h.

◆ ssd1309_deselect_level_t

ssd1309 deselect level enumeration definition

Enumerator
SSD1309_DESELECT_LEVEL_0P64 

deselect level 0.64

SSD1309_DESELECT_LEVEL_0P78 

deselect level 0.78

SSD1309_DESELECT_LEVEL_0P84 

deselect level 0.84

Definition at line 177 of file driver_ssd1309.h.

◆ ssd1309_display_mode_t

ssd1309 display mode enumeration definition

Enumerator
SSD1309_DISPLAY_MODE_NORMAL 

display mode normal

SSD1309_DISPLAY_MODE_INVERSE 

display mode inverse

Definition at line 132 of file driver_ssd1309.h.

◆ ssd1309_display_t

ssd1309 display enumeration definition

Enumerator
SSD1309_DISPLAY_OFF 

close display

SSD1309_DISPLAY_ON 

open display

Definition at line 141 of file driver_ssd1309.h.

◆ ssd1309_entire_display_t

ssd1309 entire display enumeration definition

Enumerator
SSD1309_ENTIRE_DISPLAY_OFF 

entire display off

SSD1309_ENTIRE_DISPLAY_ON 

entire display on

Definition at line 123 of file driver_ssd1309.h.

◆ ssd1309_font_t

ssd1309 font enumeration definition

Enumerator
SSD1309_FONT_12 

font 12

SSD1309_FONT_16 

font 16

SSD1309_FONT_24 

font 24

Definition at line 198 of file driver_ssd1309.h.

◆ ssd1309_gpio_t

ssd1309 gpio enumeration definition

Enumerator
SSD1309_GPIO_HIZ_INPUT_DISABLE 

input disabled

SSD1309_GPIO_HIZ_INPUT_ENABLE 

input enabled

SSD1309_GPIO_OUTPUT_LOW 

output low

SSD1309_GPIO_OUTPUT_HIGH 

output high

Definition at line 187 of file driver_ssd1309.h.

◆ ssd1309_interface_t

ssd1309 interface enumeration definition

Enumerator
SSD1309_INTERFACE_IIC 

interface iic

SSD1309_INTERFACE_SPI 

interface spi

Definition at line 62 of file driver_ssd1309.h.

◆ ssd1309_left_right_remap_t

ssd1309 left right remap enumeration definition

Enumerator
SSD1309_LEFT_RIGHT_REMAP_DISABLE 

disable left right remap

SSD1309_LEFT_RIGHT_REMAP_ENABLE 

enable left right remap

Definition at line 168 of file driver_ssd1309.h.

◆ ssd1309_memory_addressing_mode_t

ssd1309 memory addressing mode enumeration definition

Enumerator
SSD1309_MEMORY_ADDRESSING_MODE_HORIZONTAL 

horizontal addressing mode

SSD1309_MEMORY_ADDRESSING_MODE_VERTICAL 

vertical addressing mode

SSD1309_MEMORY_ADDRESSING_MODE_PAGE 

page addressing mode

Definition at line 89 of file driver_ssd1309.h.

◆ ssd1309_pin_conf_t

ssd1309 pin conf enumeration definition

Enumerator
SSD1309_PIN_CONF_SEQUENTIAL 

pin conf sequential

SSD1309_PIN_CONF_ALTERNATIVE 

pin conf alternative

Definition at line 159 of file driver_ssd1309.h.

◆ ssd1309_scan_direction_t

ssd1309 scan direction enumeration definition

Enumerator
SSD1309_SCAN_DIRECTION_COM0_START 

scan direction com 0 start

SSD1309_SCAN_DIRECTION_COMN_1_START 

scan direction com N-1 start

Definition at line 150 of file driver_ssd1309.h.

◆ ssd1309_scroll_frame_t

ssd1309 scroll frame enumeration definition

Enumerator
SSD1309_SCROLL_FRAME_1 

scroll frame 1

SSD1309_SCROLL_FRAME_2 

scroll frame 2

SSD1309_SCROLL_FRAME_3 

scroll frame 3

SSD1309_SCROLL_FRAME_4 

scroll frame 4

SSD1309_SCROLL_FRAME_5 

scroll frame 5

SSD1309_SCROLL_FRAME_64 

scroll frame 64

SSD1309_SCROLL_FRAME_128 

scroll frame 128

SSD1309_SCROLL_FRAME_256 

scroll frame 256

Definition at line 99 of file driver_ssd1309.h.

◆ ssd1309_segment_column_remap_t

ssd1309 segment column remap enumeration definition

Enumerator
SSD1309_SEGMENT_COLUMN_ADDRESS_0 

segment column remap address 0

SSD1309_SEGMENT_COLUMN_ADDRESS_127 

segment column remap address 127

Definition at line 114 of file driver_ssd1309.h.

Function Documentation

◆ ssd1309_activate_scroll()

uint8_t ssd1309_activate_scroll ( ssd1309_handle_t * handle)

activate the scroll

Parameters
[in]*handlepointer to an ssd1309 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 1707 of file driver_ssd1309.c.

◆ ssd1309_clear()

uint8_t ssd1309_clear ( ssd1309_handle_t * handle)

clear the screen

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

Definition at line 333 of file driver_ssd1309.c.

◆ ssd1309_deactivate_scroll()

uint8_t ssd1309_deactivate_scroll ( ssd1309_handle_t * handle)

deactivate the scroll

Parameters
[in]*handlepointer to an ssd1309 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 1683 of file driver_ssd1309.c.

◆ ssd1309_deinit()

uint8_t ssd1309_deinit ( ssd1309_handle_t * handle)

close the chip

Parameters
[in]*handlepointer to an ssd1309 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 1031 of file driver_ssd1309.c.

◆ ssd1309_get_addr_pin()

uint8_t ssd1309_get_addr_pin ( ssd1309_handle_t * handle,
ssd1309_address_t * addr_pin )

get the chip iic address

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

Definition at line 1161 of file driver_ssd1309.c.

◆ ssd1309_get_interface()

uint8_t ssd1309_get_interface ( ssd1309_handle_t * handle,
ssd1309_interface_t * interface )

get the chip interface

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

Definition at line 1119 of file driver_ssd1309.c.

◆ ssd1309_gram_draw_picture()

uint8_t ssd1309_gram_draw_picture ( ssd1309_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 ssd1309 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 804 of file driver_ssd1309.c.

◆ ssd1309_gram_fill_rect()

uint8_t ssd1309_gram_fill_rect ( ssd1309_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 ssd1309 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 741 of file driver_ssd1309.c.

◆ ssd1309_gram_read_point()

uint8_t ssd1309_gram_read_point ( ssd1309_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t * data )

read a point from the gram

Parameters
[in]*handlepointer to an ssd1309 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 630 of file driver_ssd1309.c.

◆ ssd1309_gram_update()

uint8_t ssd1309_gram_update ( ssd1309_handle_t * handle)

update the gram data

Parameters
[in]*handlepointer to an ssd1309 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 392 of file driver_ssd1309.c.

◆ ssd1309_gram_write_point()

uint8_t ssd1309_gram_write_point ( ssd1309_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t data )

write a point in the gram

Parameters
[in]*handlepointer to an ssd1309 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 580 of file driver_ssd1309.c.

◆ ssd1309_gram_write_string()

uint8_t ssd1309_gram_write_string ( ssd1309_handle_t * handle,
uint8_t x,
uint8_t y,
char * str,
uint16_t len,
uint8_t color,
ssd1309_font_t font )

draw a string in the gram

Parameters
[in]*handlepointer to an ssd1309 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 683 of file driver_ssd1309.c.

◆ ssd1309_info()

uint8_t ssd1309_info ( ssd1309_info_t * info)

get chip's information

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

Definition at line 2528 of file driver_ssd1309.c.

◆ ssd1309_init()

uint8_t ssd1309_init ( ssd1309_handle_t * handle)

initialize the chip

Parameters
[in]*handlepointer to an ssd1309 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 863 of file driver_ssd1309.c.

◆ ssd1309_read_point()

uint8_t ssd1309_read_point ( ssd1309_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t * data )

read a point

Parameters
[in]*handlepointer to an ssd1309 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 530 of file driver_ssd1309.c.

◆ ssd1309_set_addr_pin()

uint8_t ssd1309_set_addr_pin ( ssd1309_handle_t * handle,
ssd1309_address_t addr_pin )

set the chip iic address

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

Definition at line 1140 of file driver_ssd1309.c.

◆ ssd1309_set_column_address_range()

uint8_t ssd1309_set_column_address_range ( ssd1309_handle_t * handle,
uint8_t start_addr,
uint8_t end_addr )

set the column address range

Parameters
[in]*handlepointer to an ssd1309 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 1281 of file driver_ssd1309.c.

◆ ssd1309_set_com_pins_hardware_conf()

uint8_t ssd1309_set_com_pins_hardware_conf ( ssd1309_handle_t * handle,
ssd1309_pin_conf_t conf,
ssd1309_left_right_remap_t remap )

set the hardware com pins

Parameters
[in]*handlepointer to an ssd1309 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 2215 of file driver_ssd1309.c.

◆ ssd1309_set_contrast()

uint8_t ssd1309_set_contrast ( ssd1309_handle_t * handle,
uint8_t contrast )

set the display contrast

Parameters
[in]*handlepointer to an ssd1309 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 1764 of file driver_ssd1309.c.

◆ ssd1309_set_deselect_level()

uint8_t ssd1309_set_deselect_level ( ssd1309_handle_t * handle,
ssd1309_deselect_level_t level )

set the deselect level

Parameters
[in]*handlepointer to an ssd1309 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 2245 of file driver_ssd1309.c.

◆ ssd1309_set_display()

uint8_t ssd1309_set_display ( ssd1309_handle_t * handle,
ssd1309_display_t on_off )

enable or disable the display

Parameters
[in]*handlepointer to an ssd1309 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 1989 of file driver_ssd1309.c.

◆ ssd1309_set_display_clock()

uint8_t ssd1309_set_display_clock ( ssd1309_handle_t * handle,
uint8_t oscillator_frequency,
uint8_t clock_divide )

set the display clock

Parameters
[in]*handlepointer to an ssd1309 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 2126 of file driver_ssd1309.c.

◆ ssd1309_set_display_mode()

uint8_t ssd1309_set_display_mode ( ssd1309_handle_t * handle,
ssd1309_display_mode_t mode )

set the display mode

Parameters
[in]*handlepointer to an ssd1309 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 1913 of file driver_ssd1309.c.

◆ ssd1309_set_display_offset()

uint8_t ssd1309_set_display_offset ( ssd1309_handle_t * handle,
uint8_t offset )

set the display offset

Parameters
[in]*handlepointer to an ssd1309 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 2086 of file driver_ssd1309.c.

◆ ssd1309_set_display_start_line()

uint8_t ssd1309_set_display_start_line ( ssd1309_handle_t * handle,
uint8_t l )

set the display start line

Parameters
[in]*handlepointer to an ssd1309 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 1733 of file driver_ssd1309.c.

◆ ssd1309_set_entire_display()

uint8_t ssd1309_set_entire_display ( ssd1309_handle_t * handle,
ssd1309_entire_display_t enable )

enable or disable the entire display

Parameters
[in]*handlepointer to an ssd1309 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 1881 of file driver_ssd1309.c.

◆ ssd1309_set_gpio()

uint8_t ssd1309_set_gpio ( ssd1309_handle_t * handle,
ssd1309_gpio_t gpio )

set gpio

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]gpiogpio config
Returns
status code
  • 0 success
  • 1 set gpio failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 2419 of file driver_ssd1309.c.

◆ ssd1309_set_high_column_start_address()

uint8_t ssd1309_set_high_column_start_address ( ssd1309_handle_t * handle,
uint8_t addr )

set the high column start address

Parameters
[in]*handlepointer to an ssd1309 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 1217 of file driver_ssd1309.c.

◆ ssd1309_set_interface()

uint8_t ssd1309_set_interface ( ssd1309_handle_t * handle,
ssd1309_interface_t interface )

set the chip interface

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

Definition at line 1098 of file driver_ssd1309.c.

◆ ssd1309_set_left_horizontal_scroll()

uint8_t ssd1309_set_left_horizontal_scroll ( ssd1309_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
ssd1309_scroll_frame_t frames,
uint8_t start_column_addr,
uint8_t end_column_addr )

set the left horizontal scroll

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]framesscroll frames
[in]start_column_addrstart column address
[in]end_column_addrend column address
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
  • 6 start column addr is invalid
  • 7 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 1454 of file driver_ssd1309.c.

◆ ssd1309_set_left_horizontal_scroll_one_column()

uint8_t ssd1309_set_left_horizontal_scroll_one_column ( ssd1309_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t start_column_addr,
uint8_t end_column_addr )

set left horizontal scroll one column

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]start_column_addrstart column address
[in]end_column_addrend column address
Returns
status code
  • 0 success
  • 1 set left horizontal scroll one column failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start page addr is invalid
  • 5 end page addr is invalid
  • 6 start column addr is invalid
  • 7 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 2357 of file driver_ssd1309.c.

◆ ssd1309_set_low_column_start_address()

uint8_t ssd1309_set_low_column_start_address ( ssd1309_handle_t * handle,
uint8_t addr )

set the low column start address

Parameters
[in]*handlepointer to an ssd1309 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 1185 of file driver_ssd1309.c.

◆ ssd1309_set_mcu_interface_lock()

uint8_t ssd1309_set_mcu_interface_lock ( ssd1309_handle_t * handle,
ssd1309_bool_t enable )

enable or disable mcu interface lock

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

Definition at line 2449 of file driver_ssd1309.c.

◆ ssd1309_set_memory_addressing_mode()

uint8_t ssd1309_set_memory_addressing_mode ( ssd1309_handle_t * handle,
ssd1309_memory_addressing_mode_t mode )

set the memory addressing mode

Parameters
[in]*handlepointer to an ssd1309 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 1248 of file driver_ssd1309.c.

◆ ssd1309_set_multiplex_ratio()

uint8_t ssd1309_set_multiplex_ratio ( ssd1309_handle_t * handle,
uint8_t multiplex )

set the multiplex ratio

Parameters
[in]*handlepointer to an ssd1309 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 1947 of file driver_ssd1309.c.

◆ ssd1309_set_page_address()

uint8_t ssd1309_set_page_address ( ssd1309_handle_t * handle,
uint8_t addr )

set the page address

Parameters
[in]*handlepointer to an ssd1309 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 2022 of file driver_ssd1309.c.

◆ ssd1309_set_page_address_range()

uint8_t ssd1309_set_page_address_range ( ssd1309_handle_t * handle,
uint8_t start_addr,
uint8_t end_addr )

set the page address range

Parameters
[in]*handlepointer to an ssd1309 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 1327 of file driver_ssd1309.c.

◆ ssd1309_set_precharge_period()

uint8_t ssd1309_set_precharge_period ( ssd1309_handle_t * handle,
uint8_t phase1_period,
uint8_t phase2_period )

set the pre charge period

Parameters
[in]*handlepointer to an ssd1309 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 2172 of file driver_ssd1309.c.

◆ ssd1309_set_right_horizontal_scroll()

uint8_t ssd1309_set_right_horizontal_scroll ( ssd1309_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
ssd1309_scroll_frame_t frames,
uint8_t start_column_addr,
uint8_t end_column_addr )

set the right horizontal scroll

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]framesscroll frames
[in]start_column_addrstart column address
[in]end_column_addrend column address
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
  • 6 start column addr is invalid
  • 7 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 1381 of file driver_ssd1309.c.

◆ ssd1309_set_right_horizontal_scroll_one_column()

uint8_t ssd1309_set_right_horizontal_scroll_one_column ( ssd1309_handle_t * handle,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t start_column_addr,
uint8_t end_column_addr )

set right horizontal scroll one column

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]start_column_addrstart column address
[in]end_column_addrend column address
Returns
status code
  • 0 success
  • 1 set right horizontal scroll one column failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 start page addr is invalid
  • 5 end page addr is invalid
  • 6 start column addr is invalid
  • 7 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 2285 of file driver_ssd1309.c.

◆ ssd1309_set_scan_direction()

uint8_t ssd1309_set_scan_direction ( ssd1309_handle_t * handle,
ssd1309_scan_direction_t dir )

set the scan direction

Parameters
[in]*handlepointer to an ssd1309 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 2053 of file driver_ssd1309.c.

◆ ssd1309_set_segment_remap()

uint8_t ssd1309_set_segment_remap ( ssd1309_handle_t * handle,
ssd1309_segment_column_remap_t remap )

set the segment remap

Parameters
[in]*handlepointer to an ssd1309 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 1794 of file driver_ssd1309.c.

◆ ssd1309_set_vertical_left_horizontal_scroll()

uint8_t ssd1309_set_vertical_left_horizontal_scroll ( ssd1309_handle_t * handle,
ssd1309_bool_t horizontal_scroll,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t rows,
ssd1309_scroll_frame_t frames,
uint8_t start_column_addr,
uint8_t end_column_addr )

set the vertical left horizontal scroll

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]horizontal_scrollbool value
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]rowsrow address
[in]framesscroll frames
[in]start_column_addrstart column address
[in]end_column_addrend column address
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
  • 7 start column addr is invalid
  • 8 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 rows <= 0x3F start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 1615 of file driver_ssd1309.c.

◆ ssd1309_set_vertical_right_horizontal_scroll()

uint8_t ssd1309_set_vertical_right_horizontal_scroll ( ssd1309_handle_t * handle,
ssd1309_bool_t horizontal_scroll,
uint8_t start_page_addr,
uint8_t end_page_addr,
uint8_t rows,
ssd1309_scroll_frame_t frames,
uint8_t start_column_addr,
uint8_t end_column_addr )

set the vertical right horizontal scroll

Parameters
[in]*handlepointer to an ssd1309 handle structure
[in]horizontal_scrollbool value
[in]start_page_addrstart page address
[in]end_page_addrend page address
[in]rowsrow address
[in]framesscroll frames
[in]start_column_addrstart column address
[in]end_column_addrend column address
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
  • 7 start column addr is invalid
  • 8 end column addr is invalid
Note
start_page_addr <= 0x07 end_page_addr <= 0x07 rows <= 0x3F start_column_addr <= 0x7F end_column_addr <= 0x7F

Definition at line 1531 of file driver_ssd1309.c.

◆ ssd1309_set_vertical_scroll_area()

uint8_t ssd1309_set_vertical_scroll_area ( ssd1309_handle_t * handle,
uint8_t start_row,
uint8_t end_row )

set the vertical scroll area

Parameters
[in]*handlepointer to an ssd1309 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 1832 of file driver_ssd1309.c.

◆ ssd1309_write_point()

uint8_t ssd1309_write_point ( ssd1309_handle_t * handle,
uint8_t x,
uint8_t y,
uint8_t data )

write a point

Parameters
[in]*handlepointer to an ssd1309 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 454 of file driver_ssd1309.c.