Microchip Technology



FAQ – Harmony v2.02 Graphics Framework ChangesQ: What is happening?A: With Harmony v2.02, the graphics framework has significantly changed to enable new capabilities. This will cause projects reliant on previous versions of the graphic libraries or tools to not function as before.Q: Why is this happening now?A: The old graphics framework was based on 16-bit, single layer designs. The front end import tools were likewise limited to this concept. The tool lacked highly requested features such as font/glyph filtering and alpha-channel support. Most importantly, there was no mechanism to support hardware acceleration (via external controller or Graphics Processor Unit). Microchip is currently sampling and will soon release controller designs with embedded LCD controllers and GPU, which support multiple layers, 24-bit color, and 2-D image processing features. These tools are part of this roll-out.Q: When is this happening?A: The public release of Harmony v2.02 is now available on the website.Q: Can I keep my existing designs?A: Yes. The Harmony v1.xx (latest is v1.10) product line will maintain the existing libraries and tool sets as they are. There will be no need to modify previous designs and this path will continue for some time to come.Q: Can I upgrade my existing designs?A: Yes. If you were previously using MPLAB Harmony Graphics Composer (MHGC) then you can export your design. This can then be imported into the new framework. There will be modest changes required to take advantage of new widget functions, primitive conversions and new features that are exclusive to the new framework.Q: Will there be a migration guide from existing designs to the new Suite?A: Yes, it is available with Harmony v2.02. The guide will assist existing users of previous versions of MHGC to enable their designs in the new framework. If your design makes direct calls to the GOL library or primitive layers, then it will require additional effort to migrate using the new API. The APIs are provided in detail in the same user guide.Q: Is MHGC required to use the new library?A: No, but it is obviously encouraged. It will be possible to use the HAL layer API directly in your code. Calls directly to the underlying library (Aria) layers are discouraged so it will be possible to support other graphics structures (like GPU) within your code.Q: Is the Harmony v2.xx product line going to maintain the existing libraries (in deprecated form)?A: No. The change is too extensive within the support elements to maintain both. This is why we have separated the Harmony v1.xx products from the Harmony v2.xx products. The original library will be maintained in the v1.xx product line for some time to come.Q: What specific tools are changing?A: There are several tools involved in the new “MPLAB Harmony Composer Suite”:The legacy Graphics Object Library (GOL) is being replaced by an entirely new library we call “Aria”. Any previous projects that make calls to GOL or the functions that are within it (like primitives) will no longer work. The Graphics Resource Converter (GRC) is being retired and replaced with the Graphics Asset Converter (GAC). The GAC functions are significantly expanded and include 24-bit color support, accurate memory estimates, new formats including PNG and GIF, and tighter integration with the rest of the framework.MPLAB Harmony Graphics Composer was heavily modified to enable new features. Among these features are:Tree based drawing support with parent / child associationsAutomatic filtering of strings in multiple languages, and font managerAsset memory manager and ability to support multiple storage memoriesImage editor and manager, for in-tool editing and compression20+ New / revised widgets, and elimination of the primitive layerThe Display Manager is a new integrated tool that can enable generation of custom display drivers. This is tightly coupled to the MHGC front end, so changes in resolution are reflected in both. The display manager can enable display porting to new displays that are currently not supported in MPLAB Harmony.The Hardware Abstraction Layer (HAL) is a new middleware element that will act as the API to all lower level functions including the Aria library. This adds the capability of future GPU support where some functions might be processed in other APIs that include hardware acceleration. Microchip will enable access to GPU driven devices in future hardware.Q: Are there any features being removed?A: Yes, although they are generally being replaced. Examples are:No longer support primitives. However we have created additional widgets with similar features and updates to take their place.No longer support some widgets that were seldom used and required support. An example is the analog meter widget. All the common use widgets have been updated, and some new ones have been added.No longer support GRC, which as required for GDDX. Users on the much older tool chain (no longer supported in Harmony) will not be able to use the GRC tool for object import. The formats are different. Q: Is the API all new, or a derivative of the existing (GOL) library?A: The API is entirely new, and supports many different constructs. Of course there is a good deal of similarity in that we still support widgets, screens, color schemes and many related elements. But the underlying processing by the HAL layer requires differences in implementation.Q: Are there new application demonstrations planned?A: Yes, we have several all-new applications to show the various features of the new tools. These are focused on the PIC32 MZ EF and the Low Cost Controller-less (LCC) graphics as many of our customers use these as a baseline. We will follow on with additional support and applications in the future.Q: Are any other drivers changing that are specific to the new Harmony release?A: While we continue to maintain our existing driver framework, and some new device drivers continue to be produced, there is no fundamental change to the APIs or middleware of Harmony other than for graphics. So any code produced that uses the API framework should port directly to the new version without additional issues.Q: Will the new Harmony version (v2.02) continued to be marked as BETA?A: Yes, for a while longer. This change in graphics is significant and will cause some previous applications based on the older library to no longer work. Once this has settled and porting issues have been resolved within a majority of the user community this framework path will be moved to production. This is expected to be in the first half of 2017.Q: What (LCD) drivers will be provided?A: We intend to support all of the external LCD controllers we do now, although it may take some time to roll them into the Display Manager. The Display Manager will be the default interface for customization of the display driver for all of these going into the future. We are adding significant new capability in support of LCC, and we will be extending this to S1D, SSD and ILI interfaces in the future.Q: Are we continuing to offer our SEGGER emWin library and support?A: Yes. We continue to offer the emWin Library and tools under license with SEGGER for FREE (to use with PIC32 and 16-bit Microchip devices). We have offerings within Harmony that also include documentation and demonstration applications. We will continue to update these and produce new examples in the future. We have periodic updates of the emWin library that is compiled for the PIC32 as they are made available. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download