Getting Started with Microchip Graphics Suite (MGS) Harmony

Last modified by Microchip on 2024/03/29 12:27

Introduction

This section provides an introduction to the Microchip Graphics Suite (MGS) Harmony and a description of the general development workflow when developing embedded applications with MGS.

This section also provides tutorials on how to quickly get started with designing a basic Graphical User Interface (GUI) using the MGS tools.

Overview of MGS Harmony

MGS Harmony is a tightly integrated suite of tools and library that will help you easily and quickly develop embedded GUI applications.

MGS Harmony Suite Blocks

The suite consists of four major components:

  • Designer
  • Graphics Library
  • Drivers
  • Configurator

Back to Top

Designer

The Designer is a what-you-see-is-what-you-get (WYSIWYG) screen design tool that lets users easily design a UI screen. The tool is called MGS Harmony Composer.

MGS Composer

Composer provides a suite of widgets that are ready-to-use and configurable and can be used to build more complex UI controls. It also provides a comprehensive set of tools for managing graphics assets and optimizing them for the target embedded platform.

For more information about the MGS Harmony Composer, view the "Microchip Graphics Suite (MGS) Harmony Composer User Guide".

Back to Top

Graphics Library

The Graphics Library is the runtime engine that processes the screen designs and converts them into pixels in the frame buffer. The content of the frame buffer is what is eventually displayed on the screen. This engine is called the MGS Harmony Library, which is also known as Legato Library.

The MGS Harmony Library runs as a task alongside other tasks in the application. In most cases, the other application tasks will interface with the MGS Harmony Library to integrate the GUI with the rest of the embedded system.

For general, high-level information on how to design the system application to work with the MGS Harmony Library, view the "Designing an Application with Microchip Graphics Suite (MGS)" page.

Back to Top

Drivers

MGS Harmony drivers are used to configure hardware (HW) peripherals so that pixels rendered in the frame buffer are displayed properly on the LCD module. These HW peripherals may be integrated internally or could be external to the device.

Supported HW Configurations

Back to Top

Configurator

The configurator enables users to configure the various SW and HW components in the application, including peripheral libraries, drivers and middleware. The configurator will also generate the code based on this configuration. The configurator for MGS Harmony is the MPLAB® Code Configurator (MCC) Harmony.

For more information about MCC Harmony, view the "MPLAB Harmony v3" page.

Back to Top

Development Workflow

Embedded GUI development is a highly iterative process.

MGS Harmony Workflow

In MGS, this process starts with importing assets in the designer tool (MGS Harmony Composer), and then using the tool to design the GUI screens. 

Next, the configurator (MCC) is used to configure the rest of the system, including the display driver and other peripherals like clocks, pins and memory. MCC is then used to generate the GUI design and driver code.

The developer then integrates the GUI with the rest of the application. This process includes handling user input events from the touchscreen, as well as handling relevant system events that need to be displayed on the GUI. 

Once the application is integrated with the GUI, the application is traditionally run on the embedded target and evaluated on the display. If the evaluation determines that the GUI needs to be updated or corrected, the process repeats all over again.

With MGS, this entire process is accelerated by the tight integration of the tools. MGS Harmony Composer is tightly integrated into MCC Harmony, which means that code updates from the GUI design are automatically generated and integrated into the MCC Harmony project and into the rest of the system software. This eliminates the need for manual code integration which can take time and introduce bugs.

The MGS Harmony Web Simulator and Desktop Emulator further accelerate this process by reducing the dependency on the availability of the target board and display. This means that GUI development can start before and in parallel with development on actual HW.

Accelerated GUI Workflow

Back to Top

Getting Started

To get started with GUI development using MGS Harmony, it is recommended to start with the MGS Harmony Quickstart demo applications. 

Quickstart demo applications are available for all combinations of graphics-capable Microchip MCU32 and MPU development board and display modules supported in MGS Harmony.

This course shows how to quickly get started and use MGS Harmony to design a GUI application on Microchip development graphics development platforms.

Back to Top

Getting Started with a New MPLAB Harmony Graphics Application

MPLAB® Harmony Graphics Suite (MHGS) branding is being transitioned to MGS.

MHGS is a powerful and royalty-free, user interface design and development suite for Microchip’s 32-bit microcontrollers and microprocessors. MHGS is tightly integrated into the MPLAB X IDE and MPLAB Harmony software development framework, which leads to lower development cost, shorter time to market and higher-quality embedded graphics products. After completing this class, you will be able to use MHGS to design a simple touch-enabled user interface application on any Microchip 32-bit Graphics Development Kit.

Back to Top

Creating a Dynamic UI with Event Handling

MGS provides all the necessary event-handling functionality which enables developers to create dynamic user interface applications. This page will show developers how to create applications to handle different types of events, how these types of events can be triggered, and how to process these events within MGS Harmony.

Back to Top

Graphics Quick Start Application Guides

A collection of application Quickstart tutorials is provided with MGS to help users understand and create applications quickly. 

These applications are available in the MPLAB Harmony GFX applications repositories. Each device that MGS Harmony supports will have its own repository.

Back to Top