09-09-2020, 03:56 PM
This article provides a guide on how to set up an EyeLink Host PC to accept TTL (Transistor-Transistor Logic) signals from another device.
Hardware Setup:
Host PC Configurations:
Once the hardware is properly configured to register input, you need to add specific commands to the FINAL.INI file on the Host PC to define which register the incoming data will be arriving at (see this post on How parallel port signaling works for more information about how parallel port communication works).
The commands below are an example of the commonly used commands to define the input registers. You will need to modify the base address of for each command based on your target input device.
To test that the pulses are being received start the EyeLink application and go to the Offline screen (click on the Offline button from the Camera Setup screen). When the pulses are received, the corresponding button numbers will appear at the bottom-right corner of the Host PC monitor.
Note, if the pulses does not need to be associated with button events, then omit the lines that begin with "create_button" in the FINAL.INI file.
*The FINAL.INI file is in the /ELCL/EXE/ folder in the EyeLink partition on the Host PC. The FINAL.INI file can be edited via the file manager software (EyeLink 1000 Plus and EyeLink Portable Duo) or boot the Host PC to Windows (EyeLink II and EyeLink 1000) and edit the file there (the EyeLink partition shows up as another drive when booted to Windows).
Hardware Setup:
- For Desktop EyeLink Host PCs: No additional hardware is needed.
- For laptop EyeLink Host PCs: You will need one of the following devices to receive TTL signals:
- All laptop models: A LabHackers USB2TTL8 device.
- Dell M4700 or Dell M4800 only: An ExpressCard IEEE 1284 Parallel Card.
- All laptop models: A LabHackers USB2TTL8 device.
Host PC Configurations:
- EyeLink 1000 Plus, EyeLink Portable Duo, and EyeLink 3:
- Exit the host software by pressing CTL+ALT+Q to get to the file manager.
- Enter the configurations page by clicking the gear icon in the top left corner.
- Click the Devices Icon (3rd button from the left).
- Enable Digital I/O options for the parallel port device:
- For built in parallel ports on Desktop Host PCs: make sure that the PARALLEL_PORT device has DIGITIAL_IN and DIGITAL_OUT are enabled
- For Digital I/O ports on the EyeLink Analog Card: make sure the DIGITIAL_IN and DIGITAL_OUT are enabled for the make/model of Analog device (e.g PCI_ANALOG_CARD or AO_1608L_LPE).
- For LabHackers USB2TTL8: enable DIGITIAL_IN or DIGITAL_OUT (you can only have one mode enabled at a time).
- For built in parallel ports on Desktop Host PCs: make sure that the PARALLEL_PORT device has DIGITIAL_IN and DIGITAL_OUT are enabled
- Note the base address (e.g 0x8) for your input device.
- Click Save.
- Restart the computer for these changes to take effect.
- Exit the host software by pressing CTL+ALT+Q to get to the file manager.
- EyeLink 1000 and EyeLink II:
The input and output channels for these devices will be automatically enabled with the base address of the parallel port starting at 0x378.- Note: USB input devices are not supported for these models
- Note: USB input devices are not supported for these models
Once the hardware is properly configured to register input, you need to add specific commands to the FINAL.INI file on the Host PC to define which register the incoming data will be arriving at (see this post on How parallel port signaling works for more information about how parallel port communication works).
The commands below are an example of the commonly used commands to define the input registers. You will need to modify the base address of for each command based on your target input device.
- DATA Register
- EyeLink 1000 Plus & EyeLink Portable Duo Desktop Host PCs:
Code:write_ioport 0xA 0x20
input_data_ports = 8
input_data_masks = 0xFF
create_button 1 8 0x01 0
create_button 2 8 0x02 0
create_button 3 8 0x04 0
create_button 4 8 0x08 0
create_button 5 8 0x10 0
create_button 6 8 0x20 0
create_button 7 8 0x40 0
create_button 8 8 0x80 0
- EyeLink II and EyeLink 1000 Host PCs:
Code:write_ioport 0x37A 0x20
input_data_ports = 0x378
input_data_masks = 0xFF
create_button 1 0x378 0x01 0
create_button 2 0x378 0x02 0
create_button 3 0x378 0x04 0
create_button 4 0x378 0x08 0
create_button 5 0x378 0x10 0
create_button 6 0x378 0x20 0
create_button 7 0x378 0x40 0
create_button 8 0x378 0x80 0
- EyeLink 1000 Plus & EyeLink Portable Duo Desktop Host PCs:
- STATUS Register
- EyeLink 1000 Plus & EyeLink Portable Duo Desktop Host PCs:
Code:write_ioport 0xA 0x0
input_data_ports = 9
input_data_masks = 0xFF
create_button 1 9 0x20 1
create_button 2 9 0x40 1
create_button 3 9 0x08 1
create_button 4 9 0x10 1
create_button 5 9 0x80 0
- EyeLink II and EyeLink 1000 Host PCs:
Code:write_ioport 0x37A 0x0
input_data_ports = 0x379
input_data_masks = 0xFF
create_button 1 0x379 0x20 1
create_button 2 0x379 0x40 1
create_button 3 0x379 0x08 1
create_button 4 0x379 0x10 1
create_button 5 0x379 0x80 0
- EyeLink 1000 Plus & EyeLink Portable Duo Desktop Host PCs:
To test that the pulses are being received start the EyeLink application and go to the Offline screen (click on the Offline button from the Camera Setup screen). When the pulses are received, the corresponding button numbers will appear at the bottom-right corner of the Host PC monitor.
Note, if the pulses does not need to be associated with button events, then omit the lines that begin with "create_button" in the FINAL.INI file.
*The FINAL.INI file is in the /ELCL/EXE/ folder in the EyeLink partition on the Host PC. The FINAL.INI file can be edited via the file manager software (EyeLink 1000 Plus and EyeLink Portable Duo) or boot the Host PC to Windows (EyeLink II and EyeLink 1000) and edit the file there (the EyeLink partition shows up as another drive when booted to Windows).