LibDriver SSD1351  2.0.0
SSD1351 full function driver
driver_ssd1351.c File Reference

driver ssd1351 source file More...

Go to the source code of this file.

Macros

#define CHIP_NAME   "Solomon Systech SSD1351"
 chip information definition More...
 
#define MANUFACTURER_NAME   "Solomon Systech"
 
#define SUPPLY_VOLTAGE_MIN   2.4f
 
#define SUPPLY_VOLTAGE_MAX   2.6f
 
#define MAX_CURRENT   0.70f
 
#define TEMPERATURE_MIN   -40.0f
 
#define TEMPERATURE_MAX   85.0f
 
#define DRIVER_VERSION   2000
 
#define SSD1351_CMD   0
 command data type definition More...
 
#define SSD1351_DATA   1
 
#define SSD1351_CMD_SET_COLUMN_ADDRESS   0x15
 command definition More...
 
#define SSD1351_CMD_SET_ROW_ADDRESS   0x75
 
#define SSD1351_CMD_WRITE_RAM   0x5C
 
#define SSD1351_CMD_READ_RAM   0x5D
 
#define SSD1351_CMD_SET_REMAP_COLOR_DEPTH   0xA0
 
#define SSD1351_CMD_SET_DISPLAY_START_LINE   0xA1
 
#define SSD1351_CMD_SET_DISPLAY_OFFSET   0xA2
 
#define SSD1351_CMD_SET_DISPLAY_ALL_OFF   0xA4
 
#define SSD1351_CMD_SET_DISPLAY_ALL_ON   0xA5
 
#define SSD1351_CMD_SET_DISPLAY_NORMAL   0xA6
 
#define SSD1351_CMD_SET_DISPLAY_INVERSE   0xA7
 
#define SSD1351_CMD_FUNCTION_SELECTION   0xAB
 
#define SSD1351_CMD_SET_SLEEP_MODE_ON   0xAE
 
#define SSD1351_CMD_SET_SLEEP_MODE_OFF   0xAF
 
#define SSD1351_CMD_SET_RESET_PRE_CHARGE_PERIOD   0xB1
 
#define SSD1351_CMD_FRONT_CLOCK_DIVIDER_OSC_FREQ   0xB3
 
#define SSD1351_CMD_SET_SEGMENT_LOW_VOLTAGE   0xB4
 
#define SSD1351_CMD_SET_GPIO   0xB5
 
#define SSD1351_CMD_SET_SECOND_PRE_CHARGE_PERIOD   0xB6
 
#define SSD1351_CMD_GRAY_SCALE_PULSE_WIDTH   0xB8
 
#define SSD1351_CMD_USE_BUILT_IN_LINEAR_LUT   0xB9
 
#define SSD1351_CMD_SET_PRE_CHARGE_VOLTAGE   0xBB
 
#define SSD1351_CMD_SET_VCOMH_VOLTAGE   0xBE
 
#define SSD1351_CMD_SET_CONTRAST   0xC1
 
#define SSD1351_CMD_MASTER_CONTRAST_CONTROL   0xC7
 
#define SSD1351_CMD_SET_MUX_RATIO   0xCA
 
#define SSD1351_CMD_SET_COMMAND_LOCK   0xFD
 
#define SSD1351_CMD_HORIZONTAL_SCROLL   0x96
 
#define SSD1351_CMD_STOP_MOVING   0x9E
 
#define SSD1351_CMD_START_MOVING   0x9F
 

Functions

uint8_t ssd1351_set_column_address (ssd1351_handle_t *handle, uint8_t start_address, uint8_t end_address)
 set the display column address More...
 
uint8_t ssd1351_set_row_address (ssd1351_handle_t *handle, uint8_t start_address, uint8_t end_address)
 set the row address More...
 
uint8_t ssd1351_write_ram (ssd1351_handle_t *handle)
 sent the write ram command More...
 
uint8_t ssd1351_read_ram (ssd1351_handle_t *handle)
 sent the read ram command More...
 
uint8_t ssd1351_set_color_depth (ssd1351_handle_t *handle, ssd1351_color_depth_t color_depth)
 set the display color depth More...
 
uint8_t ssd1351_set_address_increment (ssd1351_handle_t *handle, ssd1351_address_increment_t increment)
 set the address increment More...
 
uint8_t ssd1351_set_seg0_map (ssd1351_handle_t *handle, ssd1351_seg0_mapped_t seg0_map)
 set the seg0 map More...
 
uint8_t ssd1351_set_color_sequence (ssd1351_handle_t *handle, ssd1351_color_sequence_t color_sequence)
 set the color sequence More...
 
uint8_t ssd1351_set_scan_mode (ssd1351_handle_t *handle, ssd1351_scan_mode_t mode)
 set the scan mode More...
 
uint8_t ssd1351_set_com_split_odd_even (ssd1351_handle_t *handle, ssd1351_bool_t enable)
 set the com split odd or even More...
 
uint8_t ssd1351_set_display_start_line (ssd1351_handle_t *handle, uint8_t l)
 set the display start line More...
 
uint8_t ssd1351_set_display_offset (ssd1351_handle_t *handle, uint8_t offset)
 set the display offset More...
 
uint8_t ssd1351_set_display_mode (ssd1351_handle_t *handle, ssd1351_display_mode_t mode)
 set the display mode More...
 
uint8_t ssd1351_set_select_vdd (ssd1351_handle_t *handle, ssd1351_select_vdd_t vdd)
 set the select vdd More...
 
uint8_t ssd1351_set_parallel_bits (ssd1351_handle_t *handle, ssd1351_select_parallel_bits_t parallel_bits)
 set the interface parallel bits More...
 
uint8_t ssd1351_set_sleep_mode (ssd1351_handle_t *handle, ssd1351_bool_t enable)
 set the sleep mode More...
 
uint8_t ssd1351_set_phase_period (ssd1351_handle_t *handle, uint8_t phase1_period, uint8_t phase2_period)
 set the phase period More...
 
uint8_t ssd1351_set_front_clock_oscillator_frequency (ssd1351_handle_t *handle, uint8_t d, uint8_t frequency)
 set the front clock oscillator frequency More...
 
uint8_t ssd1351_set_segment_low_voltage (ssd1351_handle_t *handle, ssd1351_segment_low_voltage_t segment)
 set the segment low voltage More...
 
uint8_t ssd1351_set_gpio (ssd1351_handle_t *handle, ssd1351_gpio_pin_t gpio0, ssd1351_gpio_pin_t gpio1)
 set the gpio pin More...
 
uint8_t ssd1351_set_second_pre_charge_period (ssd1351_handle_t *handle, uint8_t period)
 set the second pre charge period More...
 
uint8_t ssd1351_set_gray_scale_pulse_width (ssd1351_handle_t *handle, uint8_t gamma[63])
 set the gray scale pulse width More...
 
uint8_t ssd1351_set_use_built_in_linear_lut (ssd1351_handle_t *handle)
 use built in linear lut More...
 
uint8_t ssd1351_set_pre_charge_voltage (ssd1351_handle_t *handle, uint8_t voltage_level)
 set the pre charge voltage More...
 
uint8_t ssd1351_set_vcomh_voltage (ssd1351_handle_t *handle, uint8_t voltage_level)
 set the vcomh voltage More...
 
uint8_t ssd1351_set_contrast (ssd1351_handle_t *handle, uint8_t a, uint8_t b, uint8_t c)
 set the display contrast More...
 
uint8_t ssd1351_set_master_contrast_current (ssd1351_handle_t *handle, uint8_t current)
 set the master contrast current More...
 
uint8_t ssd1351_set_mux_ratio (ssd1351_handle_t *handle, uint8_t ratio)
 set the mux ratio More...
 
uint8_t ssd1351_set_command (ssd1351_handle_t *handle, ssd1351_command_t command)
 set the command More...
 
uint8_t ssd1351_set_scroll (ssd1351_handle_t *handle, int8_t scroll, uint8_t start_row, uint8_t row_len, ssd1351_scroll_mode_t mode)
 set the scroll More...
 
uint8_t ssd1351_clear (ssd1351_handle_t *handle)
 clear the display More...
 
uint8_t ssd1351_draw_point (ssd1351_handle_t *handle, uint8_t x, uint8_t y, uint32_t color)
 draw a point in the display More...
 
uint8_t ssd1351_write_string (ssd1351_handle_t *handle, uint8_t x, uint8_t y, char *str, uint16_t len, uint32_t color, ssd1351_font_t font)
 write a string in the display More...
 
uint8_t ssd1351_fill_rect (ssd1351_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint32_t color)
 fill the rect More...
 
uint8_t ssd1351_draw_picture (ssd1351_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint32_t *image)
 draw a picture More...
 
uint8_t ssd1351_draw_picture_16bits (ssd1351_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint16_t *image)
 draw a 16 bits picture More...
 
uint8_t ssd1351_start_moving (ssd1351_handle_t *handle)
 start the display moving More...
 
uint8_t ssd1351_stop_moving (ssd1351_handle_t *handle)
 stop the display moving More...
 
uint8_t ssd1351_write_cmd (ssd1351_handle_t *handle, uint8_t cmd)
 write the command More...
 
uint8_t ssd1351_write_data (ssd1351_handle_t *handle, uint8_t data)
 write the data More...
 
uint8_t ssd1351_init (ssd1351_handle_t *handle)
 initialize the chip More...
 
uint8_t ssd1351_deinit (ssd1351_handle_t *handle)
 close the chip More...
 
uint8_t ssd1351_info (ssd1351_info_t *info)
 get chip's information More...
 

Detailed Description

driver ssd1351 source file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version
2.0.0
Author
Shifeng Li
Date
2021-04-08

history

Date Version Author Description
2021/04/08 2.0 Shifeng Li format the code
2020/12/18 1.0 Shifeng Li first upload

Definition in file driver_ssd1351.c.

Macro Definition Documentation

◆ CHIP_NAME

#define CHIP_NAME   "Solomon Systech SSD1351"

chip information definition

chip name

Definition at line 44 of file driver_ssd1351.c.

◆ DRIVER_VERSION

#define DRIVER_VERSION   2000

driver version

Definition at line 51 of file driver_ssd1351.c.

◆ MANUFACTURER_NAME

#define MANUFACTURER_NAME   "Solomon Systech"

manufacturer name

Definition at line 45 of file driver_ssd1351.c.

◆ MAX_CURRENT

#define MAX_CURRENT   0.70f

chip max current

Definition at line 48 of file driver_ssd1351.c.

◆ SSD1351_CMD

#define SSD1351_CMD   0

command data type definition

command type

Definition at line 56 of file driver_ssd1351.c.

◆ SSD1351_CMD_FRONT_CLOCK_DIVIDER_OSC_FREQ

#define SSD1351_CMD_FRONT_CLOCK_DIVIDER_OSC_FREQ   0xB3

front clock divider osc freq command

Definition at line 77 of file driver_ssd1351.c.

◆ SSD1351_CMD_FUNCTION_SELECTION

#define SSD1351_CMD_FUNCTION_SELECTION   0xAB

set function selection command

Definition at line 73 of file driver_ssd1351.c.

◆ SSD1351_CMD_GRAY_SCALE_PULSE_WIDTH

#define SSD1351_CMD_GRAY_SCALE_PULSE_WIDTH   0xB8

set gray scale pulse width command

Definition at line 81 of file driver_ssd1351.c.

◆ SSD1351_CMD_HORIZONTAL_SCROLL

#define SSD1351_CMD_HORIZONTAL_SCROLL   0x96

set horizontal scroll command

Definition at line 89 of file driver_ssd1351.c.

◆ SSD1351_CMD_MASTER_CONTRAST_CONTROL

#define SSD1351_CMD_MASTER_CONTRAST_CONTROL   0xC7

set master contrast control command

Definition at line 86 of file driver_ssd1351.c.

◆ SSD1351_CMD_READ_RAM

#define SSD1351_CMD_READ_RAM   0x5D

read ram command

Definition at line 65 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_COLUMN_ADDRESS

#define SSD1351_CMD_SET_COLUMN_ADDRESS   0x15

command definition

set column address command

Definition at line 62 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_COMMAND_LOCK

#define SSD1351_CMD_SET_COMMAND_LOCK   0xFD

set command lock command

Definition at line 88 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_CONTRAST

#define SSD1351_CMD_SET_CONTRAST   0xC1

set contrast command

Definition at line 85 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_ALL_OFF

#define SSD1351_CMD_SET_DISPLAY_ALL_OFF   0xA4

set display all off command

Definition at line 69 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_ALL_ON

#define SSD1351_CMD_SET_DISPLAY_ALL_ON   0xA5

set display all on command

Definition at line 70 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_INVERSE

#define SSD1351_CMD_SET_DISPLAY_INVERSE   0xA7

set display inverse command

Definition at line 72 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_NORMAL

#define SSD1351_CMD_SET_DISPLAY_NORMAL   0xA6

set display normal command

Definition at line 71 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_OFFSET

#define SSD1351_CMD_SET_DISPLAY_OFFSET   0xA2

set display offset command

Definition at line 68 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_DISPLAY_START_LINE

#define SSD1351_CMD_SET_DISPLAY_START_LINE   0xA1

set display start line command

Definition at line 67 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_GPIO

#define SSD1351_CMD_SET_GPIO   0xB5

set gpio command

Definition at line 79 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_MUX_RATIO

#define SSD1351_CMD_SET_MUX_RATIO   0xCA

set mux ratio command

Definition at line 87 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_PRE_CHARGE_VOLTAGE

#define SSD1351_CMD_SET_PRE_CHARGE_VOLTAGE   0xBB

set pre charge voltage command

Definition at line 83 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_REMAP_COLOR_DEPTH

#define SSD1351_CMD_SET_REMAP_COLOR_DEPTH   0xA0

set remap color depth command

Definition at line 66 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_RESET_PRE_CHARGE_PERIOD

#define SSD1351_CMD_SET_RESET_PRE_CHARGE_PERIOD   0xB1

set reset pre charge period command

Definition at line 76 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_ROW_ADDRESS

#define SSD1351_CMD_SET_ROW_ADDRESS   0x75

set row address command

Definition at line 63 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_SECOND_PRE_CHARGE_PERIOD

#define SSD1351_CMD_SET_SECOND_PRE_CHARGE_PERIOD   0xB6

set second pre charge period command

Definition at line 80 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_SEGMENT_LOW_VOLTAGE

#define SSD1351_CMD_SET_SEGMENT_LOW_VOLTAGE   0xB4

set segment low voltage command

Definition at line 78 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_SLEEP_MODE_OFF

#define SSD1351_CMD_SET_SLEEP_MODE_OFF   0xAF

set sleep mode off command

Definition at line 75 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_SLEEP_MODE_ON

#define SSD1351_CMD_SET_SLEEP_MODE_ON   0xAE

set sleep mode on command

Definition at line 74 of file driver_ssd1351.c.

◆ SSD1351_CMD_SET_VCOMH_VOLTAGE

#define SSD1351_CMD_SET_VCOMH_VOLTAGE   0xBE

set vcomh voltage command

Definition at line 84 of file driver_ssd1351.c.

◆ SSD1351_CMD_START_MOVING

#define SSD1351_CMD_START_MOVING   0x9F

start moving command

Definition at line 91 of file driver_ssd1351.c.

◆ SSD1351_CMD_STOP_MOVING

#define SSD1351_CMD_STOP_MOVING   0x9E

stop moving command

Definition at line 90 of file driver_ssd1351.c.

◆ SSD1351_CMD_USE_BUILT_IN_LINEAR_LUT

#define SSD1351_CMD_USE_BUILT_IN_LINEAR_LUT   0xB9

use built in linear lut command

Definition at line 82 of file driver_ssd1351.c.

◆ SSD1351_CMD_WRITE_RAM

#define SSD1351_CMD_WRITE_RAM   0x5C

write ram command

Definition at line 64 of file driver_ssd1351.c.

◆ SSD1351_DATA

#define SSD1351_DATA   1

data type

Definition at line 57 of file driver_ssd1351.c.

◆ SUPPLY_VOLTAGE_MAX

#define SUPPLY_VOLTAGE_MAX   2.6f

chip max supply voltage

Definition at line 47 of file driver_ssd1351.c.

◆ SUPPLY_VOLTAGE_MIN

#define SUPPLY_VOLTAGE_MIN   2.4f

chip min supply voltage

Definition at line 46 of file driver_ssd1351.c.

◆ TEMPERATURE_MAX

#define TEMPERATURE_MAX   85.0f

chip max operating temperature

Definition at line 50 of file driver_ssd1351.c.

◆ TEMPERATURE_MIN

#define TEMPERATURE_MIN   -40.0f

chip min operating temperature

Definition at line 49 of file driver_ssd1351.c.