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 io, indicators (lights, LED, etc), small screens (ie 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 desktops systems is the section on system issues. This looks at watchdogs (HW & SW), 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 messaged 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 can not 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 disk. There are versions of UC/OS for most embedded architectures and is quite widely used in the embedded world. However, there is a discussion on weather 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 URL for the authors web site. The correct one is (www.iol.ie/~nmurphy). As (very promptly) supplied by the author in response to an email.
I like this book. Despite the source code on the disk 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