Record Responses from a Serial Response Box

Inquisit supports obtaining and measuring responses from serial port devices such as serial response boxes and voice key microphones (Inquisit also supports voice key and speech recognition using any PC microphone). Inquisit has generic serial port cababilities that can be used to interact with many devices. In addition, Inquisit also has special capabilities for interacting with Cedrus' XID response boxes, which are described in detail below.

Configuring the serial port

Most devices require the serial port to be configured with specific settings in order to function properly. Settings include the port's baud rate, the number of bits in each chunk of data, parity, and flow control. Consult the manual for your device for the appropriate COM port settings.

To configure the port, use the Windows Device Manager applet (on Windows XP, open the Control Panel, then the System applet, click on the Hardware tab, and click the Device Manager button). Expand the Ports node on the tree, right click on the COM port you wish to configure, and select the Properties command. This will open the following Window, which allows you to configure the port. If you are using an RB x30 series device, the settings should be as follows:

serial port config

Note that the RB x30 series of response pads have a set of dip switches on the back that allow you to configure the device to use a 9600 or 19200 baud rate. Be sure to set the "bits per second" option in the above window to whichever of these two values the dip switches are configured to use.

Inquisit commands for serial port input

The Inquisit commands for using a serial port device are very similar to those used for other response devices such as a keyboard, mouse, or joystick. The inputdevice command should be set to "com1", "com2", "com3", ... depending upon which port number the device is plugged into on your PC. The inputdevice can both be set globally for all trials in an experiment by using the <defaults> element:

/ inputdevice = com1
The inputdevice can also be set on a trial by trial basis as follows (trial settings override the default settings):
<trial mytrial>
/ inputdevice = com2
/ validresponse = (128, 8)
/ correctresponse = (8)

Next, define the valid and correct responses for that trial. Inquisit treats each byte of data sent by the device as a separate response whose values range from 0 to 255. Correct and valid responses must therefore be an integer within this range. The exact value sent by a particular device, or by a given button on a device, is determined by the device itself. To determine the value corresponding to a particular response on a serial port device, consult the documentation for that device, or run a series of trials with "responsemode=anyresponse". Under this mode, Inquisit will treat any response from the device as valid and will record the value for each response in the data file. You can then consult the data file to determine the value for each response.

Using Cedrus XID-compatible response boxes with Inquisit

Cedrus' new line of RB and Lumina response boxes include a built in timer that can be used to measure response latencies. The response pad measures the participant's reaction using it's own hardware and then reports a time stamped response to the computer. This capability is useful when running computationally intensive trials such as video presentation that could affect the computer's ability to provide accurate timing.

Taking advantage of an XID response box's on board timer is easy. There is no port configuration required. Just set the inputdevice command to "xid1", "xid2", "xid2", ... depending on which serial port number the device is plugged into. That's all there is to it. Inquisit will now record response latencies using the device's timer rather than that of the computer.

Using Current Design, Inc. fORP response devices with Inquisit

Inquisit is also compatible with fORP response devices by Current Design, Inc. These devices plug in through a USB port and can be configured to register as a keyboard or joystick device. Inquisit can thus interact with them as if they were a regular keyboard or joystick (i.e., by setting inputdevice equal to "keyboard" or "joystick").