Psykinematix supports a variety of external devices: input devices like HID computer devices (standard keyboard, mouse, etc.), calibration devices, or specialized response boxes, output devices like displays, as well as any input-output devices through a RS-232 serial, TCP/IP-based network or USB interface.
HID-compliant Response Devices
Psykinematix aims to support as many external devices as possible that can communicate with Macintosh computers through a USB, serial port, or IP-based network connection. If you own a device you would like to see interfaced with Psykinematix or need improved support for it, please make a feature request using the feedback menu.
Most operating systems recognize standard HID (Human Interface Device) devices without needing a special software driver. Psykinematix supports in particular the following response devices:
USB and Bluetooth keyboards,
USB and Bluetooth mice (left, right and middle buttons are supported),
USB keypads: Adesso keypad AKP-150 and Targus Keypad PAUK10C have been successfully tested,
USB gamepads and joysticks (up to 16 buttons are supported, XYZ-axes controls and directional pads are not supported yet): Logitech Dual Action gamepad and Logitech Attack 3 joystick have been successfully tested (Note: the Attack 3 joystick was not compatible with Mac OSX 10.6.2 but this was fixed in 10.6.3, and it also works fine under Mac OS 10.4 and 10.5).
Note that HID devices are not limited to the above standard input devices. Some specialized devices, for example, may be able to show as HID keyboard like the Fiber-Optic Response Pad ( fORP) devices from Current Designs and be used to deliver both scanner trigger signal and subject response as this is done at the McConnell Brain Imaging Centre in Montreal.
The list of currently connected USB-HID devices that can be used as response devices is available from the Response Devices Preferences. Any of these devices can be used to provide the subject's response, trigger the next trial or simply terminate a stimulus presentation. However, only those with a checked "Active" box will be available to your experiments, and the ones with the checked "Default" box will be set as default response device when creating new experiments without specifying any device. The default device can be changed on an experiment basis in the Experiment properties under the Input/Output tab. When using multiple devices that act as keyboard, it is important to specify as default keyboard the one used by the experimenter to start and stop an experiment with the ESC keypress.
If some devices have been disconnected or connected while running Psykinematix, it is important to update the device list by clicking on the blue circular arrow (Note however that some USB devices may need to be plugged into a powered USB hub to properly work). Some unknown devices may appear in this list: they are likely wireless devices that can be recognized through a USB receiver. Be sure to uncheck the "Active" box for each of these "phantom" devices. Some trial-and-error troubleshooting may be required to identify these "phantom" devices.
In Psykinematix, input/output devices can be used to synchronize external equipment with stimulus presentation for example by sending stimulus information (onset time, type, etc.) to a EEG system for signal segmentation purpose or by waiting for a TTL input from a fMRI scanner. Input/output devices can also be used as non-conventional response devices like button boxes with their own internal clock for precise measurement of reaction times. The I/O Preferences allows to select, configure and test any supported devices connected to the computer through either a USB port, a serial interface (USB-to-serial adapters included) or a network connection.
Clicking on the USB, Serial or Network icon opens a configuration window that lists all recognized devices of this type. If some devices have been disconnected or connected while running Psykinematix, it is important to update the device list by clicking on the blue circular arrow . Select the device you want to use, customize its properties, and click on the "Start" button to test the device. Once tested, click on the "Stop" button to return to the device list. If the device test is successful, its status shown in the last column change to a blue checked indicator . Other indicators have the following meaning:
Device OK: the device has been detected, but has not been tested yet;
Missing device: the device has been previously used, but it is not available anymore;
Failed Test: the device failed to be tested;
After successfully testing a device, you can then check its "Enable" box to make it available by default to any new experiment. All devices checked in the "Enable" column will appear in the Experiment Input/Output settings where they can be removed if needed. These enabled devices are also those selectable from the "Trigger" pop-up menu in the "Control Settings" palette available for most stimuli.
Psykinematix supports the ioLab button box a USB input device that allows high accuracy response time measurement. Note that support for the ActiveWire device is now deprecated due to the GNU General Public License in use by the only Mac OS X compatible ActiveWire driver and interfaces.
When testing the ioLab button box, each of the 8 buttons can be configured to be enabled during the experiment. The status of each button is updated in real-time whenever it is pressed or released during the test. A clock drift estimate is also provided to verify the accuracy of the button box internal clock. The provided key names are the ones that should be used to indicate the inputs to perform an action. Similarly to HID devices, button box devices can be used to perform the following actions: provide subject's response, trigger the next trial or simply terminate a stimulus presentation.
Note as well that the ioLab button box can trigger "Trial Alarms" at regular intervals which are detected as "TA" inputs by Psykinematix. The first time the experiment waits for a "TA" input automatically starts the "Trial Alarms" timer. This feature is particularly useful to simulate a TTL input or present stimuli at very regular intervals. The value of the built-in variable TAPERIOD specifies the period of the trial alarm in seconds, and should be defined in the independent variable table of the Experiment Control Settings.
Psykinematix supports generic RS-232 serial communication through the use of USB-to-serial adapters (connected to another PC or other piece of equipment), as well as specialized devices like the Cedrus RB Series Response Pads that also use serial communication through a built-in USB-to-serial adapter. The type and use of the selected device should be properly specified to indicate the function of the device in your experiments: "Remote PC" or "Cedrus" for the type, "Trigger In", "Trigger Out" or "Button Box" for the use. Other settings are standard serial settings:
- "Speed" that specifies the rate at which bits are transmitted,
- "Data Bits" that specifies the number of data bits to transmit,
- "Parity" that specifies the type of parity checking,
- "Stop Bits" that specifies the number of bits used to indicate the end of a byte,
- "Flow control/handshaking".
"Remote PC" Type:
Psykinematix supports generic RS-232 communication through standard write commands. The external device can be a remote computer that listens to serial commands sent by Psykinematix. These commands may be used to send a simple trigger signal with the "AT" command or a more complex message including any data related to your stimuli or experimental conditions.
When testing a remote serial connection, one can specify any number of write commands with values of either boolean, byte (either in decimal, binary or hexadecimal format using the 'b' and 'x' prefixes, eg: 240, b11110000 or xF0), integer, float, text or string type. Optionally these commands can be concatenated into one single write command with the different values separated by a custom character (comma by default).
The enabled "Remote PC" devices are selectable from the "Trigger" pop-up menu in the "Control Settings" palette available for most stimuli. This way it is possible to define for each stimulus serial commands that should be sent at its onset. Note that the values of the write commands defined in the "Control Settings" palette can include expressions containing dependent or independent variables: the expressions are first evaluated (except for the 'string' type), then converted to the specified type, before being sent as an ASCII string via the write command.
In addition of the write command, there is a TTL command available to output a TTL pulse using the DTR (pin 4) or RTS (pin 7) output lines of a DB9 serial port. The associated value is the duration of the pulse in term of video frames.
Psykinematix supports the Cedrus RB Series Response Pads that act as button boxes and allows high accuracy response time measurement. Psykinematix also supports the Lumina Response Pads for fMRI through the Cedrus Lumina LP-400 controller that can convert a TTL trigger signal provided by a fMRI scanner to a button input.
Up to 8 buttons are available on Cedrus response pads. When testing the devices, the status of each button (including the TTL input from the Lumina controller) is updated in real-time whenever it is pressed or released. A clock drift estimate is also provided to verify the accuracy of the button box internal clock.
The provided key names are the ones that should be used to indicate the inputs to perform an action. Similarly to HID devices, button inputs from Cedrus devices can be used to perform the following actions: provide subject's response, trigger the next trial or simply terminate a stimulus presentation.
Psykinematix supports TCP/IP-based network communication through either a wired or wireless internet connection. Network connection settings are simply IP address and port number of the remote device, typically a computer that runs some specialized software on its own, for example EEG recording or eye-movement tracking. Synchronization between Psykinematix and the remote computer generally relies on exchange of their time values.
Psykinematix supports in particular NetStation, the acquisition software of the dense-array electroencephalography (EEG) system from Electrical Geodesics, Inc. (EGI). The experimental control computer (the one running Psykinematix) typically sends events describing the stimuli conditions to the NetStation computer via TCP/IP to tag recorded EEG signal. For more information, see Chapter 7 ("Experiment Control") and Appendix G ("Experimental Control Protocol") in the EGI GES Hardware Technical Manual.
When testing the NetStation connection, one can specify several data fields: a 4-character code, a duration, a label, a description and a list of key-values of various types. The enabled "NetStation" connection is selectable from the "Trigger" pop-up menu in the "Control Settings" palette available for most stimuli. This way it is possible to define for each stimulus the data stream that should be sent at its onset. Note that the key list values in the "Control Settings" palette can include expressions containing dependent or independent variables: the expressions are first evaluated, then converted to the specified type before being sent.
Display calibration devices are photo-sensors that are mounted on the surface of the display screen and connected to the computer via a USB interface or some other link. During the calibration process they measure the light properties of test patterns that are displayed on the screen in sequence, and then send the data to the computer. Three types of devices are of interest for display calibration: photometers, colorimeters, and spectroradiometers.
Psykinematix supports in particular the following colorimeter devices:
When a calibration device is selected at any step of the calibration process, information about the device (identity, type and connection status) and its settings are presented in a sliding drawer:
If the requested device is not connected, the drawer appears showing the device icon with an X through it, as illustrated below:
Attempts to perform a calibration without the device being connected will result in an error message.
Psykinematix can video out to standard CRT and LCD displays using the VGA, DVI or DisplayPort connector available on your Macintosh computer. Note that you may need some special adapter to connect to the display (for example a DVI-to-VGA adapter to connect the computer DVI output to a VGA monitor). To learn more about the Pros and Cons of the different display technologies, see the Display, Graphics Card & OpenGL section in the Timing chapter.
Psykinematix also supports some specialized video equipment:
- the Matrox DualHead2Go video splitter to display stereoscopic or dichoptic stimuli in dual-monitor or dual-projector configuration or in dual-input goggles,
- shutter glasses like REALD StereoGraphics CrystalEyes in combination with a 3D graphics card such as the NVIDIA Quadro FX 4800,
- the Bits++ device from Cambridge Research Systems (CRS) which provides 14 bit monochromatic or chromatic outputs (Beta support: User feedback needed!). Note that because Apple driver for NVIDIA graphics cards appears to permanently enable temporal dithering, the Bits++ may not work out of the box if you use Mac OS 10.5 or 10.6 and NVIDIA graphics. For some solution, see CRS's "Knowledge Base > Bits++ Digital Video Processor > How can I make T-Lock work on Mac OS X 10.5 & 10.6 with NVIDIA graphics?" or point 5 of the Psychtoolbox wiki section "BitsPlusPlus Variations in OpenGL Functionality Across Platforms".
See the Default Preferences to configure Psykinematix to use these devices.