graphics libraries help - microchip libraries hel · pdf file this topic provides...

Click here to load reader

Post on 05-Apr-2020

2 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Graphics Libraries Help

    MPLAB Harmony Integrated Software Framework

    © 2013-2018 Microchip Technology Inc. All rights reserved.

  • Volume V: MPLAB Harmony Framework Reference This volume provides API reference information for the framework libraries included in your installation of MPLAB Harmony.

    Description

    This volume is a programmer reference that details the interfaces to the libraries that comprise MPLAB Harmony and explains how to use the libraries individually to accomplish the tasks for which they were designed.

    Volume V: MPLAB Harmony Framework

    © 2013-2017 Microchip Technology Inc. MPLAB Harmony v2.06 2

  • Graphics Libraries Help

    This topic provides information about the graphics libraries that are available in MPLAB Harmony.

    Currently, MPLAB Harmony provides two solutions for developing graphics firmware:

    • The MPLAB Harmony Graphics Composer (MHGC) Suite - The MPLAB Harmony Graphics Composer Suite (MHGC) is a free, modular graphics stack and tools suite for use with Microchip PIC32 microcontrollers. The MHGC tool provides an easy to use GUI that works within the MPLAB X IDE environment.

    • The SEGGER emWin Graphics Library - In addition to the standard Graphics Library, the MPLAB Harmony Integrated Software Framework also offers a third-party graphics library, emWin, from SEGGER Microcontroller GmbH & Co. KG. The SEGGER emWin Graphics Library provides an efficient, processor and LCD controller-independent Graphical User Interface (GUI) for applications that operate with a graphical LCD.

    MPLAB Harmony Graphics Composer (MHGC) Suite

    This section describes the MPLAB Harmony Graphics Composer (MHGC) Suite.

    Introduction

    This section provides an overview of the MPLAB Harmony Graphics Composer (MHGC) Suite.

    Description

    The MPLAB Harmony Graphics Composer (MHGC) Suite is a free, modular graphics stack and tools suite for use with Microchip PIC32 microcontrollers. The MHGC suite provides an easy to use GUI that works within the MPLAB X IDE environment. This is tightly coupled with MPLAB Harmony Configurator (MHC), code development, and other integrated debug features. The tools provide a simplified interface to create graphics content, target specific processor / display and touch interface hardware, and generate code. In most cases, no additional programming to support graphics is required at all, which reduces development time. For more information about the MHGC, refer to MPLAB Harmony Graphics Composer User's Guide.

    The MPLAB Harmony Graphics Stack consists of several layers that directly build on the capabilities of lower layers to provide a robust framework for displaying rich graphics on supported display devices. Higher layers can be removed as needed if their capabilities are not required.

    Graphics Stack Architecture

    This section describes the graphics stack architecture.

    Description

    The following is a diagram of the graphics stack architecture.

    Volume V: MPLAB Harmony Framework Graphics Libraries Help MPLAB Harmony Graphics Composer (MHGC)

    © 2013-2017 Microchip Technology Inc. MPLAB Harmony v2.06 3

  • The functionality of each layer is summarized below, the details have been provided in the help document in the corresponding sections:

    • Graphics Controller Driver – Software that talks directly to hardware. Multiple drivers for internal, external and no-controller options are available. These can be customized with the new Display Manager interface. No other software in the stack should have hardware access.

    • Graphics Accelerator Driver- Software that interfaces with graphics accelerator hardware.

    • Hardware Abstraction Layer (HAL) – A software layer that serves as a gate-keeper for all graphics controller and accelerator drivers. This layer is configured at initialization by the underlying graphics drivers and provides functionality such as: buffer management, primitive shape drawing, hardware abstraction, and draw state management. The presence of this layer serves as a means of protection for the drivers, frame buffers, and draw state in order to prevent state mismanagement by the application.

    • Graphics Utilities Library – This library is primarily responsible for managing and decoding assets such as images, fonts, and strings. It provides the means for interacting with asset data, complex data decoding, data decompression, and string asset look-up. It also abstractly handles accessing external memory sources during asset decoding.

    • Aria User Interface Library – This library provides the capability for interface generation, management, and interaction. This library provides the building blocks for constructing a user interface in the form of “Widgets” or user interface elements. These consist of things like buttons, check-boxes, images, etc. This library also handles user interaction events for things like touch actions.

    • Third Party Graphics Library – The third party library can be used with the harmony framework to perform the graphics operations if desired by the user. The third party library has access to the hardware abstraction layer (HAL), which has been configured to supply the frame buffer to be filled in by the third-party graphics library.

    • MPLAB Harmony Graphics Composer (MHGC) – This tools suite provides the capability to design a user interface using a graphical drag and drop interface. The tool can write all of the code needed to initialize, configure, and manage an Aria library context. The tools include:

    • Graphics Asset Converter – new engine for importing multiple external image types, estimating and optimizing size,

    • Image Editor - Enabling palette, compression, format changes and editing of images without external tools

    • Resource Manager – Tabulated totals of memory usage for images, fonts and other elements used within the graphics design. These can be used to optimize a specific design to fit within a given device Flash memory.

    • WYSIWYG GUI editor – Enables drag and drop capability to visualize your particular design

    • Event Manager – Enables the user to customize the experience of touch and logical (application) events and to interact with graphical attributes

    • Tree Manager – Enables the user to select the drawing priority and establish parent / child relationships so that objects can be grouped as desired

    • String and Font Manager – Used to input strings in multiple languages for potential reuse, and optimization of fonts and memory requirements

    The Graphics Library architecture components, display drivers, libAria APIs and demonstration applications are placed into the following locations during the installation of MPLAB Harmony:

    • /microchip/harmony//framework/gfx/hal

    • /microchip/harmony//framework/gfx/utils

    • /microchip/harmony//framework/gfx/libaria

    • /microchip/harmony//apps/gfx/

    Volume V: MPLAB Harmony Framework Graphics Libraries Help MPLAB Harmony Graphics Composer (MHGC)

    © 2013-2017 Microchip Technology Inc. MPLAB Harmony v2.06 4

  • Graphics Composer Suite Salient Features

    This section provides the highlights of the new MPLAB Harmony Graphics Composer Suite.

    Description

    Multiple new features have been added to the tools starting with the introduction of MPLAB Harmony v2.02.

    These tools were reworked based on:

    • New hardware capabilities from Microchip PIC32 products

    • Numerous customer requests for updated features.

    The tools include:

    • New graphics import engine (GAC)

    • Capability of image conversion and compression

    • Hardware Abstraction Layer (HAL), support for GPU

    • Entirely new graphics library (Aria User Interface Library)

    • Localization font and string manager; font filtering

    • Resource utilization manager

    • 24-bit color (32-bit with alpha channel) and multi-layer support

    • Multiple new widgets, support for primitive touch gestures

    • Multiple new applications to demonstrate features (old apps will be retired)

    • Tree drawing support, parent child association

    • Revised WYSIWYG engine, updated accuracy and screen elements

    • Revised clipping and object drawing support

    • New interface for graphics events, and external / logical macros

    • Integration of the Display Manager for automatic generation of display drivers

    In addition to the rich features offered on introduction, the new architecture enables new capabilities that are planned in future releases.

    These new features include:

    • Integration of the PIC32MZ DA LCD driver (GLCD)

    • Support for the PIC32MZ DA GPU library

    • Mechanism for the motion/movement engine

    • Mechanism for the simulation engine

    • Editor/user customization of widgets

    • Integrated image editor

    • Touch screen gesture editing

    • Memory-saving global pallet functions, optimized use of SRAM buffers

    Graphics Composer Suite Goals

    This section describes the MPLAB Harmony Graphics Composer Suite goals.

    Description

    The graphics tools and stack were designed with several goals in mind:

    • Tight Integration Experience – Design and code generator tools are tightly integrated with the development environment for one-touch project generation

    • User Experience – Libraries and tools are easy to learn and use

    • Powerful User Interface Lib

View more