Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
90_00028_A0 display using ILI9488 display controller

This is hardware specific configuration that configures the graphical service for use with the ILI9488 display controller and the 90-00028-A0 display.

All the drawing functionality in this configuration is provided by the gfx_generic driver. This configuration includes information about the panel size, data type used for coordinates and color and functionality to convert RGB color to the color format native to the display.

Macros

#define GFX_COLOR(r, g, b)   ILI9488_COLOR(r, g, b)
 It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a dark color as an invalid color. More...
 
#define gfx_color(r, g, b)   gfx_ili9488_color(r, g, b)
 ILI9488 display driver specific function, see gfx_ili9488_color. More...
 
#define GFX_COLOR_INVALID   GFX_COLOR(5, 5, 5)
 It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a very uncommon strong magenta color as transparency mask color. More...
 
#define GFX_COLOR_TRANSPARENT   GFX_COLOR(240, 0, 240)
 
#define gfx_copy_pixels_from_screen(pixels, count)   ili9488_copy_pixels_from_screen(pixels, count)
 ILI9488 display driver specific function, see ili9488_copy_pixels_from_screen. More...
 
#define gfx_copy_pixels_to_screen(pixels, count)   ili9488_copy_pixels_to_screen(pixels, count)
 ILI9488 display driver specific function, see ili9488_copy_pixels_to_screen. More...
 
#define gfx_copy_progmem_pixels_to_screen(pixels, count)   ili9488_copy_progmem_pixels_to_screen(pixels, count)
 ILI9488 display driver specific function available for ATmega and ATXmega devices, see ili9488_copy_progmem_pixels_to_screen. More...
 
#define gfx_draw_bitmap(bmp, x, y)   gfx_generic_draw_bitmap(bmp, x, y)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_bitmap_tiled(bmp, x1, y1, x2, y2, tile_origin_x, tile_origin_y)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_circle(x, y, radius, color, octant_mask)   gfx_generic_draw_circle(x, y, radius, color, octant_mask)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_filled_circle(x, y, radius, color, quadrant_mask)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_filled_rect(x, y, width, height, color)   gfx_generic_draw_filled_rect(x, y, width, height, color)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_horizontal_line(x, y, length, color)   gfx_generic_draw_horizontal_line(x, y, length, color)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_line(x1, y1, x2, y2, color)   gfx_generic_draw_line(x1, y1, x2, y2, color)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_line_pixel(x, y, color)
 ILI9488 display driver specific function, see gfx_ili9488_draw_line_pixel. More...
 
#define gfx_draw_pixel(x, y, color)   gfx_ili9488_draw_pixel(x, y, color)
 ILI9488 display driver specific function, see gfx_ili9488_draw_pixel. More...
 
#define gfx_draw_rect(x, y, width, height, color)   gfx_generic_draw_rect(x, y, width, height, color)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_draw_vertical_line(x, y, length, color)   gfx_generic_draw_vertical_line(x, y, length, color)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_duplicate_pixel(color, count)   ili9488_duplicate_pixel(color, count)
 ILI9488 display driver specific function, see ili9488_duplicate_pixel. More...
 
#define gfx_get_pixel(x, y)   gfx_ili9488_get_pixel(x, y)
 ILI9488 display driver specific function, see gfx_ili9488_get_pixel. More...
 
#define gfx_get_pixmap(pixmap, map_width, map_x, map_y, x, y, width, height)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_init()   gfx_ili9488_init()
 ILI9488 display driver specific function, see gfx_ili9488_init. More...
 
#define gfx_put_bitmap(bmp, map_x, map_y, x, y, width, height)   gfx_generic_put_bitmap(bmp, map_x, map_y, x, y, width, height)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_put_pixmap(pixmap, map_width, map_x, map_y, x, y, width, height)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_set_bottom_right_limit(x, y)   ili9488_set_bottom_right_limit(x, y)
 ILI9488 display driver specific function, see ili9488_set_bottom_right_limit. More...
 
#define gfx_set_ext_handler(ext_draw_handler)   gfx_generic_set_ext_handler(ext_draw_handler)
 ILI9488 display driver uses generic gfx implementation for this function. More...
 
#define gfx_set_limits(x1, y1, x2, y2)   ili9488_set_limits(x1, y1, x2, y2)
 ILI9488 display driver specific function, see ili9488_set_limits. More...
 
#define gfx_set_orientation(flags)   gfx_ili9488_set_orientation(flags)
 ILI9488 display driver specific function, see gfx_ili9488_set_orientation. More...
 
#define gfx_set_top_left_limit(x, y)   ili9488_set_top_left_limit(x, y)
 ILI9488 display driver specific function, see ili9488_set_top_left_limit. More...
 
#define gfx_sync()   gfx_generic_sync()
 ILI9488 display driver uses generic gfx implementation for this function. More...
 

Typedefs

typedef uint16_t gfx_color_t
 
typedef ili9488_coord_t gfx_coord_t
 

Functions

gfx_color_t gfx_ili9488_color (uint8_t r, uint8_t g, uint8_t b)
 Generate native color value from R/G/B values. More...
 
void gfx_ili9488_draw_line_pixel (gfx_coord_t x, gfx_coord_t y, gfx_color_t color)
 Draw a single pixel on the screen. More...
 
void gfx_ili9488_draw_pixel (gfx_coord_t x, gfx_coord_t y, gfx_color_t color)
 Draw a single pixel on the screen. More...
 
gfx_color_t gfx_ili9488_get_pixel (gfx_coord_t x, gfx_coord_t y)
 Get the color of a pixel on the display. More...
 
void gfx_ili9488_init (void)
 Initialize the ili9488 display controller. More...
 
void gfx_ili9488_set_orientation (uint8_t flags)
 Set display orientation. More...
 
gfx_coord_t gfx_height
 
gfx_coord_t gfx_width
 
gfx_coord_t gfx_min_x
 
gfx_coord_t gfx_min_y
 
gfx_coord_t gfx_max_x
 
gfx_coord_t gfx_max_y
 

#define GFX_COLOR (   r,
  g,
 
)    ILI9488_COLOR(r, g, b)

It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a dark color as an invalid color.

Referenced by gfx_ili9325_color(), gfx_ili9325_init(), gfx_ili93xx_color(), gfx_ili93xx_init(), and gfx_ili9488_color().

#define gfx_color (   r,
  g,
 
)    gfx_ili9488_color(r, g, b)

ILI9488 display driver specific function, see gfx_ili9488_color.

#define GFX_COLOR_INVALID   GFX_COLOR(5, 5, 5)

It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a very uncommon strong magenta color as transparency mask color.

Referenced by gfx_ili9325_get_pixel(), gfx_ili93xx_get_pixel(), and gfx_ili9488_get_pixel().

#define GFX_COLOR_TRANSPARENT   GFX_COLOR(240, 0, 240)
#define gfx_copy_pixels_from_screen (   pixels,
  count 
)    ili9488_copy_pixels_from_screen(pixels, count)

ILI9488 display driver specific function, see ili9488_copy_pixels_from_screen.

#define gfx_copy_pixels_to_screen (   pixels,
  count 
)    ili9488_copy_pixels_to_screen(pixels, count)

ILI9488 display driver specific function, see ili9488_copy_pixels_to_screen.

#define gfx_copy_progmem_pixels_to_screen (   pixels,
  count 
)    ili9488_copy_progmem_pixels_to_screen(pixels, count)

ILI9488 display driver specific function available for ATmega and ATXmega devices, see ili9488_copy_progmem_pixels_to_screen.

#define gfx_draw_bitmap (   bmp,
  x,
 
)    gfx_generic_draw_bitmap(bmp, x, y)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_bitmap

#define gfx_draw_bitmap_tiled (   bmp,
  x1,
  y1,
  x2,
  y2,
  tile_origin_x,
  tile_origin_y 
)
Value:
gfx_generic_draw_bitmap_tiled(bmp, x1, y1, x2, y2,\
tile_origin_x, tile_origin_y)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_bitmap_tiled

#define gfx_draw_circle (   x,
  y,
  radius,
  color,
  octant_mask 
)    gfx_generic_draw_circle(x, y, radius, color, octant_mask)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_circle

#define gfx_draw_filled_circle (   x,
  y,
  radius,
  color,
  quadrant_mask 
)
Value:
gfx_generic_draw_filled_circle(x, y, radius, color,\
quadrant_mask)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_filled_circle

#define gfx_draw_filled_rect (   x,
  y,
  width,
  height,
  color 
)    gfx_generic_draw_filled_rect(x, y, width, height, color)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_filled_rect

Referenced by gfx_ili9325_init(), gfx_ili93xx_init(), and gfx_ili9488_init().

#define gfx_draw_horizontal_line (   x,
  y,
  length,
  color 
)    gfx_generic_draw_horizontal_line(x, y, length, color)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_horizontal_line

#define gfx_draw_line (   x1,
  y1,
  x2,
  y2,
  color 
)    gfx_generic_draw_line(x1, y1, x2, y2, color)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_line

#define gfx_draw_line_pixel (   x,
  y,
  color 
)
Value:
color)
void gfx_ili9488_draw_line_pixel(gfx_coord_t x, gfx_coord_t y, gfx_color_t color)
Draw a single pixel on the screen.
Definition: gfx_ili9488_90_00028_a0.c:106

ILI9488 display driver specific function, see gfx_ili9488_draw_line_pixel.

#define gfx_draw_pixel (   x,
  y,
  color 
)    gfx_ili9488_draw_pixel(x, y, color)

ILI9488 display driver specific function, see gfx_ili9488_draw_pixel.

#define gfx_draw_rect (   x,
  y,
  width,
  height,
  color 
)    gfx_generic_draw_rect(x, y, width, height, color)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_rect

#define gfx_draw_vertical_line (   x,
  y,
  length,
  color 
)    gfx_generic_draw_vertical_line(x, y, length, color)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_draw_vertical_line

#define gfx_duplicate_pixel (   color,
  count 
)    ili9488_duplicate_pixel(color, count)

ILI9488 display driver specific function, see ili9488_duplicate_pixel.

#define gfx_get_pixel (   x,
 
)    gfx_ili9488_get_pixel(x, y)

ILI9488 display driver specific function, see gfx_ili9488_get_pixel.

#define gfx_get_pixmap (   pixmap,
  map_width,
  map_x,
  map_y,
  x,
  y,
  width,
  height 
)
Value:
gfx_generic_get_pixmap(pixmap, map_width, map_x, map_y, x, y,\
width, height)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_get_pixmap

#define gfx_init ( )    gfx_ili9488_init()

ILI9488 display driver specific function, see gfx_ili9488_init.

#define gfx_put_bitmap (   bmp,
  map_x,
  map_y,
  x,
  y,
  width,
  height 
)    gfx_generic_put_bitmap(bmp, map_x, map_y, x, y, width, height)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_put_bitmap

#define gfx_put_pixmap (   pixmap,
  map_width,
  map_x,
  map_y,
  x,
  y,
  width,
  height 
)
Value:
gfx_generic_put_pixmap(pixmap, map_width, map_x, map_y, x, y,\
width, height)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_put_pixmap

#define gfx_set_bottom_right_limit (   x,
 
)    ili9488_set_bottom_right_limit(x, y)

ILI9488 display driver specific function, see ili9488_set_bottom_right_limit.

#define gfx_set_ext_handler (   ext_draw_handler)    gfx_generic_set_ext_handler(ext_draw_handler)

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_set_ext_handler

#define gfx_set_limits (   x1,
  y1,
  x2,
  y2 
)    ili9488_set_limits(x1, y1, x2, y2)

ILI9488 display driver specific function, see ili9488_set_limits.

Referenced by gfx_ili9325_draw_pixel(), gfx_ili9325_get_pixel(), gfx_ili93xx_draw_pixel(), gfx_ili93xx_get_pixel(), gfx_ili9488_draw_pixel(), and gfx_ili9488_get_pixel().

#define gfx_set_orientation (   flags)    gfx_ili9488_set_orientation(flags)

ILI9488 display driver specific function, see gfx_ili9488_set_orientation.

#define gfx_set_top_left_limit (   x,
 
)    ili9488_set_top_left_limit(x, y)

ILI9488 display driver specific function, see ili9488_set_top_left_limit.

Referenced by gfx_ili9325_draw_line_pixel(), gfx_ili93xx_draw_line_pixel(), and gfx_ili9488_draw_line_pixel().

#define gfx_sync ( )    gfx_generic_sync()

ILI9488 display driver uses generic gfx implementation for this function.

See gfx_generic_sync

typedef uint16_t gfx_color_t
typedef ili9488_coord_t gfx_coord_t

gfx_color_t gfx_ili9488_color ( uint8_t  r,
uint8_t  g,
uint8_t  b 
)

Generate native color value from R/G/B values.

Converts 8-bit R/G/B values to a color value native to the display.

The macro GFX_COLOR does the same, only allows the preprocessor to handle the calculations.

Parameters
r8-bit red value.
g8-bit green value.
b8-bit blue value.
Returns
Color value in display native format.

References GFX_COLOR.

void gfx_ili9488_draw_line_pixel ( gfx_coord_t  x,
gfx_coord_t  y,
gfx_color_t  color 
)

Draw a single pixel on the screen.

This function draws a single pixel on screen only setting top limit which makes it more suitable for line drawing. If outside the clipping region, nothing is drawn.

Parameters
xX coordinate of the pixel to be drawn.
yY coordinate of the pixel to be drawn.
colorColor value of the pixel in display native format.

References gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, and gfx_set_top_left_limit.

void gfx_ili9488_draw_pixel ( gfx_coord_t  x,
gfx_coord_t  y,
gfx_color_t  color 
)

Draw a single pixel on the screen.

Draw a single pixel on screen setting top and bottom limits. If outside the clipping region, nothing is drawn.

Parameters
xX coordinate of the pixel to be drawn.
yY coordinate of the pixel to be drawn.
colorColor value of the pixel in display native format.

References gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, and gfx_set_limits.

gfx_color_t gfx_ili9488_get_pixel ( gfx_coord_t  x,
gfx_coord_t  y 
)

Get the color of a pixel on the display.

Parameters
xX coordinate of the pixel to be sampled.
yY coordinate of the pixel to be sampled.
Returns
Color value of the pixel at (x, y) in display native format, or GFX_COLOR_INVALID if outside the clipping region.

References GFX_COLOR_INVALID, gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, and gfx_set_limits.

void gfx_ili9488_init ( void  )

Initialize the ili9488 display controller.

This function will be called when calling gfx_init. It will draw a black background to the display and enable the display backlight if available.

References COLOR_BLACK, COLOR_WHITE, gfx_draw_filled_rect, gfx_height, and gfx_width.

void gfx_ili9488_set_orientation ( uint8_t  flags)

Set display orientation.

Set the display orientation

Parameters
flags

References gfx_height, and gfx_width.