This is hardware specific configuration that configures the graphical service for use with the ILI9325 display controller and the ET024006DHU display.
All the drawing functionality in this configuration is provided by the Generic Implementation of Graphics Primitives 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) ILI9325_COLOR(r, g, b) |
#define | gfx_color(r, g, b) gfx_ili9325_color(r, g, b) |
ILI9325 display driver specific function, see gfx_ili9325_color. More... | |
#define | GFX_COLOR_INVALID GFX_COLOR(1, 2, 3) |
It is not possible to define a color that is outside the color spectrum for the ILI9325 driver, hence use a dark color as invalid color. More... | |
#define | GFX_COLOR_TRANSPARENT GFX_COLOR(254, 0, 0) |
#define | gfx_copy_pixels_from_screen(pixels, count) ili9325_copy_pixels_from_screen(pixels, count) |
ILI9325 display driver specific function, see ili9325_copy_pixels_from_screen. More... | |
#define | gfx_copy_pixels_to_screen(pixels, count) ili9325_copy_pixels_to_screen(pixels, count) |
ILI9325 display driver specific function, see ili9325_copy_pixels_to_screen. More... | |
#define | gfx_copy_progmem_pixels_to_screen(pixels, count) ili9325_copy_raw_pixel_24bits_to_screen(pixels, count) |
ILI9325 display driver specific function available for ATmega and ATXmega devices, see ili9325_copy_progmem_pixels_to_screen. More... | |
#define | gfx_draw_bitmap(bmp, x, y) gfx_generic_draw_bitmap(bmp, x, y) |
ILI9325 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) |
ILI9325 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) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_draw_filled_circle(x, y, radius, color, quadrant_mask) |
ILI9325 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) |
ILI9325 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) |
ILI9325 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) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_draw_line_pixel(x, y, color) |
ILI9325 display driver specific function, see gfx_ili9325_draw_line_pixel. More... | |
#define | gfx_draw_pixel(x, y, color) gfx_ili9325_draw_pixel(x, y, color) |
ILI9325 display driver specific function, see gfx_ili9325_draw_pixel. More... | |
#define | gfx_draw_rect(x, y, width, height, color) gfx_generic_draw_rect(x, y, width, height, color) |
ILI9325 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) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_duplicate_pixel(color, count) ili9325_duplicate_pixel(color, count) |
ILI9325 display driver specific function, see ili9325_duplicate_pixel. More... | |
#define | gfx_get_pixel(x, y) gfx_ili9325_get_pixel(x, y) |
ILI9325 display driver specific function, see gfx_ili9325_get_pixel. More... | |
#define | gfx_get_pixmap(pixmap, map_width, map_x, map_y, x, y, width, height) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_init() gfx_ili9325_init() |
ILI9325 display driver specific function, see gfx_ili9325_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) |
ILI9325 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) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_set_bottom_right_limit(x, y) ili9325_set_bottom_right_limit(x, y) |
ILI9325 display driver specific function, see ili9325_set_bottom_right_limit. More... | |
#define | gfx_set_ext_handler(ext_draw_handler) gfx_generic_set_ext_handler(ext_draw_handler) |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
#define | gfx_set_limits(x1, y1, x2, y2) ili9325_set_limits(x1, y1, x2, y2) |
ILI9325 display driver specific function, see ili9325_set_limits. More... | |
#define | gfx_set_orientation(flags) gfx_ili9325_set_orientation(flags) |
ILI9325 display driver specific function, see gfx_ili9325_set_orientation. More... | |
#define | gfx_set_top_left_limit(x, y) ili9325_set_top_left_limit(x, y) |
ILI9325 display driver specific function, see ili9325_set_top_left_limit. More... | |
#define | gfx_sync() gfx_generic_sync() |
ILI9325 display driver uses generic gfx implementation for this function. More... | |
Functions | |
gfx_color_t | gfx_ili9325_color (uint8_t r, uint8_t g, uint8_t b) |
Generate native color value from R/G/B values. More... | |
void | gfx_ili9325_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_ili9325_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_ili9325_get_pixel (gfx_coord_t x, gfx_coord_t y) |
Get the color of a pixel on the display. More... | |
void | gfx_ili9325_init (void) |
Initialize the ili9325 display controller. More... | |
void | gfx_ili9325_set_orientation (uint8_t flags) |
Set display orientation. More... | |
#define | ILI9325_LCD_CS 1 |
gfx_coord_t | gfx_height |
Current height of screen. More... | |
gfx_coord_t | gfx_width |
Current width of screen. More... | |
gfx_coord_t | gfx_min_x |
Minimum X of current clipping region. More... | |
gfx_coord_t | gfx_min_y |
Maximum Y of current clipping region. More... | |
gfx_coord_t | gfx_max_x |
Minimum X of current clipping region. More... | |
gfx_coord_t | gfx_max_y |
Maximum Y of current clipping region. More... | |
#define GFX_COLOR | ( | r, | |
g, | |||
b | |||
) | ILI9325_COLOR(r, g, b) |
#define gfx_color | ( | r, | |
g, | |||
b | |||
) | gfx_ili9325_color(r, g, b) |
ILI9325 display driver specific function, see gfx_ili9325_color.
#define GFX_COLOR_INVALID GFX_COLOR(1, 2, 3) |
It is not possible to define a color that is outside the color spectrum for the ILI9325 driver, hence use a dark color as invalid color.
#define GFX_COLOR_TRANSPARENT GFX_COLOR(254, 0, 0) |
#define gfx_copy_pixels_from_screen | ( | pixels, | |
count | |||
) | ili9325_copy_pixels_from_screen(pixels, count) |
ILI9325 display driver specific function, see ili9325_copy_pixels_from_screen.
#define gfx_copy_pixels_to_screen | ( | pixels, | |
count | |||
) | ili9325_copy_pixels_to_screen(pixels, count) |
ILI9325 display driver specific function, see ili9325_copy_pixels_to_screen.
#define gfx_copy_progmem_pixels_to_screen | ( | pixels, | |
count | |||
) | ili9325_copy_raw_pixel_24bits_to_screen(pixels, count) |
ILI9325 display driver specific function available for ATmega and ATXmega devices, see ili9325_copy_progmem_pixels_to_screen.
#define gfx_draw_bitmap | ( | bmp, | |
x, | |||
y | |||
) | gfx_generic_draw_bitmap(bmp, x, y) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_bitmap_tiled | ( | bmp, | |
x1, | |||
y1, | |||
x2, | |||
y2, | |||
tile_origin_x, | |||
tile_origin_y | |||
) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_circle | ( | x, | |
y, | |||
radius, | |||
color, | |||
octant_mask | |||
) | gfx_generic_draw_circle(x, y, radius, color, octant_mask) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_filled_circle | ( | x, | |
y, | |||
radius, | |||
color, | |||
quadrant_mask | |||
) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_filled_rect | ( | x, | |
y, | |||
width, | |||
height, | |||
color | |||
) | gfx_generic_draw_filled_rect(x, y, width, height, color) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_horizontal_line | ( | x, | |
y, | |||
length, | |||
color | |||
) | gfx_generic_draw_horizontal_line(x, y, length, color) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_line | ( | x1, | |
y1, | |||
x2, | |||
y2, | |||
color | |||
) | gfx_generic_draw_line(x1, y1, x2, y2, color) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_line_pixel | ( | x, | |
y, | |||
color | |||
) |
ILI9325 display driver specific function, see gfx_ili9325_draw_line_pixel.
#define gfx_draw_pixel | ( | x, | |
y, | |||
color | |||
) | gfx_ili9325_draw_pixel(x, y, color) |
ILI9325 display driver specific function, see gfx_ili9325_draw_pixel.
#define gfx_draw_rect | ( | x, | |
y, | |||
width, | |||
height, | |||
color | |||
) | gfx_generic_draw_rect(x, y, width, height, color) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_draw_vertical_line | ( | x, | |
y, | |||
length, | |||
color | |||
) | gfx_generic_draw_vertical_line(x, y, length, color) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_duplicate_pixel | ( | color, | |
count | |||
) | ili9325_duplicate_pixel(color, count) |
ILI9325 display driver specific function, see ili9325_duplicate_pixel.
#define gfx_get_pixel | ( | x, | |
y | |||
) | gfx_ili9325_get_pixel(x, y) |
ILI9325 display driver specific function, see gfx_ili9325_get_pixel.
#define gfx_get_pixmap | ( | pixmap, | |
map_width, | |||
map_x, | |||
map_y, | |||
x, | |||
y, | |||
width, | |||
height | |||
) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_init | ( | ) | gfx_ili9325_init() |
ILI9325 display driver specific function, see gfx_ili9325_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) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_put_pixmap | ( | pixmap, | |
map_width, | |||
map_x, | |||
map_y, | |||
x, | |||
y, | |||
width, | |||
height | |||
) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_set_bottom_right_limit | ( | x, | |
y | |||
) | ili9325_set_bottom_right_limit(x, y) |
ILI9325 display driver specific function, see ili9325_set_bottom_right_limit.
#define gfx_set_ext_handler | ( | ext_draw_handler | ) | gfx_generic_set_ext_handler(ext_draw_handler) |
ILI9325 display driver uses generic gfx implementation for this function.
#define gfx_set_limits | ( | x1, | |
y1, | |||
x2, | |||
y2 | |||
) | ili9325_set_limits(x1, y1, x2, y2) |
ILI9325 display driver specific function, see ili9325_set_limits.
#define gfx_set_orientation | ( | flags | ) | gfx_ili9325_set_orientation(flags) |
ILI9325 display driver specific function, see gfx_ili9325_set_orientation.
#define gfx_set_top_left_limit | ( | x, | |
y | |||
) | ili9325_set_top_left_limit(x, y) |
ILI9325 display driver specific function, see ili9325_set_top_left_limit.
#define gfx_sync | ( | void | ) | gfx_generic_sync() |
ILI9325 display driver uses generic gfx implementation for this function.
See gfx_generic_sync
#define ILI9325_LCD_CS 1 |
Referenced by gfx_ili9325_init().
gfx_color_t gfx_ili9325_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.
r | 8-bit red value. |
g | 8-bit green value. |
b | 8-bit blue value. |
References GFX_COLOR.
void gfx_ili9325_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.
x | X coordinate of the pixel to be drawn. |
y | Y coordinate of the pixel to be drawn. |
color | Color value of the pixel in display native format. |
References gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, gfx_set_top_left_limit(), and ili9325_write_gram().
void gfx_ili9325_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.
x | X coordinate of the pixel to be drawn. |
y | Y coordinate of the pixel to be drawn. |
color | Color value of the pixel in display native format. |
References gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, gfx_set_limits(), and ili9325_write_gram().
gfx_color_t gfx_ili9325_get_pixel | ( | gfx_coord_t | x, |
gfx_coord_t | y | ||
) |
Get the color of a pixel on the display.
x | X coordinate of the pixel to be sampled. |
y | Y coordinate of the pixel to be sampled. |
References gfx_bitmap::color, GFX_COLOR_INVALID, gfx_max_x, gfx_max_y, gfx_min_x, gfx_min_y, gfx_set_limits(), and ili9325_read_gram().
void gfx_ili9325_init | ( | void | ) |
Initialize the ili9325 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 ili9325_opt_t::background_color, COLOR_BLACK, COLOR_WHITE, ili9325_opt_t::foreground_color, GFX_COLOR, gfx_draw_filled_rect, gfx_height, gfx_set_clipping(), gfx_width, ili9325_display_on(), ili9325_init(), ILI9325_LCD_CS, ILI9325_LCD_HEIGHT, ILI9325_LCD_WIDTH, pmc_enable_periph_clk(), smc_set_cycle_timing(), smc_set_mode(), smc_set_pulse_timing(), smc_set_setup_timing(), ili9325_opt_t::ul_height, and ili9325_opt_t::ul_width.
void gfx_ili9325_set_orientation | ( | uint8_t | flags | ) |
Set display orientation.
Set the display orientation
flags |
References gfx_height, gfx_set_clipping(), GFX_SWITCH_XY, gfx_width, ILI9325_LCD_HEIGHT, ILI9325_LCD_WIDTH, ili9325_set_orientation(), ILI9325_SWITCH_XY_HEIGHT, and ILI9325_SWITCH_XY_WIDTH.
gfx_coord_t gfx_height |
Current height of screen.
gfx_coord_t gfx_max_x |
Minimum X of current clipping region.
gfx_coord_t gfx_max_y |
Maximum Y of current clipping region.
gfx_coord_t gfx_min_x |
Minimum X of current clipping region.
gfx_coord_t gfx_min_y |
Maximum Y of current clipping region.
gfx_coord_t gfx_width |
Current width of screen.