www.intuitivecontrols.com

 SystemBOSS
                                                                      April 19, 2001

ICS Team Members: Brad Clements, Mat Goldman, Jessica Heist, Eric Kline, Max Tower
Faculty Advisor: Tim Wheeler

Intuitive Control Systems Inc. is developing a state of the art 3-dimensional joystick for use in industrial machines, mainly aerial work platforms.  To accompany this joystick, an electronics package has been developed to drive hydraulic valves using PWM outputs as well pICS BoomStickerform various logic task involving input and output signals.  A Visual Basic application has been written which allows a laptop to configure and interface with a micro controller in the control module.

The problem with this design is that a laptop is large and costly to have in an outdoor industrial environment.  Ideally, a smaller unit, such as a pocket PC or Palm Pilot, could be used in place of the laptop.  This would decrease the cost and size of the unit making the software more portable and thus more convenient.

The main goal of this project was to develop a new application which will duplicate the functionality of the original application, but run on a handheld PC under the Windows CE operating system. Due to differences between the Windows NT and Windows CE development environments, a direct port of the existing code was not possible. Therefore, the new application was broken into functional areas, and the interfaces and communications between these sections of code were defined. This allowed the group members to code individual sections of the project and combine them in a final code merge, yielding a fully functional application.

Graphical User Interface (GUI)

The GUI has many standards used to increase the user's understanding of the fuHP Jornadanction of the form as well as where they are in relationship to other screens.  Each form has a back button, located at the bottom right corner of the screen, to go back to the level they were previously at before.  A directory system appears at the top of every screen so that the user can see the path followed to arrive at the current screen.  The LEDs used for diagnostics and status indicators will be one of three colors: red indicates on, black indicates off, and yellow indicates a loss of communications.  Editable values will have a background color of yellow. The menu for the application will be on every form and help for navigation purposes.  The user will be able to get to any screen in the entire application from any other screen using the menu.  All of these standards will give the user the ability to learn the application quickly. 

Serial Communications

The serial link between the Pocket PC and the ICS micro controller must be robust.  To ensure dependability we have chosen a request and reply type protocol.  As a rule, the application will periodically refresh the displayed values by requesting them from the micro controller.  All of the displayed values are modified and stored directly in the micro controller.  This ensures that the value displayed is truly in sync with the control system.

Data Conversion

Conversions are necessary because the hex numbers that the micro controller uses is not useful to the user when displayed on the forms.  This is necessary when sending data to the micro controller and when data is received from the micro controller.  When data is received from the micro controller, it is received as a hexadecimal number.  This hexadecimal number must be converted into text that can be displayed in a meaningful form.  When data is sent to the micro controller it must be converted into a hexadecimal number from the adjusted value. 

Screen Refresh

The values displayed on the forms are received directly from the micro-controller. The application will constantly probe the micro-controller for the values of each of the setup parameters. To accomplish this, each form that requires communications will have a timer control placed on it. This timer control will trigger at a specified time interval by calling a call-back function provided by the programmer. This call-back function is the place where the communication with the micro-controller will occur. It will pass down the command code for requesting data for a specific parameter stored on the micro controller. This function will return with the number to display in the field for which the request was made.

Labels

All of the labels for this application will be stored on the micro controller.  This allows many different types of machines to use the SystemBOSS application.  The labels are loaded from the micro controller to the application upon start up.  When the program is started on the Pocket PC, the user is prompted to turn on the micro controller.  The micro controller, when turned on, immediately begins feeding label names to the application.  The application on the pocket PC receives these labels and stores them in a large array.  All of the forms in the application will be programmed to access the label names through this array.

www.hp.com/jornada/

www.microsoft.com/windows/embedded/ce/default.asp

www.microsoft.com/windows/embedded/ce/tools/