From: Vladimir Vassilevsky on

Sometimes it is very convenient to develop GUI on PC, and then port it
to the target embedded device. But there is a problem: GUI input/output
must be connected to the actual application and BSP functions. What
could be an elegant solution for easy attach/detach of the GUI ?

The simple solution could be replace all relevant application functions
with dummies when evaluating GUI on PC. This works until the number of
such functions is less, then, say, ~100. Not scalable.

What could be the other ways for separating GUI and application?


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com

From: Jeremy Bennett on
On Tue, 13 Jul 2010 22:35:03 -0500, Vladimir Vassilevsky wrote:

> Sometimes it is very convenient to develop GUI on PC, and then port it
> to the target embedded device. But there is a problem: GUI input/output
> must be connected to the actual application and BSP functions. What
> could be an elegant solution for easy attach/detach of the GUI ?

Hi Vladimir,

Is there any reason why you would not simulate the target on your PC?
There are all sorts of technologies that can help.


Jeremy


From: Walter Banks on


Vladimir Vassilevsky wrote:
>
> Sometimes it is very convenient to develop GUI on PC, and
> then port it to the target embedded device. But there is a
> problem: GUI input/output must be connected to the actual
> application and BSP functions. What could be an elegant
> solution for easy attach/detach of the GUI ?
>
> The simple solution could be replace all relevant application
> functions with dummies when evaluating GUI on PC. This works
> until the number of such functions is less, then,
> say, ~100. Not scalable.
>
> What could be the other ways for separating GUI and application?

Many years ago Dan Bricklin had an application GUI interface
simulation package called Software Garden that had about the
same limit.

At that point it is easier to write and debug the code. What
we have typically done is to separate the GUI from the project
application through a well defined common global data structure
and then treat the GUI as an entirely separate application. By
using a well defined data structure an fairly simple application
simulator can be written that accesses the data structure. At
the debug stage the simulation can be a small window with variables
and changeable values. There comes a point where the application
goes dynamic and it becomes a process simulator.

BTW the common data interface will do wonders for application
reliability.

Regards


Walter..
--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com

--- news://freenews.netfront.net/ - complaints: news(a)netfront.net ---
From: Michael Kellett on

"Vladimir Vassilevsky" <nospam(a)nowhere.com> wrote in message
news:u66dneCQD6fLraDRnZ2dnUVZ_hednZ2d(a)giganews.com...
>
> Sometimes it is very convenient to develop GUI on PC, and then port it to
> the target embedded device. But there is a problem: GUI input/output must
> be connected to the actual application and BSP functions. What could be an
> elegant solution for easy attach/detach of the GUI ?
>
> The simple solution could be replace all relevant application functions
> with dummies when evaluating GUI on PC. This works until the number of
> such functions is less, then, say, ~100. Not scalable.
>
> What could be the other ways for separating GUI and application?
>
>
> Vladimir Vassilevsky
> DSP and Mixed Signal Design Consultant
> http://www.abvolt.com
>

I may be missing the point here but when I have had similar problems to
solve I have linked the GUI to the rest of the application by UDP messages.
(Obviously only any use on a target with support for UDP.) This is nice
because it means that your application is automatically suitable for remote
control and the GUI can run on just about anything and be written in just
about anything.

The UDP server on the target can be quite compact if you write your own or
it can be part of a full blown 'stack' if that suits.

Michael Kellett


From: Chris Burrows on
"Vladimir Vassilevsky" <nospam(a)nowhere.com> wrote in message
news:u66dneCQD6fLraDRnZ2dnUVZ_hednZ2d(a)giganews.com...
>
> What could be the other ways for separating GUI and application?
>

Use something like the Model-View-Controller design approach. There are many
references in the WP article:

http://en.wikipedia.org/wiki/Model-view-controller

--
Chris Burrows
CFB Software
Astrobe: ARM Oberon-07 Development System
http://www.astrobe.com