Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Monochrome graphical display system

See Quick Start Guide for the mono graphics service.

This library provides an interface to drawing graphics on monochrome graphical displays

The graphics drivers consists of the following:

The generic drawing primitives is a library of functions for drawing graphics primitives such as lines, rectangles and circles. It uses other functions implemented by the display driver for drawing the primitives. The implementation of these functions can optionally be used by a display driver, but if the hardware of the display allows faster handling of any of the primitives, the display driver can implement it directly.

The display specific drivers provides an interface to the graphical display. It implements the low level communication with the display hardware, putting pixels on the display and drawing primitives such as lines, circles and rectangles. Depending on the display driver implementation, drawing the graphics primitives might be handled by the generic graphics drawing primitives rather than the display driver itself.

Examples

The following examples are available for the driver:

API Overview

Note
The functions in the library are not interrupt safe.

Modules

 Quick Start Guide(s)
 In this section you can find a list of all Quick Start guides related to the Monochrome graphical display system.
 
 NULL display device
 This module provides empty read/write functions to a null device (framebuffer in RAM), removing the need for an actual display or controller during testing, and enabling the use of most XMEGA boards.
 
 GFX Mono Font Library
 This modules provides functionality for outputting a monochrome font to a display.
 
 Generic monochrome graphic primitives
 This is a service providing generic implementations of graphic primitives.
 
 Spinner widget for monochrome graphical displays
 This module provides a spinner widget system for monochrome graphical displays.
 
 2832HSWEG04 graphic library abstraction
 This module is an abstraction layer between the graphic library and the 2832HSWEG04 monochrome LCD display connected to a SSD1306 LCD controller.
 
 Framebuffer
 This module provides read/write from and to a framebuffer in RAM.
 
 Menu system for monochrome graphical displays
 This module provides a simple menu system for monochrome graphical displays.
 

Typedefs

typedef uint8_t gfx_coord_t
 
typedef uint8_t gfx_mono_color_t
 

Enumerations

enum  gfx_mono_bitmap_type {
  GFX_MONO_BITMAP_RAM,
  GFX_MONO_BITMAP_PROGMEM
}
 Bitmap types. More...
 
enum  gfx_mono_color {
  GFX_PIXEL_CLR = 0,
  GFX_PIXEL_SET = 1,
  GFX_PIXEL_XOR = 2
}
 Pixel operations. More...
 

Circle Sector Definitions

#define GFX_OCTANT0   (1 << 0)
 Bitmask for drawing circle octant 0. More...
 
#define GFX_OCTANT1   (1 << 1)
 Bitmask for drawing circle octant 1. More...
 
#define GFX_OCTANT2   (1 << 2)
 Bitmask for drawing circle octant 2. More...
 
#define GFX_OCTANT3   (1 << 3)
 Bitmask for drawing circle octant 3. More...
 
#define GFX_OCTANT4   (1 << 4)
 Bitmask for drawing circle octant 4. More...
 
#define GFX_OCTANT5   (1 << 5)
 Bitmask for drawing circle octant 5. More...
 
#define GFX_OCTANT6   (1 << 6)
 Bitmask for drawing circle octant 6. More...
 
#define GFX_OCTANT7   (1 << 7)
 Bitmask for drawing circle octant 7. More...
 
#define GFX_QUADRANT0   (GFX_OCTANT0 | GFX_OCTANT1)
 Bitmask for drawing circle quadrant 0. More...
 
#define GFX_QUADRANT1   (GFX_OCTANT2 | GFX_OCTANT3)
 Bitmask for drawing circle quadrant 1. More...
 
#define GFX_QUADRANT2   (GFX_OCTANT4 | GFX_OCTANT5)
 Bitmask for drawing circle quadrant 2. More...
 
#define GFX_QUADRANT3   (GFX_OCTANT6 | GFX_OCTANT7)
 Bitmask for drawing circle quadrant 3. More...
 
#define GFX_LEFTHALF   (GFX_QUADRANT3 | GFX_QUADRANT0)
 Bitmask for drawing left half of circle. More...
 
#define GFX_TOPHALF   (GFX_QUADRANT0 | GFX_QUADRANT1)
 Bitmask for drawing top half of circle. More...
 
#define GFX_RIGHTHALF   (GFX_QUADRANT1 | GFX_QUADRANT2)
 Bitmask for drawing right half of circle. More...
 
#define GFX_BOTTOMHALF   (GFX_QUADRANT2 | GFX_QUADRANT3)
 Bitmask for drawing bottom half of circle. More...
 
#define GFX_WHOLE   0xFF
 Bitmask for drawing whole circle. More...
 

#define GFX_BOTTOMHALF   (GFX_QUADRANT2 | GFX_QUADRANT3)

Bitmask for drawing bottom half of circle.

#define GFX_LEFTHALF   (GFX_QUADRANT3 | GFX_QUADRANT0)

Bitmask for drawing left half of circle.

#define GFX_OCTANT0   (1 << 0)

Bitmask for drawing circle octant 0.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT1   (1 << 1)

Bitmask for drawing circle octant 1.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT2   (1 << 2)

Bitmask for drawing circle octant 2.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT3   (1 << 3)

Bitmask for drawing circle octant 3.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT4   (1 << 4)

Bitmask for drawing circle octant 4.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT5   (1 << 5)

Bitmask for drawing circle octant 5.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT6   (1 << 6)

Bitmask for drawing circle octant 6.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_OCTANT7   (1 << 7)

Bitmask for drawing circle octant 7.

Referenced by gfx_mono_generic_draw_circle().

#define GFX_QUADRANT0   (GFX_OCTANT0 | GFX_OCTANT1)

Bitmask for drawing circle quadrant 0.

Referenced by gfx_mono_generic_draw_filled_circle().

#define GFX_QUADRANT1   (GFX_OCTANT2 | GFX_OCTANT3)

Bitmask for drawing circle quadrant 1.

Referenced by gfx_mono_generic_draw_filled_circle().

#define GFX_QUADRANT2   (GFX_OCTANT4 | GFX_OCTANT5)

Bitmask for drawing circle quadrant 2.

Referenced by gfx_mono_generic_draw_filled_circle().

#define GFX_QUADRANT3   (GFX_OCTANT6 | GFX_OCTANT7)

Bitmask for drawing circle quadrant 3.

Referenced by gfx_mono_generic_draw_filled_circle().

#define GFX_RIGHTHALF   (GFX_QUADRANT1 | GFX_QUADRANT2)

Bitmask for drawing right half of circle.

#define GFX_TOPHALF   (GFX_QUADRANT0 | GFX_QUADRANT1)

Bitmask for drawing top half of circle.

#define GFX_WHOLE   0xFF

Bitmask for drawing whole circle.

Referenced by draw_circle(), and init_display().

typedef uint8_t gfx_coord_t
typedef uint8_t gfx_mono_color_t

Bitmap types.

Enumerator
GFX_MONO_BITMAP_RAM 

Bitmap stored in SRAM.

GFX_MONO_BITMAP_PROGMEM 

Bitmap stored in progmem.

Pixel operations.

Enumerator
GFX_PIXEL_CLR 

Pixel is cleared.

GFX_PIXEL_SET 

Pixel is set on screen (OR)

GFX_PIXEL_XOR 

Pixel is XORed.