EmbeddedRelated.com
Forums
Memfault State of IoT Report

GUI for embedded systems

Started by msr May 12, 2010
msr wrote:

> Thank you all for the responses and suggestions! > > English is not my mother tongue, so I have some difficulty in express > myself clearly, but if you dont mind I will try to explain my doubts > better. > > I would like to understand how GUIs are made in general (ie, depending on > the requirements, from the most demanding to the less demandig). From a > simple mp3 player GUI (monochromatic) to industrial displays > controlling/monitoring machines (color, few buttons on the screen, > dialogs, menus, etc). > > For the most demanding systems, maybe Qt+Linux+WinCE were some (which > more?) of the keywords. But what about "smaller" systems? > > Say, I have a board (pcb) which controls a robotic arm and I want a small > user-interface (a "specialized" LCD, not a desktop or laptop) to interact > with that (move up, move down, etc). How can I acomplish that? > > What frameworks/libraries/toolsuites are there to create small embedded > GUI? > > (note that Im looking at ARM, so 32 bit microcontrollers) > > Thanks again!
I shall recommend a book that I think will explain some of the concepts for you. Front Panel: Designing Software for Embedded User Interfaces by Niall Murphy I think it will help you enormously. -- ******************************************************************** Paul E. Bennett...............<email://Paul_E.Bennett@topmail.co.uk> Forth based HIDECS Consultancy Mob: +44 (0)7811-639972 Tel: +44 (0)1235-510979 Going Forth Safely ..... EBA. www.electric-boat-association.org.uk.. ********************************************************************
>I still don't see that you need a complex GUI to control this.
Sure! The robotic arm example may not be the best. Look at this mp3 player GUI: http://pan.fotovista.com/dev/3/1/00015413/l_00015413.jpg (monochromatic)
>Unless perhaps you are wanting to draw a "map" of the arm's location, on
the
>screen. > >Or are you using a touch screen?
In the robotic arm example, yes! Just suppose you want a "fancy" user-interface (with touch screen) to control something and/or also display some info in a "fancy" and user-friendly way. Another (better) example: a train tickets machine, with buttons, menus for ticket type, destinations name, etc That should be very easy to use and a touchscreen GUI would be very helpful. In this case that GUI may be more sophisticated than the mp3 player GUI, I mean, with color, some graphics, etc --------------------------------------- Posted through http://www.EmbeddedRelated.com
"msr" <mario.ribas@n_o_s_p_a_m.gmail.com> wrote in message 
news:rbGdneSrq-SFO3DWnZ2dnUVZ_qednZ2d@giganews.com...
> >>I still don't see that you need a complex GUI to control this. > > Sure! The robotic arm example may not be the best. Look at this mp3 player > GUI: http://pan.fotovista.com/dev/3/1/00015413/l_00015413.jpg > (monochromatic)
This is a simple "text and line" GUI. You should be able to build this yourself from the basic LCD building blocks
> >>Unless perhaps you are wanting to draw a "map" of the arm's location, on > the >>screen. >> >>Or are you using a touch screen? > > In the robotic arm example, yes! Just suppose you want a "fancy" > user-interface (with touch screen) to control something and/or also > display > some info in a "fancy" and user-friendly way. Another (better) example: a > train tickets machine, with buttons, menus for ticket type, destinations > name, etc That should be very easy to use and a touchscreen GUI would be > very helpful. In this case that GUI may be more sophisticated than the mp3 > player GUI, I mean, with color, some graphics, etc
The ticket machine isn't that hard to do because the buttons are always in the same place on the screen all that changes is the text inside them (and their function). Adding colour and graphics doesn't make it hard to implement. What makes it hard to do, and thus requires you to build a solution using a purchase API is the requirement to move things around the screen dynamically. tim
On Fri, 14 May 2010 14:35:52 -0500, msr wrote:

> Another (better) > example: a train tickets machine, with buttons, menus for ticket type, > destinations name, etc
Such a system would typically be built using a "desktop" OS and GUI toolkit, e.g. Windows or Linux+Qt. Adobe Flash is also quite popular. It's not uncommon to see Windows BSoDs on ticket machines, departure/arrival listings, ATMs, video billboards, etc; e.g.: http://www.miguelcarrasco.net/miguelcarrasco/2006/10/blue_screen_of_.html Qt is quite widely used on mobile phones and PDAs (Qt's developer, TrollTech, is now owned by Nokia), as is WinCE. AFAICT, PEG is aimed at the level below that, where you might only have an 8-bit or 16-bit CPU or RAM measured in kilobytes rather than megabytes (it will run on more powerful systems, but then it's competing with Qt and WinCE).
"Nobody" <nobody@nowhere.com> wrote in message 
news:pan.2010.05.15.13.35.40.407000@nowhere.com...
> On Fri, 14 May 2010 14:35:52 -0500, msr wrote: >
> > AFAICT, PEG is aimed at the level below that, where you might only have an > 8-bit or 16-bit CPU or RAM measured in kilobytes rather than megabytes (it > will run on more powerful systems, but then it's competing with Qt and > WinCE).
I can't agree with that assessment I have worked on two systems where PEG was considered as an appropriate GUI framework (one rejected it in favour of an "own" solution and the other used it) and neither of these were 8 or 16 bit systems with limited memory, they were both 32 bit systems with 100s of megabytes. In both cases, it came down to licensing cost. tim
> >"Nobody" <nobody@nowhere.com> wrote in message >news:pan.2010.05.15.13.35.40.407000@nowhere.com... >> On Fri, 14 May 2010 14:35:52 -0500, msr wrote: >> > >> >> AFAICT, PEG is aimed at the level below that, where you might only have
an
>> 8-bit or 16-bit CPU or RAM measured in kilobytes rather than megabytes
(it
>> will run on more powerful systems, but then it's competing with Qt and >> WinCE). > >I can't agree with that assessment > >I have worked on two systems where PEG was considered as an appropriate
GUI
>framework (one rejected it in favour of an "own" solution and the other
used
>it) and neither of these were 8 or 16 bit systems with limited memory,
they
>were both 32 bit systems with 100s of megabytes. > >In both cases, it came down to licensing cost. > >tim > > >
Hi, You might want to look at FLTK. You can use it on embedded linux or build it for your RTOS. It comes with uClinux and though is X based, it can be made to work on raw video buffer. It has a GUI designer called FLUID which you can use to design your gui on your linux desktop and just crosscompile it for your target. I have used it on my previous project running uClinux on a softcore processor. The gui with menus and buttons was overlayed on live video. Regards Manish --------------------------------------- Posted through http://www.EmbeddedRelated.com

Memfault State of IoT Report