REVIEW - Front Panel - Designing Software for Embedded User Interfaces


Title:

Front Panel

Designing Software for Embedded User Interfaces

Author:

Niall Murphy

ISBN:

Publisher:

CRC Press (1998)

Pages:

315pp

Reviewer:

Chris Hills

Reviewed:

December 2000

Rating:

★★★☆☆


...the information and strategy for designing your own effective front panel.

There is one thing embedded systems have in common; they are different. That is different to anything else and each other. The one thing embedded systems usually do not have is a conventional screen. This would seem to make a book on front panel design for embedded systems redundant. However this book is one of the better embedded books I have seen in a while.

The book looks at various I/O, indicators (lights, LED, etc.), small screens (i.e. 1 line by 8 characters upwards), touch screens and so on. Using encapsulation and OO techniques in both C and C++ generic methods and strategies are discussed. There are comparisons of the examples in Finite State Machine and Table methods. Thus the ideas shown will work in many different systems.

Whilst the book does go on to discuss the use of graphics in some detail the one thing this book does NOT look at are the very low level primitives such as

Draw_Pixel, Draw_Box, Draw_Line,
etc. These will be machine specific and there are references to some heavyweight graphics books to guide one in the writing of these functions (probably in assembler with lots of maths). It is the overall system planning, strategy and methods used that are important.

One of the very useful sections that would never appear in a book on man-machine interfaces for desktop systems is the section on system issues. This looks at watchdogs (hardware and software), safety, hazard analysis, interlocks, etc. It looks at these not in passing but as a very real part of a system as most embedded engineers will appreciate. One example of a control loop shows three approaches the 'Simple Case' the 'Cheap Approach' and the 'Safe Approach' This involves changing the hardware as well as the software. Ambiguous messages in an embedded system can be fatal (to the user not just the application).

There are useful sections on design and test. This is refreshing to read because, as most embedded engineers know, embedded systems cannot fail. They must always be in control no matter what the user (or hardware) does. Thus more care must be taken on the design of the system so that there are no holes. There is a wonderful section that looks at what is needed (not what does the customer want!) As the author says it may be heresy but when the software controls machinery mistakes can be fatal.

In order to try out the software examples supplied a PC hosted version of PD RTOS UC/OS is supplied on the disc. There are versions of UC/OS for most embedded architectures and it is quite widely used in the embedded world. However, there is a discussion on whether an OS is needed at all and where you probably would or would not use an RTOS. The use of UC/OS is not required to use the book.

There is an error in the URL for the author's web site. The correct one ishttp://www.iol.ie/~nmurphyas very promptly supplied by the author in response to an email.

I like this book. Despite the source code on the disc, it is not going to give you a source code library. What it will do is give you the information and strategy for designing your own effective (from a machine and human perspective) front panel. Recommended.


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.