API driver for ILI9488 TFT display component.
Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
union | _union_type |
struct | ili9488_font |
Font structure. More... | |
struct | ili9488_opt_t |
Input parameters when initializing ili9488 driver. More... | |
Typedefs | |
typedef uint8_t | ili9488_color_t |
Type define for an integer type large enough to store a pixel color. More... | |
typedef int16_t | ili9488_coord_t |
typedef union _union_type | union_type |
Enumerations | |
enum | ili9488_display_direction { LANDSCAPE = 0, PORTRAIT = 1 } |
Display direction option. More... | |
Functions | |
void | ili9488_copy_pixels_from_screen (uint16_t *pixels, uint32_t count) |
Copy pixels from the screen to a pixel buffer. More... | |
void | ili9488_copy_pixels_to_screen (const uint16_t *pixels, uint32_t count) |
Copy pixels from SRAM to the screen. More... | |
void | ili9488_delay (uint32_t ul_ms) |
Delay function. More... | |
void | ili9488_display_off (void) |
Turn off the LCD. More... | |
void | ili9488_display_on (void) |
Turn on the LCD. More... | |
uint32_t | ili9488_draw_circle (uint32_t ul_x, uint32_t ul_y, uint32_t ul_r) |
Draw a circle on LCD. More... | |
uint32_t | ili9488_draw_filled_circle (uint32_t ul_x, uint32_t ul_y, uint32_t ul_r) |
Draw a filled circle on LCD. More... | |
void | ili9488_draw_filled_rectangle (uint32_t ul_x1, uint32_t ul_y1, uint32_t ul_x2, uint32_t ul_y2) |
Draw a filled rectangle on LCD. More... | |
void | ili9488_draw_line (uint32_t ul_x1, uint32_t ul_y1, uint32_t ul_x2, uint32_t ul_y2) |
Draw a line on LCD. More... | |
uint32_t | ili9488_draw_pixel (uint32_t ul_x, uint32_t ul_y) |
Draw a pixel on LCD. More... | |
void | ili9488_draw_pixmap (uint32_t ul_x, uint32_t ul_y, uint32_t ul_width, uint32_t ul_height, const ili9488_color_t *p_ul_pixmap) |
Draw a pixmap on LCD. More... | |
void | ili9488_draw_prepare (uint32_t ul_x, uint32_t ul_y, uint32_t ul_width, uint32_t ul_height) |
Prepare LCD to draw. More... | |
void | ili9488_draw_rectangle (uint32_t ul_x1, uint32_t ul_y1, uint32_t ul_x2, uint32_t ul_y2) |
Draw a rectangle on LCD. More... | |
void | ili9488_draw_string (uint32_t ul_x, uint32_t ul_y, const uint8_t *p_str) |
Draw a string on LCD. More... | |
void | ili9488_duplicate_pixel (const uint16_t color, uint32_t count) |
Set a given number of pixels to the same color. More... | |
void | ili9488_fill (ili9488_color_t ul_color) |
Fill the LCD buffer with the specified color. More... | |
ili9488_color_t | ili9488_get_pixel (uint32_t ul_x, uint32_t ul_y) |
Get a pixel from LCD. More... | |
uint32_t | ili9488_init (struct ili9488_opt_t *p_opt) |
Initialize the ILI9488 lcd driver. More... | |
uint16_t | ili9488_read_gram (void) |
Read a single color from the graphical memory. More... | |
void | ili9488_scroll (uint16_t ul_tfa, uint16_t ul_lines, uint16_t ul_bfa) |
Scroll up/down for the number of specified lines. More... | |
void | ili9488_set_bottom_right_limit (ili9488_coord_t x, ili9488_coord_t y) |
Set the display bottom right drawing limit. More... | |
void | ili9488_set_cursor_position (uint16_t us_x, uint16_t us_y) |
Set cursor of LCD screen. More... | |
void | ili9488_set_display_direction (enum ili9488_display_direction direction) |
ILI9488 configure landscape. More... | |
void | ili9488_set_foreground_color (uint32_t ul_color) |
Set foreground color. More... | |
void | ili9488_set_limits (ili9488_coord_t start_x, ili9488_coord_t start_y, ili9488_coord_t end_x, ili9488_coord_t end_y) |
Set the full display drawing limits. More... | |
void | ili9488_set_orientation (uint8_t flags) |
Sets the orientation of the display data. More... | |
void | ili9488_set_scroll_address (uint16_t ul_vsp) |
Enable the scrolling feature. More... | |
void | ili9488_set_top_left_limit (ili9488_coord_t x, ili9488_coord_t y) |
Set the display top left drawing limit. More... | |
void | ili9488_set_window (uint16_t dwX, uint16_t dwY, uint16_t dwWidth, uint16_t dwHeight) |
ILI9488 configure window. More... | |
void | ili9488_write_brightness (uint16_t us_value) |
Set display brightness. More... | |
void | ili9488_write_gram (uint16_t color) |
Write the graphical memory with a single color pixel. More... | |
#define BGR_16_TO_18BITRGB | ( | RGB | ) | BGR_TO_RGB_18BIT(RGB_16_TO_18BIT(RGB)) |
#define BGR_TO_RGB_18BIT | ( | RGB | ) | (RGB & 0xFF0000) | ((RGB & 0x00FF00) >> 8 ) | ( (RGB & 0x0000FC) >> 16 )) |
#define BLUE_LEV | ( | level | ) | ( (level)&BLUE ) |
#define COLOR_AZUR (0xF0FFFFu) |
#define COLOR_BEIGE (0xF5F5DCu) |
#define COLOR_BLACK (0x000000u) |
#define COLOR_BLUE (0x0000FFu) |
#define COLOR_BLUEVIOLET (0x8A2BE2u) |
#define COLOR_BROWN (0xA52A2Au) |
#define COLOR_CONVERT RGB_24_TO_18BIT |
Referenced by main(), refresh_display(), and wifi_connect().
#define COLOR_CYAN (0x00FFFFu) |
#define COLOR_DARKBLUE (0x00008Bu) |
#define COLOR_DARKCYAN (0x008B8Bu) |
#define COLOR_DARKGRAY (0xA9A9A9u) |
#define COLOR_DARKGREEN (0x006400u) |
#define COLOR_DARKRED (0x800000u) |
#define COLOR_DARKVIOLET (0x9400D3u) |
#define COLOR_GOLD (0xFFD700u) |
#define COLOR_GRAY (0x808080u) |
#define COLOR_GREEN (0x00FF00u) |
#define COLOR_GREENYELLOW (0xADFF2Fu) |
#define COLOR_INDIGO (0x4B0082u) |
#define COLOR_LIGHTBLUE (0xADD8E6u) |
#define COLOR_LIGHTCYAN (0xE0FFFFu) |
#define COLOR_LIGHTGREEN (0x90EE90u) |
#define COLOR_LIGHTGREY (0xD3D3D3u) |
#define COLOR_MAGENTA (0xFF00FFu) |
#define COLOR_NAVY (0x000080u) |
#define COLOR_OLIVE (0x808000u) |
#define COLOR_ORANGE (0xFFA500u) |
#define COLOR_RED (0xFF0000u) |
#define COLOR_SIENNA (0xA0522Du) |
#define COLOR_SILVER (0xC0C0C0u) |
#define COLOR_SKYBLUE (0x87CEEBu) |
#define COLOR_SNOW (0xFFFAFAu) |
#define COLOR_TOMATO (0xFF6347u) |
#define COLOR_TURQUOISE (0x40E0D0u) |
#define COLOR_VIOLET (0xEE82EEu) |
#define COLOR_WHITE (0xFFFFFFu) |
#define COLOR_YELLOW (0xFFFF00u) |
#define COLOR_YELLOWGREEN (0x9ACD32u) |
#define get_0b_to_8b | ( | x | ) | (((union_type*)&(x))->byte.byte_8) |
Referenced by ili9488_scroll(), ili9488_set_cursor_position(), ili9488_set_scroll_address(), and ili9488_set_window().
#define get_16b_to_24b | ( | x | ) | (((union_type*)&(x))->byte.byte_24) |
#define get_24b_to_32b | ( | x | ) | (((union_type*)&(x))->byte.byte_32) |
#define get_8b_to_16b | ( | x | ) | (((union_type*)&(x))->byte.byte_l6) |
Referenced by ili9488_scroll(), ili9488_set_cursor_position(), ili9488_set_scroll_address(), and ili9488_set_window().
#define GREEN_LEV | ( | level | ) | ( (((level)*2)<<5)&GREEN ) |
#define ILI9488_CMD_ADJUST_CONTROL_1 0xD7 |
#define ILI9488_CMD_ADJUST_CONTROL_2 0xF2 |
#define ILI9488_CMD_ADJUST_CONTROL_3 0xF7 |
#define ILI9488_CMD_ADJUST_CONTROL_4 0xF8 |
#define ILI9488_CMD_ADJUST_CONTROL_5 0xF9 |
#define ILI9488_CMD_ADJUST_CONTROL_6 0xFC |
#define ILI9488_CMD_ADJUST_CONTROL_7 0xFF |
#define ILI9488_CMD_BACKLIGHT_CONTROL_1 0xB9 |
#define ILI9488_CMD_BACKLIGHT_CONTROL_2 0xBA |
#define ILI9488_CMD_BLANKING_PORCH_CONTROL 0xB5 |
#define ILI9488_CMD_CABC_CONTROL_1 0xC6 |
#define ILI9488_CMD_CABC_CONTROL_2 0xC8 |
#define ILI9488_CMD_CABC_CONTROL_3 0xC9 |
#define ILI9488_CMD_CABC_CONTROL_4 0xCA |
#define ILI9488_CMD_CABC_CONTROL_5 0xCB |
#define ILI9488_CMD_CABC_CONTROL_6 0xCC |
#define ILI9488_CMD_CABC_CONTROL_7 0xCD |
#define ILI9488_CMD_CABC_CONTROL_8 0xCE |
#define ILI9488_CMD_CABC_CONTROL_9 0xCF |
Referenced by ili9488_init().
#define ILI9488_CMD_COLMOD_PIXEL_FORMAT_SET 0x3A |
Referenced by ili9488_init().
#define ILI9488_CMD_COLUMN_ADDRESS_SET 0x2A |
Referenced by ili9488_set_cursor_position(), and ili9488_set_window().
#define ILI9488_CMD_DIGITAL_GAMMA_CONTROL_1 0xE2 |
#define ILI9488_CMD_DIGITAL_GAMMA_CONTROL_2 0xE3 |
#define ILI9488_CMD_DISP_INVERSION_OFF 0x20 |
#define ILI9488_CMD_DISP_INVERSION_ON 0x21 |
#define ILI9488_CMD_DISPLAY_FUNCTION_CONTROL 0xB6 |
#define ILI9488_CMD_DISPLAY_INVERSION_CONTROL 0xB4 |
#define ILI9488_CMD_DISPLAY_OFF 0x28 |
Referenced by ili9488_display_off().
#define ILI9488_CMD_DISPLAY_ON 0x29 |
Referenced by ili9488_display_on().
#define ILI9488_CMD_ENTER_SLEEP_MODE 0x10 |
#define ILI9488_CMD_ENTRY_MODE_SET 0xB7 |
#define ILI9488_CMD_FRAME_RATE_CONTROL_IDLE_8COLOR 0xB2 |
#define ILI9488_CMD_FRAME_RATE_CONTROL_NORMAL 0xB1 |
#define ILI9488_CMD_FRAME_RATE_CONTROL_PARTIAL 0xB3 |
#define ILI9488_CMD_GET_SCANLINE 0x45 |
#define ILI9488_CMD_HS_LANES_CONTROL 0xBE |
#define ILI9488_CMD_IDLE_MODE_OFF 0x38 |
#define ILI9488_CMD_IDLE_MODE_ON 0x39 |
#define ILI9488_CMD_INTERFACE_MODE_CONTROL 0xB0 |
#define ILI9488_CMD_MEMORY_ACCESS_CONTROL 0x36 |
Referenced by ili9488_init(), ili9488_set_display_direction(), and ili9488_set_orientation().
#define ILI9488_CMD_MEMORY_READ 0x2E |
Referenced by ili9488_copy_pixels_from_screen(), and ili9488_read_ram().
#define ILI9488_CMD_MEMORY_WRITE 0x2C |
Referenced by ili9488_copy_pixels_to_screen(), ili9488_draw_pixmap(), and ili9488_write_ram_prepare().
#define ILI9488_CMD_NEGATIVE_GAMMA_CORRECTION 0xE1 |
#define ILI9488_CMD_NOP 0x00 |
Referenced by ili9488_set_cursor_position(), and ili9488_set_window().
#define ILI9488_CMD_NORMAL_DISP_MODE_ON 0x13 |
Referenced by ili9488_init().
#define ILI9488_CMD_NVMEM_PROTECTION_KEY 0xD1 |
#define ILI9488_CMD_NVMEM_STATUS_READ 0xD2 |
#define ILI9488_CMD_NVMEM_WRITE 0xD0 |
#define ILI9488_CMD_PAGE_ADDRESS_SET 0x2B |
Referenced by ili9488_set_cursor_position(), and ili9488_set_window().
#define ILI9488_CMD_PARTIAL_AREA 0x30 |
#define ILI9488_CMD_PARTIAL_MODE_ON 0x12 |
Referenced by ili9488_init().
#define ILI9488_CMD_PIXEL_OFF 0x22 |
#define ILI9488_CMD_PIXEL_ON 0x23 |
#define ILI9488_CMD_POSITIVE_GAMMA_CORRECTION 0xE0 |
#define ILI9488_CMD_POWER_CONTROL_1 0xC0 |
#define ILI9488_CMD_POWER_CONTROL_2 0xC1 |
#define ILI9488_CMD_POWER_CONTROL_IDEL_4 0xC3 |
#define ILI9488_CMD_POWER_CONTROL_NORMAL_3 0xC2 |
#define ILI9488_CMD_POWER_CONTROL_PARTIAL_5 0xC4 |
#define ILI9488_CMD_READ_ABC_SELF_DIAG_RES 0x68 |
#define ILI9488_CMD_READ_CONTENT_ADAPT_BRIGHTNESS 0x56 |
#define ILI9488_CMD_READ_CTRL_DISPLAY 0x54 |
#define ILI9488_CMD_READ_DISP_ID 0x04 |
#define ILI9488_CMD_READ_DISP_IMAGE_MODE 0x0D |
#define ILI9488_CMD_READ_DISP_MADCTRL 0x0B |
#define ILI9488_CMD_READ_DISP_PIXEL_FORMAT 0x0C |
#define ILI9488_CMD_READ_DISP_POWER_MODE 0x0A |
#define ILI9488_CMD_READ_DISP_SELF_DIAGNOSTIC 0x0F |
#define ILI9488_CMD_READ_DISP_SIGNAL_MODE 0x0E |
#define ILI9488_CMD_READ_DISP_STATUS 0x09 |
#define ILI9488_CMD_READ_DISPLAY_BRIGHTNESS 0x52 |
#define ILI9488_CMD_READ_ERROR_DSI 0x05 |
#define ILI9488_CMD_READ_ID1 0xDA |
#define ILI9488_CMD_READ_ID2 0xDB |
#define ILI9488_CMD_READ_ID3 0xDC |
#define ILI9488_CMD_READ_ID4 0xD3 |
Referenced by ili9488_read_chipid().
#define ILI9488_CMD_READ_ID_VERSION 0xD8 |
#define ILI9488_CMD_READ_MEMORY_CONTINUE 0x3E |
#define ILI9488_CMD_READ_MIN_CAB_LEVEL 0x5F |
#define ILI9488_CMD_SET_IMAGE_FUNCTION 0xE9 |
#define ILI9488_CMD_SET_TEAR_SCANLINE 0x44 |
#define ILI9488_CMD_SLEEP_OUT 0x11 |
Referenced by ili9488_init().
#define ILI9488_CMD_SOFTWARE_RESET 0x01 |
Referenced by ili9488_init().
#define ILI9488_CMD_SPI_READ_SETTINGS 0xFB |
Referenced by ili9488_read_chipid().
#define ILI9488_CMD_TEARING_EFFECT_LINE_OFF 0x34 |
#define ILI9488_CMD_TEARING_EFFECT_LINE_ON 0x35 |
#define ILI9488_CMD_VCOM_CONTROL_1 0xC5 |
#define ILI9488_CMD_VERT_SCROLL_DEFINITION 0x33 |
Referenced by ili9488_scroll().
#define ILI9488_CMD_VERT_SCROLL_START_ADDRESS 0x37 |
Referenced by ili9488_set_scroll_address().
#define ILI9488_CMD_WRITE_CONTENT_ADAPT_BRIGHTNESS 0x55 |
#define ILI9488_CMD_WRITE_CTRL_DISPLAY 0x53 |
#define ILI9488_CMD_WRITE_DISPLAY_BRIGHTNESS 0x51 |
Referenced by ili9488_write_brightness().
#define ILI9488_CMD_WRITE_MEMORY_CONTINUE 0x3C |
#define ILI9488_CMD_WRITE_MIN_CAB_LEVEL 0x5E |
#define ILI9488_COLOR | ( | r, | |
g, | |||
b | |||
) |
Referenced by ili9488_copy_pixels_from_screen(), and ili9488_read_ram().
#define ILI9488_DEVICE_CODE (0x9488u) |
Referenced by ili9488_init().
#define ILI9488_FLIP_X 1 |
Bit mask for flipping X for ili9488_set_orientation()
Referenced by ili9488_set_orientation().
#define ILI9488_FLIP_Y 2 |
Bit mask for flipping Y for ili9488_set_orientation()
Referenced by ili9488_set_orientation().
#define ILI9488_LCD_HEIGHT 480 |
#define ILI9488_LCD_WIDTH 320 |
#define ILI9488_SWITCH_XY 4 |
Bit mask for swapping X and Y for ili9488_set_orientation()
Referenced by ili9488_set_orientation().
#define ILI9488_SWITCH_XY_HEIGHT 480 |
Height of display using swapped X/Y orientation.
Referenced by gfx_ili9488_set_orientation().
#define ILI9488_SWITCH_XY_WIDTH 320 |
Width of display using swapped X/Y orientation.
Referenced by gfx_ili9488_set_orientation().
#define LCD_DATA_COLOR_UNIT 3 |
#define RED_LEV | ( | level | ) | ( ((level)<<(5+6))&RED ) |
#define RGB_16_TO_18BIT | ( | RGB | ) | (((((RGB >>11)*63)/31) << 18) | (((RGB >> 5) & 0x00003F) << 10) | (((RGB & 0x00001F)*63)/31) << 2) |
Referenced by ili9488_copy_pixels_to_screen(), ili9488_duplicate_pixel(), and ili9488_write_gram().
#define RGB_24_TO_18BIT | ( | RGB | ) | ((RGB & 0xFC0000) | (RGB & 0x00FC00) | (RGB & 0x0000FC)) |
#define RGB_24_TO_RGB565 | ( | RGB | ) | (((RGB >>19)<<11) | (((RGB & 0x00FC00) >>5)) | (RGB & 0x00001F)) |
typedef uint8_t ili9488_color_t |
Type define for an integer type large enough to store a pixel color.
typedef int16_t ili9488_coord_t |
typedef union _union_type union_type |