LibDriver SSD1681
Loading...
Searching...
No Matches
driver_ssd1681.h File Reference

driver ssd1681 header file More...

#include <stdint.h>
#include <stdio.h>
#include <string.h>
Include dependency graph for driver_ssd1681.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ssd1681_handle_s
 ssd1681 handle structure definition More...
struct  ssd1681_info_s
 ssd1681 information structure definition More...

Macros

#define SSD1681_BUSY_MAX_DELAY_MS   10
 ssd1681 busy max delay definition
#define SSD1681_BUSY_MAX_RETRY_TIMES   2000
 ssd1681 busy max retry times definition
#define DRIVER_SSD1681_LINK_INIT(HANDLE, STRUCTURE)
 initialize ssd1681_handle_t structure
#define DRIVER_SSD1681_LINK_SPI_INIT(HANDLE, FUC)
 link spi_init function
#define DRIVER_SSD1681_LINK_SPI_DEINIT(HANDLE, FUC)
 link spi_deinit function
#define DRIVER_SSD1681_LINK_SPI_WRITE_CMD(HANDLE, FUC)
 link spi_write_cmd function
#define DRIVER_SSD1681_LINK_SPI_READ_CMD(HANDLE, FUC)
 link spi_read_cmd function
#define DRIVER_SSD1681_LINK_SPI_CMD_DATA_GPIO_INIT(HANDLE, FUC)
 link spi_cmd_data_gpio_init function
#define DRIVER_SSD1681_LINK_SPI_CMD_DATA_GPIO_DEINIT(HANDLE, FUC)
 link spi_cmd_data_gpio_deinit function
#define DRIVER_SSD1681_LINK_SPI_CMD_DATA_GPIO_WRITE(HANDLE, FUC)
 link spi_cmd_data_gpio_write function
#define DRIVER_SSD1681_LINK_RESET_GPIO_INIT(HANDLE, FUC)
 link reset_gpio_init function
#define DRIVER_SSD1681_LINK_RESET_GPIO_DEINIT(HANDLE, FUC)
 link reset_gpio_deinit function
#define DRIVER_SSD1681_LINK_RESET_GPIO_WRITE(HANDLE, FUC)
 link reset_gpio_write function
#define DRIVER_SSD1681_LINK_BUSY_GPIO_INIT(HANDLE, FUC)
 link busy_gpio_init function
#define DRIVER_SSD1681_LINK_BUSY_GPIO_DEINIT(HANDLE, FUC)
 link busy_gpio_deinit function
#define DRIVER_SSD1681_LINK_BUSY_GPIO_READ(HANDLE, FUC)
 link busy_gpio_read function
#define DRIVER_SSD1681_LINK_DELAY_MS(HANDLE, FUC)
 link delay_ms function
#define DRIVER_SSD1681_LINK_DEBUG_PRINT(HANDLE, FUC)
 link debug_print function

Typedefs

typedef struct ssd1681_handle_s ssd1681_handle_t
 ssd1681 handle structure definition
typedef struct ssd1681_info_s ssd1681_info_t
 ssd1681 information structure definition

Enumerations

enum  ssd1681_bool_t { SSD1681_BOOL_FALSE = 0x00 , SSD1681_BOOL_TRUE = 0x01 }
 ssd1681 bool enumeration definition More...
enum  ssd1681_gate_driving_voltage_t {
  SSD1681_GATE_DRIVING_VOLTAGE_10V = 0x03 , SSD1681_GATE_DRIVING_VOLTAGE_10P5V = 0x04 , SSD1681_GATE_DRIVING_VOLTAGE_11V = 0x05 , SSD1681_GATE_DRIVING_VOLTAGE_11P5V = 0x06 ,
  SSD1681_GATE_DRIVING_VOLTAGE_12V = 0x07 , SSD1681_GATE_DRIVING_VOLTAGE_12P5V = 0x08 , SSD1681_GATE_DRIVING_VOLTAGE_13V = 0x09 , SSD1681_GATE_DRIVING_VOLTAGE_13P5V = 0x0A ,
  SSD1681_GATE_DRIVING_VOLTAGE_14V = 0x0B , SSD1681_GATE_DRIVING_VOLTAGE_14P5V = 0x0C , SSD1681_GATE_DRIVING_VOLTAGE_15V = 0x0D , SSD1681_GATE_DRIVING_VOLTAGE_15P5V = 0x0E ,
  SSD1681_GATE_DRIVING_VOLTAGE_16V = 0x0F , SSD1681_GATE_DRIVING_VOLTAGE_16P5V = 0x10 , SSD1681_GATE_DRIVING_VOLTAGE_17V = 0x11 , SSD1681_GATE_DRIVING_VOLTAGE_17P5V = 0x12 ,
  SSD1681_GATE_DRIVING_VOLTAGE_18V = 0x13 , SSD1681_GATE_DRIVING_VOLTAGE_18P5V = 0x14 , SSD1681_GATE_DRIVING_VOLTAGE_19V = 0x15 , SSD1681_GATE_DRIVING_VOLTAGE_19P5V = 0x16 ,
  SSD1681_GATE_DRIVING_VOLTAGE_20V = 0x17
}
 ssd1681 gate driving voltage enumeration definition More...
enum  ssd1681_vsh_t {
  SSD1681_VSH_2P4V = 0x8E , SSD1681_VSH_2P5V = 0x8F , SSD1681_VSH_2P6V = 0x90 , SSD1681_VSH_2P7V = 0x91 ,
  SSD1681_VSH_2P8V = 0x92 , SSD1681_VSH_2P9V = 0x93 , SSD1681_VSH_3V = 0x94 , SSD1681_VSH_3P1V = 0x95 ,
  SSD1681_VSH_3P2V = 0x96 , SSD1681_VSH_3P3V = 0x97 , SSD1681_VSH_3P4V = 0x98 , SSD1681_VSH_3P5V = 0x99 ,
  SSD1681_VSH_3P6V = 0x9A , SSD1681_VSH_3P7V = 0x9B , SSD1681_VSH_3P8V = 0x9C , SSD1681_VSH_3P9V = 0x9D ,
  SSD1681_VSH_4V = 0x9E , SSD1681_VSH_4P1V = 0x9F , SSD1681_VSH_4P2V = 0xA0 , SSD1681_VSH_4P3V = 0xA1 ,
  SSD1681_VSH_4P4V = 0xA2 , SSD1681_VSH_4P5V = 0xA3 , SSD1681_VSH_4P6V = 0xA4 , SSD1681_VSH_4P7V = 0xA5 ,
  SSD1681_VSH_4P8V = 0xA6 , SSD1681_VSH_4P9V = 0xA7 , SSD1681_VSH_5V = 0xA8 , SSD1681_VSH_5P1V = 0xA9 ,
  SSD1681_VSH_5P2V = 0xAA , SSD1681_VSH_5P3V = 0xAB , SSD1681_VSH_5P4V = 0xAC , SSD1681_VSH_5P5V = 0xAD ,
  SSD1681_VSH_5P6V = 0xAE , SSD1681_VSH_5P7V = 0xAF , SSD1681_VSH_5P8V = 0xB0 , SSD1681_VSH_5P9V = 0xB1 ,
  SSD1681_VSH_6V = 0xB2 , SSD1681_VSH_6P1V = 0xB3 , SSD1681_VSH_6P2V = 0xB4 , SSD1681_VSH_6P3V = 0xB5 ,
  SSD1681_VSH_6P4V = 0xB6 , SSD1681_VSH_6P5V = 0xB7 , SSD1681_VSH_6P6V = 0xB8 , SSD1681_VSH_6P7V = 0xB9 ,
  SSD1681_VSH_6P8V = 0xBA , SSD1681_VSH_6P9V = 0xBB , SSD1681_VSH_7V = 0xBC , SSD1681_VSH_7P1V = 0xBD ,
  SSD1681_VSH_7P2V = 0xBE , SSD1681_VSH_7P3V = 0xBF , SSD1681_VSH_7P4V = 0xC0 , SSD1681_VSH_7P5V = 0xC1 ,
  SSD1681_VSH_7P6V = 0xC2 , SSD1681_VSH_7P7V = 0xC3 , SSD1681_VSH_7P8V = 0xC4 , SSD1681_VSH_7P9V = 0xC5 ,
  SSD1681_VSH_8V = 0xC6 , SSD1681_VSH_8P1V = 0xC7 , SSD1681_VSH_8P2V = 0xC8 , SSD1681_VSH_8P3V = 0xC9 ,
  SSD1681_VSH_8P4V = 0xCA , SSD1681_VSH_8P5V = 0xCB , SSD1681_VSH_8P6V = 0xCC , SSD1681_VSH_8P7V = 0xCD ,
  SSD1681_VSH_8P8V = 0xCE , SSD1681_VSH_9V = 0x23 , SSD1681_VSH_9P2V = 0x24 , SSD1681_VSH_9P4V = 0x25 ,
  SSD1681_VSH_9P6V = 0x26 , SSD1681_VSH_9P8V = 0x27 , SSD1681_VSH_10V = 0x28 , SSD1681_VSH_10P2V = 0x29 ,
  SSD1681_VSH_10P4V = 0x2A , SSD1681_VSH_10P6V = 0x2B , SSD1681_VSH_10P8V = 0x2C , SSD1681_VSH_11V = 0x2D ,
  SSD1681_VSH_11P2V = 0x2E , SSD1681_VSH_11P4V = 0x2F , SSD1681_VSH_11P6V = 0x30 , SSD1681_VSH_11P8V = 0x31 ,
  SSD1681_VSH_12V = 0x32 , SSD1681_VSH_12P2V = 0x33 , SSD1681_VSH_12P4V = 0x34 , SSD1681_VSH_12P6V = 0x35 ,
  SSD1681_VSH_12P8V = 0x36 , SSD1681_VSH_13V = 0x37 , SSD1681_VSH_13P2V = 0x38 , SSD1681_VSH_13P4V = 0x39 ,
  SSD1681_VSH_13P6V = 0x3A , SSD1681_VSH_13P8V = 0x3B , SSD1681_VSH_14V = 0x3C , SSD1681_VSH_14P2V = 0x3D ,
  SSD1681_VSH_14P4V = 0x3E , SSD1681_VSH_14P6V = 0x3F , SSD1681_VSH_14P8V = 0x40 , SSD1681_VSH_15V = 0x41 ,
  SSD1681_VSH_15P2V = 0x42 , SSD1681_VSH_15P4V = 0x43 , SSD1681_VSH_15P6V = 0x44 , SSD1681_VSH_15P8V = 0x45 ,
  SSD1681_VSH_16V = 0x46 , SSD1681_VSH_16P2V = 0x47 , SSD1681_VSH_16P4V = 0x48 , SSD1681_VSH_16P6V = 0x49 ,
  SSD1681_VSH_16P8V = 0x4A , SSD1681_VSH_17V = 0x4B
}
 ssd1681 vsh enumeration definition More...
enum  ssd1681_vsl_t {
  SSD1681_VSL_NEGATIVE_5 = 0x0A , SSD1681_VSL_NEGATIVE_5P5 = 0x0C , SSD1681_VSL_NEGATIVE_6 = 0x0E , SSD1681_VSL_NEGATIVE_6P5 = 0x10 ,
  SSD1681_VSL_NEGATIVE_7 = 0x12 , SSD1681_VSL_NEGATIVE_7P5 = 0x14 , SSD1681_VSL_NEGATIVE_8 = 0x16 , SSD1681_VSL_NEGATIVE_8P5 = 0x18 ,
  SSD1681_VSL_NEGATIVE_9 = 0x1A , SSD1681_VSL_NEGATIVE_9P5 = 0x1C , SSD1681_VSL_NEGATIVE_10 = 0x1E , SSD1681_VSL_NEGATIVE_10P5 = 0x20 ,
  SSD1681_VSL_NEGATIVE_11 = 0x22 , SSD1681_VSL_NEGATIVE_11P5 = 0x24 , SSD1681_VSL_NEGATIVE_12 = 0x26 , SSD1681_VSL_NEGATIVE_12P5 = 0x28 ,
  SSD1681_VSL_NEGATIVE_13 = 0x2A , SSD1681_VSL_NEGATIVE_13P5 = 0x2C , SSD1681_VSL_NEGATIVE_14 = 0x2E , SSD1681_VSL_NEGATIVE_14P5 = 0x30 ,
  SSD1681_VSL_NEGATIVE_15 = 0x32 , SSD1681_VSL_NEGATIVE_15P5 = 0x34 , SSD1681_VSL_NEGATIVE_16 = 0x36 , SSD1681_VSL_NEGATIVE_16P5 = 0x38 ,
  SSD1681_VSL_NEGATIVE_17 = 0x3A
}
 ssd1681 vsl enumeration definition More...
enum  ssd1681_driving_strength_t {
  SSD1681_DRIVING_STRENGTH_1 = (0 << 4) , SSD1681_DRIVING_STRENGTH_2 = (1 << 4) , SSD1681_DRIVING_STRENGTH_3 = (2 << 4) , SSD1681_DRIVING_STRENGTH_4 = (3 << 4) ,
  SSD1681_DRIVING_STRENGTH_5 = (4 << 4) , SSD1681_DRIVING_STRENGTH_6 = (5 << 4) , SSD1681_DRIVING_STRENGTH_7 = (6 << 4) , SSD1681_DRIVING_STRENGTH_8 = (7 << 4)
}
 ssd1681 driving strength enumeration definition More...
enum  ssd1681_min_off_time_t {
  SSD1681_MIN_OFF_TIME_2P6 = (4 << 0) , SSD1681_MIN_OFF_TIME_3P2 = (5 << 0) , SSD1681_MIN_OFF_TIME_3P9 = (6 << 0) , SSD1681_MIN_OFF_TIME_4P6 = (7 << 0) ,
  SSD1681_MIN_OFF_TIME_5P4 = (8 << 0) , SSD1681_MIN_OFF_TIME_6P3 = (9 << 0) , SSD1681_MIN_OFF_TIME_7P3 = (10 << 0) , SSD1681_MIN_OFF_TIME_8P4 = (11 << 0) ,
  SSD1681_MIN_OFF_TIME_9P8 = (12 << 0) , SSD1681_MIN_OFF_TIME_11P5 = (13 << 0) , SSD1681_MIN_OFF_TIME_13P8 = (14 << 0) , SSD1681_MIN_OFF_TIME_16P5 = (15 << 0)
}
 ssd1681 min off time enumeration definition More...
enum  ssd1681_phase_duration_t { SSD1681_PHASE_DURATION_10MS = 0x00 , SSD1681_PHASE_DURATION_20MS = 0x01 , SSD1681_PHASE_DURATION_30MS = 0x02 , SSD1681_PHASE_DURATION_40MS = 0x03 }
 ssd1681 phase duration enumeration definition More...
enum  ssd1681_mode_t { SSD1681_MODE_NORMAL = 0x00 , SSD1681_MODE_DEEP_SLEEP_1 = 0x01 , SSD1681_MODE_DEEP_SLEEP_2 = 0x03 }
 ssd1681 mode enumeration definition More...
enum  ssd1681_address_mode_t { SSD1681_ADDRESS_MODE_Y_DECREMENT_X_DECREMENT = 0x00 , SSD1681_ADDRESS_MODE_Y_DECREMENT_X_INCREMENT = 0x01 , SSD1681_ADDRESS_MODE_Y_INCREMENT_X_DECREMENT = 0x02 , SSD1681_ADDRESS_MODE_Y_INCREMENT_X_INCREMENT = 0x03 }
 ssd1681 address mode enumeration definition More...
enum  ssd1681_address_direction_t { SSD1681_ADDRESS_DIRECTION_UPDATED_X = 0x00 , SSD1681_ADDRESS_DIRECTION_UPDATED_Y = 0x01 }
 ssd1681 address direction enumeration definition More...
enum  ssd1681_vci_level_t {
  SSD1681_VCI_LEVEL_2P2V = 0x3 , SSD1681_VCI_LEVEL_2P3V = 0x4 , SSD1681_VCI_LEVEL_2P4V = 0x5 , SSD1681_VCI_LEVEL_2P5V = 0x6 ,
  SSD1681_VCI_LEVEL_2P6V = 0x7
}
 ssd1681 vci level enumeration definition More...
enum  ssd1681_temperature_sensor_t { SSD1681_TEMPERATURE_SENSOR_EXTERNAL = 0x48 , SSD1681_TEMPERATURE_SENSOR_INTERNAL = 0x80 }
 ssd1681 temperature sensor enumeration definition More...
enum  ssd1681_display_control_t { SSD1681_DISPLAY_CONTROL_NORMAL = 0x00 , SSD1681_DISPLAY_CONTROL_BYPASS = 0x04 , SSD1681_DISPLAY_CONTROL_INVERSE = 0x08 }
 ssd1681 display control enumeration definition More...
enum  ssd1681_display_sequence_t {
  SSD1681_DISPLAY_SEQUENCE_0 = 0x80 , SSD1681_DISPLAY_SEQUENCE_1 = 0x01 , SSD1681_DISPLAY_SEQUENCE_2 = 0xC0 , SSD1681_DISPLAY_SEQUENCE_3 = 0x03 ,
  SSD1681_DISPLAY_SEQUENCE_4 = 0x91 , SSD1681_DISPLAY_SEQUENCE_5 = 0x99 , SSD1681_DISPLAY_SEQUENCE_6 = 0xB1 , SSD1681_DISPLAY_SEQUENCE_7 = 0xB9 ,
  SSD1681_DISPLAY_SEQUENCE_8 = 0xC7 , SSD1681_DISPLAY_SEQUENCE_9 = 0xCF , SSD1681_DISPLAY_SEQUENCE_10 = 0xF7 , SSD1681_DISPLAY_SEQUENCE_11 = 0xFF
}
 ssd1681 display sequence enumeration definition More...
enum  ssd1681_vcom_t {
  SSD1681_VCOM_NEGATIVE_0P2 = 0x08 , SSD1681_VCOM_NEGATIVE_0P3 = 0x0C , SSD1681_VCOM_NEGATIVE_0P4 = 0x10 , SSD1681_VCOM_NEGATIVE_0P5 = 0x14 ,
  SSD1681_VCOM_NEGATIVE_0P6 = 0x18 , SSD1681_VCOM_NEGATIVE_0P7 = 0x1C , SSD1681_VCOM_NEGATIVE_0P8 = 0x20 , SSD1681_VCOM_NEGATIVE_0P9 = 0x24 ,
  SSD1681_VCOM_NEGATIVE_1P0 = 0x28 , SSD1681_VCOM_NEGATIVE_1P1 = 0x2C , SSD1681_VCOM_NEGATIVE_1P2 = 0x30 , SSD1681_VCOM_NEGATIVE_1P3 = 0x34 ,
  SSD1681_VCOM_NEGATIVE_1P4 = 0x38 , SSD1681_VCOM_NEGATIVE_1P5 = 0x3C , SSD1681_VCOM_NEGATIVE_1P6 = 0x40 , SSD1681_VCOM_NEGATIVE_1P7 = 0x44 ,
  SSD1681_VCOM_NEGATIVE_1P8 = 0x48 , SSD1681_VCOM_NEGATIVE_1P9 = 0x4C , SSD1681_VCOM_NEGATIVE_2P0 = 0x50 , SSD1681_VCOM_NEGATIVE_2P1 = 0x54 ,
  SSD1681_VCOM_NEGATIVE_2P2 = 0x58 , SSD1681_VCOM_NEGATIVE_2P3 = 0x5C , SSD1681_VCOM_NEGATIVE_2P4 = 0x60 , SSD1681_VCOM_NEGATIVE_2P5 = 0x64 ,
  SSD1681_VCOM_NEGATIVE_2P6 = 0x68 , SSD1681_VCOM_NEGATIVE_2P7 = 0x6C , SSD1681_VCOM_NEGATIVE_2P8 = 0x70 , SSD1681_VCOM_NEGATIVE_2P9 = 0x74 ,
  SSD1681_VCOM_NEGATIVE_3P0 = 0x78
}
 ssd1681 vcom enumeration definition More...
enum  ssd1681_otp_mode_t { SSD1681_OTP_MODE_NORMAL = 0x0 , SSD1681_OTP_MODE_INTERNAL = 0x3 }
 ssd1681 otp mode enumeration definition More...
enum  ssd1681_vbd_t { SSD1681_VBD_GS_TRANSITION = 0x0 , SSD1681_VBD_FIX_LEVEL = 0x1 , SSD1681_VBD_VCOM = 0x2 , SSD1681_VBD_HIZ = 0x3 }
 ssd1681 vbd enumeration definition More...
enum  ssd1681_vbd_fix_level_t { SSD1681_VBD_FIX_LEVEL_VSS = 0x0 , SSD1681_VBD_FIX_LEVEL_VSH1 = 0x1 , SSD1681_VBD_FIX_LEVEL_VSL = 0x2 , SSD1681_VBD_FIX_LEVEL_VSH2 = 0x3 }
 ssd1681 vbd fix level enumeration definition More...
enum  ssd1681_gs_transition_t { SSD1681_GS_TRANSITION_FOLLOW_LUT_RED = 0x0 , SSD1681_GS_TRANSITION_FOLLOW_LUT = 0x1 }
 ssd1681 gs transition enumeration definition More...
enum  ssd1681_vbd_transition_t { SSD1681_VBD_TRANSITION_LUT0 = 0x0 , SSD1681_VBD_TRANSITION_LUT1 = 0x1 , SSD1681_VBD_TRANSITION_LUT2 = 0x2 , SSD1681_VBD_TRANSITION_LUT3 = 0x3 }
 ssd1681 vbd transition enumeration definition More...
enum  ssd1681_end_opt_t { SSD1681_END_OPT_NORMAL = 0x22 , SSD1681_END_OPT_KEEP_BEFORE_OUTPUT = 0x07 }
 ssd1681 end opt enumeration definition More...
enum  ssd1681_read_ram_t { SSD1681_READ_RAM_BLACK = 0x0 , SSD1681_READ_RAM_RED = 0x1 }
 ssd1681 read ram enumeration definition More...
enum  ssd1681_step_height_t {
  SSD1681_STEP_HEIGHT_8 = 0x0 , SSD1681_STEP_HEIGHT_16 = 0x1 , SSD1681_STEP_HEIGHT_32 = 0x2 , SSD1681_STEP_HEIGHT_64 = 0x3 ,
  SSD1681_STEP_HEIGHT_128 = 0x4 , SSD1681_STEP_HEIGHT_200 = 0x5
}
 ssd1681 step height enumeration definition More...
enum  ssd1681_step_width_t {
  SSD1681_STEP_WIDTH_8 = 0x0 , SSD1681_STEP_WIDTH_16 = 0x1 , SSD1681_STEP_WIDTH_32 = 0x2 , SSD1681_STEP_WIDTH_64 = 0x3 ,
  SSD1681_STEP_WIDTH_128 = 0x4 , SSD1681_STEP_WIDTH_200 = 0x5
}
 ssd1681 step width enumeration definition More...
enum  ssd1681_color_t { SSD1681_COLOR_BLACK = 0x0 , SSD1681_COLOR_RED = 0x1 }
 ssd1681 color enumeration definition More...
enum  ssd1681_font_t { SSD1681_FONT_12 = 0x0C , SSD1681_FONT_16 = 0x10 , SSD1681_FONT_24 = 0x18 }
 ssd1681 font enumeration definition More...

Functions

uint8_t ssd1681_info (ssd1681_info_t *info)
 get chip's information
uint8_t ssd1681_init (ssd1681_handle_t *handle)
 initialize the chip
uint8_t ssd1681_deinit (ssd1681_handle_t *handle)
 close the chip
uint8_t ssd1681_clear (ssd1681_handle_t *handle, ssd1681_color_t color)
 clear the screen
uint8_t ssd1681_gram_update (ssd1681_handle_t *handle, ssd1681_color_t color)
 update the gram data
uint8_t ssd1681_gram_clear (ssd1681_handle_t *handle, ssd1681_color_t color)
 clear the screen in the gram
uint8_t ssd1681_gram_write_point (ssd1681_handle_t *handle, ssd1681_color_t color, uint8_t x, uint8_t y, uint8_t data)
 write a point in the gram
uint8_t ssd1681_gram_read_point (ssd1681_handle_t *handle, ssd1681_color_t color, uint8_t x, uint8_t y, uint8_t *data)
 read a point from the gram
uint8_t ssd1681_gram_write_string (ssd1681_handle_t *handle, ssd1681_color_t color, uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t data, ssd1681_font_t font)
 draw a string in the gram
uint8_t ssd1681_gram_fill_rect (ssd1681_handle_t *handle, ssd1681_color_t color, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t data)
 fill a rectangle in the gram
uint8_t ssd1681_gram_draw_picture (ssd1681_handle_t *handle, ssd1681_color_t color, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img)
 draw a picture in the gram
uint8_t ssd1681_set_driver_output (ssd1681_handle_t *handle, uint16_t mux, ssd1681_bool_t gd, ssd1681_bool_t sm, ssd1681_bool_t tb)
 set the driver output
uint8_t ssd1681_set_gate_driving_voltage (ssd1681_handle_t *handle, ssd1681_gate_driving_voltage_t voltage)
 set the gate driving voltage
uint8_t ssd1681_set_source_driving_voltage (ssd1681_handle_t *handle, ssd1681_vsh_t vsh1, ssd1681_vsh_t vsh2, ssd1681_vsl_t vsl)
 set the source driving voltage
uint8_t ssd1681_otp_initial (ssd1681_handle_t *handle)
 initial code setting otp program
uint8_t ssd1681_otp_initial_write (ssd1681_handle_t *handle, uint8_t param[4])
 write register for initial code setting
uint8_t ssd1681_otp_initial_read (ssd1681_handle_t *handle)
 read register for initial code setting
uint8_t ssd1681_otp_program_vcom (ssd1681_handle_t *handle)
 program vcom otp
uint8_t ssd1681_otp_read_register (ssd1681_handle_t *handle, uint8_t param[11])
 otp register read for display option
uint8_t ssd1681_otp_program_waveform (ssd1681_handle_t *handle)
 program otp of waveform setting
uint8_t ssd1681_otp_load_waveform (ssd1681_handle_t *handle)
 load otp of waveform setting
uint8_t ssd1681_otp_program_selection (ssd1681_handle_t *handle)
 program otp selection
uint8_t ssd1681_otp_write_register (ssd1681_handle_t *handle, uint8_t param[11])
 otp write register for display option
uint8_t ssd1681_otp_program_mode (ssd1681_handle_t *handle, ssd1681_otp_mode_t mode)
 set the otp program mode
uint8_t ssd1681_set_booster_soft_start (ssd1681_handle_t *handle, uint8_t phase1, uint8_t phase2, uint8_t phase3, uint8_t duration)
 set the booster soft start
uint8_t ssd1681_set_mode (ssd1681_handle_t *handle, ssd1681_mode_t mode)
 set the mode
uint8_t ssd1681_set_data_entry_mode (ssd1681_handle_t *handle, ssd1681_address_mode_t mode, ssd1681_address_direction_t direction)
 set the data entry mode
uint8_t ssd1681_software_reset (ssd1681_handle_t *handle)
 software reset
uint8_t ssd1681_set_hv_ready_detection (ssd1681_handle_t *handle, uint8_t cool_down_duration, uint8_t cool_down_loop_num)
 set the hv ready detection
uint8_t ssd1681_set_vci_detection (ssd1681_handle_t *handle, ssd1681_vci_level_t level)
 set the vci detection
uint8_t ssd1681_set_temperature_sensor (ssd1681_handle_t *handle, ssd1681_temperature_sensor_t sensor)
 set the temperature sensor
uint8_t ssd1681_write_temperature_sensor (ssd1681_handle_t *handle, uint16_t control)
 write the temperature sensor
uint8_t ssd1681_read_temperature_sensor (ssd1681_handle_t *handle, uint16_t *control)
 read the temperature sensor
uint8_t ssd1681_write_temperature_sensor_ext (ssd1681_handle_t *handle, uint8_t param[3])
 write command to external temperature sensor
uint8_t ssd1681_set_master_activate (ssd1681_handle_t *handle)
 master activate
uint8_t ssd1681_set_display_update_control (ssd1681_handle_t *handle, ssd1681_display_control_t red_control, ssd1681_display_control_t black_control)
 set the display update control
uint8_t ssd1681_set_display_sequence (ssd1681_handle_t *handle, ssd1681_display_sequence_t sequence)
 set the display sequence
uint8_t ssd1681_set_black_ram (ssd1681_handle_t *handle)
 set the black ram
uint8_t ssd1681_set_red_ram (ssd1681_handle_t *handle)
 set the red ram
uint8_t ssd1681_get_ram (ssd1681_handle_t *handle)
 get the ram
uint8_t ssd1681_set_enter_vcom_sense (ssd1681_handle_t *handle)
 set enter vcom sense
uint8_t ssd1681_set_vcom_sense_duration (ssd1681_handle_t *handle, uint8_t duration)
 set the vcom sense duration
uint8_t ssd1681_set_vcom_control_reg (ssd1681_handle_t *handle)
 write register for vcom control
uint8_t ssd1681_set_vcom_register (ssd1681_handle_t *handle, ssd1681_vcom_t vcom)
 write vcom register
uint8_t ssd1681_get_user_id (ssd1681_handle_t *handle, uint8_t id[10])
 get the user id
uint8_t ssd1681_get_status (ssd1681_handle_t *handle, uint8_t *status)
 get the status
uint8_t ssd1681_set_lut_register (ssd1681_handle_t *handle, uint8_t *reg, uint16_t len)
 set the lut register
uint8_t ssd1681_set_crc_calculation (ssd1681_handle_t *handle)
 set the crc calculation
uint8_t ssd1681_get_crc_status (ssd1681_handle_t *handle, uint16_t *status)
 get the crc status
uint8_t ssd1681_set_user_id (ssd1681_handle_t *handle, uint8_t id[10])
 set the user id
uint8_t ssd1681_set_border_waveform (ssd1681_handle_t *handle, ssd1681_vbd_t vbd, ssd1681_vbd_fix_level_t level, ssd1681_gs_transition_t gs_tran, ssd1681_vbd_transition_t vbd_tran)
 set the border waveform
uint8_t ssd1681_set_end_option (ssd1681_handle_t *handle, ssd1681_end_opt_t opt)
 end option
uint8_t ssd1681_set_read_ram (ssd1681_handle_t *handle, ssd1681_read_ram_t ram)
 set the read ram
uint8_t ssd1681_set_ram_x (ssd1681_handle_t *handle, uint8_t start, uint8_t end)
 set the ram x range
uint8_t ssd1681_set_ram_y (ssd1681_handle_t *handle, uint16_t start, uint16_t end)
 set the ram y range
uint8_t ssd1681_set_auto_write_red_ram (ssd1681_handle_t *handle, ssd1681_step_height_t height, ssd1681_step_width_t width)
 set the auto write red ram
uint8_t ssd1681_set_auto_write_black_ram (ssd1681_handle_t *handle, ssd1681_step_height_t height, ssd1681_step_width_t width)
 set the auto write black ram
uint8_t ssd1681_set_ram_x_address_counter (ssd1681_handle_t *handle, uint8_t cnt)
 set the ram x address counter
uint8_t ssd1681_set_ram_y_address_counter (ssd1681_handle_t *handle, uint16_t cnt)
 set the ram y address counter
uint8_t ssd1681_nop (ssd1681_handle_t *handle)
 nop command
uint8_t ssd1681_write_cmd (ssd1681_handle_t *handle, uint8_t *buf, uint8_t len)
 write the register command
uint8_t ssd1681_write_data (ssd1681_handle_t *handle, uint8_t *buf, uint8_t len)
 write the register data
uint8_t ssd1681_read_data (ssd1681_handle_t *handle, uint8_t *buf, uint8_t len)
 read the register data

Detailed Description

driver ssd1681 header 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
1.0.0
Author
Shifeng Li
Date
2022-08-30

history

Date Version Author Description
2022/08/30 1.0 Shifeng Li first upload

Definition in file driver_ssd1681.h.