feature article
Subscribe Now

Art Majors vs. Programmers

Express Logic GUIX Brings Graphics to Embedded Interfaces

Maybe it’s a left-brain/right-brain thing. Programmers usually aren’t very good user-interface designers. Drawing all those windows, buttons, and scroll bars gives most developers the willies.

Enter GUIX, a new GUI-design tool from Express Logic, the people who make the ThreadX real-time operating system. GUIX brings lightweight GUI widgets to smallish embedded systems, allowing programmers to stick to their programming and leave the GUI gooeyness to the liberal-arts majors.

Astute followers of Express Logic’s oeuvre may be thinking right now, “Wait a minute… don’t those guys already have a GUI tool?” Indeed, they do. PEG-X was for many years the company’s standard GUI-development framework, but it’s being edged out by the newer GUIX. Current PEG-X users are welcome to stick with that product, and Express Logic will happily support them for years to come, but developers new to the GUI landscape are encouraged to start fresh with GUIX.

You see, PEG-X always sat a bit uneasily in the Express Logic product catalog. It wasn’t an in-house product but was licensed from Swell Software and sold through multiple channels. If you got your copy of PEG from Express Logic, it was called PEG-X, but it was otherwise an unvarnished copy of Swell’s product. On the plus side, that meant PEG was available from, and supported by, multiple vendors. But on the down side, PEG-X was never developed specifically for the ThreadX operating system. By necessity, PEG was OS-agnostic, running on multiple RTOSs and multiple CPU architectures. Its APIs and calling conventions were Swell’s, and not necessarily tuned to the way ThreadX does things. It fit, but it wasn’t custom couture. It also didn’t help that Swell Software was later acquired by Freescale, putting PEG’s independence in doubt.

That’s where GUIX comes in. Unlike PEG-X, GUIX was developed from the ground up to work with ThreadX and only ThreadX. It adheres to the company’s established calling conventions; the GUI functions now look like native RTOS functions instead of third-party code. As a result, GUIX is smaller than its predecessor. It no longer carries the baggage necessary to support multiple operating systems, various file systems, and different memory-allocation schemes. That makes its memory footprint smaller and its processor demands lighter.

GUIX is also smaller because it does less – and that’s a good thing. PEG was first created 15 years ago, back in 1998 when the embedded-GUI world was very different. Its initial design goal was to help embedded designers build something that looked like Windows 95. Desktop-style title bars and dialog boxes were what everybody wanted (along with big sideburns). GUI fashions have changed since then, and GUIX more closely reflects today’s Android- and iOS-influenced zeitgeist. The result is a newer, cleaner, and more efficient runtime that demands less of its host system.

At the same time, GUIX adds a few new features that PEG-X didn’t have. Specifically, GUIX now supports multiple displays with different resolutions and/or color depth. (Previously, multiple displays had to be identical.) GUIX can also import TrueType fonts, so designers don’t have to create their own jaggy character sets.

Because GUIX comes from Express Logic, it’s royalty-free and comes with source code. As with ThreadX and the company’s other –X products, there’s just a simple up-front licensing fee; no money changes hands after that. Currently, GUIX runs only on ARM processors, but, given Express Logic’s track record, more CPU support is likely in the future.

So how does it work? Much like other embedded-GUI tools, to be honest. There are two parts: a small runtime library for the target hardware and a big PC application for the design phase. You drag and drop GUI elements (buttons, graphs, icons, text, etc.) on the PC screen and assign actions or responses to clickable elements. There’s no programming as such, just graphics noodling. The GUI result is then compiled into a form that’s both callable from C code and understandable to the runtime element. You can prototype the complete GUI’s behavior entirely on the PC, for those times when the target hardware isn’t ready.

GUIX isn’t intended to compete with more ambitious graphics standards like OpenGL. It’s a relatively lightweight GUI runtime for “dumb” LCD displays, not 3D accelerators. Think industrial display, ATM, or medical equipment, not handheld video game. But with its flat-rate pricing, code-free design environment, and ability to import existing graphics and fonts, it’s just what non-art majors are looking for. Provided you’re running ThreadX on an ARM processor, GUIX is a good-looking upgrade.  

Leave a Reply

featured blogs
Nov 20, 2020
Autumn is a tough time for us Brits.  From the beginning of September when the kids go back to school until Christmas Eve, we have little to get excited about besides the nights closing in and the weather getting worse.  For our American cousins, Thanksgiving is a r...
Nov 20, 2020
[From the last episode: We looked at neuromorphic machine learning, which is intended to act more like the brain does.] Our last topic to cover on learning (ML) is about training. We talked about supervised learning, which means we'€™re training a model based on a bunch of ...
Nov 20, 2020
Are you a lab instructor sitting at home right now? Have you completed some Cadence Online Training courses for your education and earned Digital Badges for personal promotion and spicing up your CV... [[ Click on the title to access the full blog on the Cadence Community si...
Nov 19, 2020
How would one set about measuring the width of a human hair using a laser? Why, with Omni'€™s Hair Diffraction Calculator, of course!...

featured video

AI SoC Chats: Scaling AI Systems with Die-to-Die Interfaces

Sponsored by Synopsys

Join Synopsys Interface IP expert Manmeet Walia to understand the trends around scaling AI SoCs and systems while minimizing latency and power by using die-to-die interfaces.

Click here for more information about DesignWare IP for Amazing AI

featured paper

Overcoming PPA and Productivity Challenges of New Age ICs with Mixed Placement Innovation

Sponsored by Cadence Design Systems

With the increase in the number of on-chip storage elements, it has become extremely time consuming to come up with an optimized floorplan using manual methods, directly impacting tapeout schedules and power, performance, and area (PPA). In this white paper, learn how a breakthrough technology addresses design productivity along with design quality improvements for macro-dominated designs. Download white paper.

Click here to download the whitepaper

Featured Chalk Talk

Hello FPGA

Sponsored by Mouser Electronics and Microchip

Getting started on an FPGA-based embedded vision project can be tricky. Locating all the components you need, getting them to talk to each other, and just getting your system to the video equivalent of “Hello World” is a pretty daunting task. In this episode of Chalk Talk, Amelia Dalton chats with Avery Williams of Microchip Technology about the Hello FPGA kit - a low-cost, low-touch embedded vision kit for engineers new to FPGAs.

More information about Microchip Technology Hello FPGA Kit