OK - the goal here is to make your DirectRT / MediaLab computer communicate properly with your EyeTracker system. Since there are a plethora of different systems out there, my instructions here will be fairly general. However, they should get you pointed in the right direction. If you have any questions, feel free to reply to this message, or send me an email at 'sales AT empirisoft.com'
- - -
Most folks who do eye tracking actually have two computers set up. One runs MediaLab or DirectRT and the other runs the eyetracking software. It's probably possible to run both programs on the same computer, but it may cause more problems than it's worth.
We're also assuming that you want to show a picture or question on the MediaLab computer and then begin to capture data on the eyetracker system.
So all we need to do is tell the eyetracker system to start and stop recording at the appropriate times.
I'm guessing that your general experiment looks something like this:
1. Show a picture or question
2. Send a 'start' signal through the parallel port
3. Wait for your subject to respond or react
4. Send a 'stop' signal to tell the eyetracker to end data collection
5. Rinse and repeat
Everything OK so far?
Your eyetracker system probably comes with an external hardware box, which contains connections for your camera, the computer, etc. There should also be a port which can send and receive TTL logic signals. On the systems I'm most familiar with, this port has 25 pins and is D-shaped, similar to an old-style parallel printer port.
You can check the documentation that comes with your eyetracker system for more details.
Fortunately, both DirectRT and MediaLab can communicate with the outside world through your computer's parallel port. This port contains, among other things, 8 wires which can be toggled on and off.
If one of these wires is connected between the MediaLab computer and the Eyetracker computer, we can send stop and go signals back and forth.
Check your documentation for best results, but I *think* you can go to the campus bookstore and buy a regular 25 pin parallel cable (check the computer section) and be in business.
Don't start connecting random cables between your eyetracker system and your MediaLab computer without first checking with the proper user's manuals. We're NOT responsible any explosion which may occur.
Then, you'll need to program MediaLab or DirectRT to send out a TTL signal at the appropriate time.
For MediaLab, see page 85 in the manual:
For DirectRT, see page 33 of the manual.<value:location:duration>
For example, say you present an image item for 5 seconds and at its onset you want to send a signal of 255 to port 888 for 10ms. To present it for 5 seconds, you would use parameter value of (d5). To add the TTL signal at its onset, you would add: (d5,<255:888:10>)
* * *
In any case, the parallel port is 8 bits wide, which means that it can have 256 possible values assigned to it.
The bits are assigned like this:
D7 D6 D5 D4 D3 D2 D1 D0
which correspond to decimal values
128 64 32 16 87 4 2 1
If you want to activate only the DO line, you'd send the decimal value '1' to the parallel port.
00000001
If you want to activate D1, you'd send decimal '2'.
00000010
D4 corresponds to decimal 16
00010000
and D7 is 128
10000000.
You can also add bits together. 7 looks like this
00000111.
Etc.
Remember, there 10 types of people in the world - those who understand binary and those who don't.
Then, you just need to program your eyetracker software to start and stop recording when the proper TTL signals are received.
So to follow the template given above, your experiment file could look something like this:
1. Show a picture or question
2. Send a 'start' signal through the parallel port. Program the eyetracker software to accept a 'start' signal on wire D0. This wire will normally 'live' at 0 volts, but will pulse to +5V for 10 mS before returning to zero.
(d5,<1:888:10>)
3. Wait for your subject to respond or react
4. Send a 'stop' signal to tell the eyetracker to end data collection. Program the eyetracker to accept a stop signal on wire D1.
(d5,<2:888:10>)
5. Rinse and repeat
Does this help at all?
- John