TOOLKIT OPERATING MANUAL - VERSION 1.0

Preface

Liquid is a toolkit designed to support the rapid-prototyping of sensor-based applications. Its development is the result of project SENTIENT (EPSRC Project GR/R45253), which was initiated by the Computing Department at Lancaster University in October 2001.

** Read more about project SENTIENT **

GETTING STARTED

Installation Instructions

Run LiquidSetup.exe and follow the on-screen prompts. To execute the toolkit double-click the Liquid executable (Liquid.exe) contained in the application folder.

Installation Requirements

- Windows 98 / NT / 2000 / XP
- 200 MHz Processor
- 32 MB RAM
- 4 MB OpenGL Compliant Graphics Card

THE MAIN MENU

On executing Liquid you will be presented with the following menu choices:

1. Sensor Monitor
2. Development Studio
3. Options
4. Exit

WARNING: Before selecting either option 1 or 2 make sure all the required sensors are already attached to the PC running the Liquid application.

SENSOR MONITOR

A sensor monitor (SM) session allows you to read and compare the input obtained from a selection of sensors via Liquid's visualization unit.

When you start an SM session, you'll be asked to chose the sensors you wish to use (see Fig 1). Sensors are grouped according to their Purpose-Property-Means (PPM) combination e.g. a heart monitor is categorized as a Physiological Monitor -> Heartbeat Rate -> Electrocardiograph.



Figure 1 - Sensor Selection Process

Adding Sensors

To ADD a sensor select the relevant PPM combination, the sensor model box will then be populated with all the sensors it currently supports, select the sensor you wish to add and then click the ADD button (highlighted in green). If the sensor you wish to add is not listed in the model box you need to make sure you have downloaded the necessary Liquid Device Driver (LDD) (see Adding Sensors).

Once the ADD button has been clicked a configuration dialog will appear (only if configuration is supported by the sensor). Use the dialog to configure the sensor to the required settings. For additional help consult the documentation that accompanies the sensors LDD.

If the sensor was not loaded successfully an error will be outputted via the message box (bottom right of the GUI) detailing the problem and likely cause.

Removing Sensors

To REMOVE a sensor select the relevant model from the selected sensors list and click the DELETE button.

(Re)Configuring Sensors

To (RE)CONFIGURE a sensor select the relevant model from the selected sensors list and click the CONFIG button. If a sensor does not provide the ability to configure itself a message will be posted in the message box indicating this.

Accessing Sensor Help

To access sensor help select the relevant model from the selected sensors list and click the HELP button. A dialog box will be launched if help is supported by the sensors LDD (see Fig 2).



Figure 2 - SideWinder Joystick Help Dialog

Starting the SM Session

Once all the relevant sensors have been selected click the START button to activate the SM session.

Understanding the SM Session

The session GUI is divided into 2 quadrants (see Fig 3), the upper quadrant lists the sensors that have been selected for the current session and the lower quadrant displays the currently selected sensors output.

Figure 3 - Sensor Monitor GUI

Use the blue bar to select which sensors output you wish to view. To move the selection bar use the UP and DOWN arrow keys. Which ever sensor is currently highlighted by the bar will have its output displayed in the lower quadrant of the session GUI.

A sensors operational status is listed opposite the devices name in the upper quadrant of the session GUI. Operational status messages are as follows: -

1. Sensor not initiated - sensor has not been initialized (switched on)
2. Sensor not activated - sensor has not been activated (unpaused)
3. Sensor active - sensor is active and collecting data
4. Sensor inactive - sensor is inactive (paused)
5. Initialization Failure - sensor failed to initialize using the selected mode of configuration
6. Shutdown Failure - sensor failed to shutdown (switched off)
7. Activation Failure - sensor failed to activate
8. Deactivation Failure - sensor failed to deactivate
9. Collection Failure - sensor failed to collect any intput

If a sensor enters any state other than 'sensor active' an error message indicating the cause of the problem will replace the sensors output in the lower quadrant of the GUI (see Fig 4).

Figure 4 - Screenshot of Joystick failure (unplugged)

Understanding Sensor Output

Sensory data is displayed either (or both) as an alphanumeric value or a graphical representation. Alphanumeric values are always rendered in 1 of 3 colours. Green represents good data, blue represents timed out data (default timeout is 400 milliseconds) and yellow represents erroneous data (input has exceeded the recommended data range, only applies to input consisting of purely numeric values).

Graphic displays are rendered according to the sensors PPM combination, for example the combination Physiological Monitor -> Heartbeat Rate -> Electrocardiograph will always render data in the form of a graph. To understand how your sensor displays data see Output Descriptors for Casual Users.

Quitting the SM Session

To quit the SM session either click the 'X' icon or press ESCAPE on the keyboard.

DEVELOPMEMT STUDIO

A development studio (DS) session allows you forward sensory data to another application (Liquid Client Application, LCA) via a TCP connection.

As with the sm session, you'll be asked to chose the sensors you wish to use (see Fig 1) before starting the session. Consult the SENSOR MONITOR section on how to add sensors to the DS session.

Starting the DS Session

Once all the relevant sensors have been selected click the START button to activate the DS session.

Understanding the DS Session

The DS works in a similar fashion to the file transport protocol (FTP). Separate ports are employed to facilitate both command & control functions (C&C server) and data transfers (OUTPUT server).

To initialize the C&C and OUTPUT servers click the CREATE SOCKETS button located in the top right hand corner of DS GUI (see Fig 5). If the servers were initialized successfully a socket creation success message will be displayed in the message box located in the center of the GUI. If the servers failed to initialize an error message will be displayed detailing the problem and likely cause.



Figure 5
- Development Studio GUI

After the servers have been initialized activate them by clicking the START SERVERS button. The system will then wait for an LCA to make a connection with the 2 servers. Once a connection has been made the DS will transfer control of the sensors to the client. For help on using an LCA consult the documentation that accompanies the application.

The DS provides the LCA with 4 C&C functions, they are follows: -

1. Open - initializes the sensors
2. Close - shuts the sensors down
3. Activate - activates the sensors / unpauses
4. Deactivate - deactivates the sensors / pauses

System messages such as C&C calls, C&C results, application + driver failures will be outputted via the message box.

Quitting the DS Session

To quit the DS Session either click the 'X' icon or the EXIT button.

WARNING: Before exiting make sure the client program has called the close C&C function, otherwise you may risk crashing the machine the LCA is running on.

OPTIONS

The options dialog allows you to tailor Liquid to your particular requirements.

Pixel Fix

Some graphics cards have been known to shift Liquids visualization unit 1 pixel out of synch. If your graphics card causes this error to manifest select this option to compensate.

Unaffected Graphic Cards: TNT2
Affected Graphic Cards: Intel 82845G Graphics Controller

EXIT

Click this button to quit Liquid.

SENSOR SUPPORT

Liquid supports sensors via API wrappers known as Liquid Device Drivers. An LDD encompasses the often complex code necessary to manipulate a sensor within a small command set e.g. the command open would execute all the necessary code to initialize and configure a sensor.

Adding Sensors

To add a new sensor to Liquid download the relevant LDD wrapper from the Internet and copy the .dll into the drivers folder of the Liquid application directory e.g. C:\Liquid\Drivers\. To check that the sensor installed correctly follow the instructions for adding a sensor to a Liquid session.

Some sensors require that the devices API be installed, this is noted with the documentation that accompanies the LDD. To install the API consult the sensors documentation (although this is usually documented in the LDD documentation).

Removing Sensors

To remove a sensor from Liquid delete the relevant LDD wrapper from the drivers folder located in the Liquid application directory.

TROUBLESHOOTING

Below is an assortment of common problems encountered while using Liquid and their respective solutions.

Problem

Sensor does not appear in the sensor model box under the assigned PPM combination.

Solution

Check the PPM combination selected is the correct one. Check the sensor LDD is installed in the drivers folder of the applications directory e.g. C:\Liquid\Drivers\SideWinder.dll.

Problem

Sensor output has frozen, but no error has been detected.

Solution

Check the colour of the numeric representation of the data, if it is coloured blue it simply means that the sensor has paused, This can be attributed to a number of different reasons such as the sensor is waiting for new input to become available or the API of the sensor has been accessed by another body (not Liquid). In most of these cases the sensor will unfreeze once new input becomes available.

If the problem is caused by the API being accessed by another body consult your sensors documentation on how to reverse freezing the sensor.

If the numeric representation of the sensory data is not coloured blue there may be a problem with the sensors LDD. Consult the LDD documentation and failing that the body that released it.

Problem

DS servers failed to generate servers failed to create (binding error returned).

Solution

Another application is running on the ports the C&C and OUTPUT servers run on. Make sure no other instances of DS have been initiated or are still running (check the task manager for Liquid.exe instances). Make sure no other applications are running on ports 100 and 101.

. . back to Manual Index


Best Viewed in IE6
Copyright © 2003, Kiel Gilleade