PEG Pro Graphics Library for MQX

The PEG Pro Graphics Library for MQX is a Portable Embedded GUI library designed to provide a professional quality graphical user interface for embedded systems applications. The PEG Pro GUI is small, fast, and easily ported to virtually any hardware configuration capable of supporting graphical output. PEG Pro delivers exceptional visual appeal and an intuitive and powerful API for application-level user interface development.

The PEG Pro Graphics Library for MQX is pre-integrated with the MQX RTOS and provides the tools, API, and windowing class libraries that will allow you to quickly create an outstanding graphical interfaces for embedded devices. PEG Pro for MQX is delivered with full source code, many example application programs, a complete set of supporting utility programs, hardware interface drivers for several common video configurations and input devices, and very thorough documentation to simplify the integration process.

Designed for Embedded Applications

PEG Robot DemoThe PEG Pro Graphics Library is written with embedded devices in mind, meaning that the value of every feature is weighed against the code size and performance requirements of that feature. The PEG Pro library for MQX is configured at compile time to include only the features an application requires, keeping the memory requirements of the GUI at a minimum. A minimum PEG Pro footprint requires roughly 50 KB of code space, 4 KB of stack, and 2 KB of dynamic memory. The PEG Pro software is written entirely in C++ and implements an event-driven programming paradigm at the application level to ensure reliable performance.

The PEG Pro GUI achieves maximum performance on low-power embedded processors by minimizing the system overhead required to maintain a graphical presentation. PEG Pro is fully integrated with MQX RTOS messaging, memory management, and synchronization services. This yields the lowest possible overhead and the only true real-time multi-tasking GUI environment available. PEG Pro input devices are interrupt driven, and again use RTOS services to communicate user input information to the graphical user interface. In addition, the PEG Pro Graphics Library for MQX always interacts directly with video and input hardware to achieve the greatest possible throughput.

Professional Quality Graphics

PEG Pro for MQX simply provides the most complete GUI solution available to real-time embedded systems developers. All of the utilities, documentation, support, and development tools you will require for creating a graphical user interface on an embedded system are included with the PEG Pro library development package. The default appearance of PEG Pro objects is almost identical to common desktop graphical environments. This appearance can be enhanced or simplified to fit the requirements of the application.

International Language Support

PEG Pro for MQX provides industry leading support for multi-lingual applications. PEG Pro fully supports two-byte characters and Unicode string encoding. Virtually any language can be supported using any combination of optional character sets including Latin, Cyrillic, Han, Katakana, Hiragana, etc., in a single PEG Pro application. This capability gives the system developer unequaled range and flexibility in designing products for foreign markets.

Input Devices

PEG Pro for MQX includes complete support for mouse, joystick, and/or touch screen input. This includes drawing various pointer bitmaps or using hardware cursor capabilities. Complete mouse input drivers and touch screen input drivers are provided for each of the reference platforms. All pointer input functionality can also be removed from the library simply by turning off a library configuration flag prior to compiling the library.

Keyboard/Keypad

Full keyboard support is optionally included in the PEG Pro Graphics Library for MQX. This includes all handling required for keyboard navigation through menus, windows, and dialogs. Keyboard support may range from a full QWERTY keyboard to a small set of user-defined membrane keys. Full navigation and operation can be accomplished with as few as three unique input keys.

Soft Keys

Using soft keys, i.e. membrane keys placed at the perimeter of the display screen, is also supported. When using soft keys, the system programmer configures PEG Pro for MQX to operate as a touch screen, and sends to PEG Pro touchscreen click messages corresponding to the screen position adjacent to each membrane key.

Point of Sale TerminalEasy-to-use API

The PEG Pro Graphics Library for MQX provides an intuitive and robust object hierarchy. Powerful enough to build advanced windowing interfaces but simple enough for first-time GUI programer to develop a basic user interface for an embedded device.

Objects may be used as provided, or enhanced through user derivation. PEG Pro imposes no artificial limits on how objects are used. You will find that you can do things very quickly and easily with PEG Pro- things that would be very difficult and time-consuming using the mainstream desktop GUI programming environments.

The PEG Pro API is defined entirely by the public functions provided by the library classes. This API provides robust and intuitive methods for performing even very complex graphical operations.

Optimized for Freescale Processors

Embedded Access specializes in solutions for Freescale processors. Our engineers have been working with Freescale architectures since the launch of the 68K architecture. This level of understanding for Freescale processors and architectures results in the PEG Pro Graphics Library for MQX being specifically optimized and pre-integrated for these platforms. The PEG Pro GUI for MQX includes a device controller driver for a variety of on-chip LCD controllers. Where on-chip LCD device controllers are not present PEG Pro for MQX provides LCD controller drivers for many popular LCD controllers and other display drivers. PEG Pro for MQX is fully integrated with the MQX RTOS messaging, memory management, and synchronization services to provide an easy to use graphics package for MQX users. This level of integration ensures a very good out-of-box experience with Freescale boards and tower kits and easy integration of the PEG Pro GUI with a customer’s hardware.

Includes GUI Building Utilities

The PEG Pro Graphics Library for MQX is delivered with a full set of utility programs useful for embedded developers. These utility programs allow you to generate and use your own fonts, convert images for storage in ROM and design, build and automatically generate the source code for advanced windowing interfaces and dialogs.

FontCapture

FontCapturePEG Pro for MQX supports many font formats. These include a custom 1-bit-per-pixel variable-width bitmapped font format, a scalable vector font format, outlined fonts, and anti-aliased fonts.

FontCapture is a development tool that allows users to convert TrueType and BDF font files into the native font format required internally by PEG Pro. The output of FontCapture is a source file containing C style data arrays describing the captured font. These source files are then compiled and linked in with your application, allowing you to associate any number of custom fonts with any PEG Pro control type that displays string data.

FontCapture includes a complete character editor allowing the user to customize individual characters of the generated font. Unicode character mapping and multi-page fonts containing thousands of characters are supported. FontCapture is available for Windows, Linux/X11, and Solaris hosts.

ImageConvert

ImageConvertImageConvert is a development tool that converts BMP, GIF, JPEG, and PNG images into a compressed format supported by the PEG Pro bitmap functions. The output of ImageConvert is a C source file that can then be compiled and linked in with your application. ImageConvert will optionally compress the output bitmaps on an individual basis, allowing you to achieve the best mix of speed vs size.

Image Convert also creates optimized palettes for applications running in 4 or 8 bpp mode. The user can input any combination of supported image files, and ImageConvert will perform advanced quantization and color-reduction producing an optimal palette or palettes corresponding to the input images. The output images are then automatically re-encoded using the newly generated palette information. Multiple palettes can be used in one application. ImageConvert also supports dithering of pixel color data when reducing the color depth of an input image to match the output display capabilities.

WindowBuilder

WindowBuilderThe PEG PRo WindowBuilder is a powerful visual design tool created for use with the PEG Pro library. PEG Pro WindowBuilder allows the developer to quickly create and use custom windows and dialogs. The output of PEG Pro WindowBuilder is the C++ source code required to create the desired window or dialog. PEG Pro WindowBuilder also generates the prototype message handling code required to process signals received from the window or dialog child controls.

PEG Pro WindowBuilder is actually a PEG Pro application program running in the Win32 development environment. This guarantees that the operation of PEG Pro WindowBuilder is fully and completely WYSIWYG, and your target will appear exactly as it does in the PEG Pro WindowBuilder environment.

As with all PEG Pro supporting tools, PEG Pro WindowBuilder is essential to making PEG Pro a complete embedded GUI solution and is therefore included with the PEG Pro library at no extra charge.