SR Research Support Site
Data Structures | Macros | Typedefs
eye_data.h File Reference

Declaration of complex EyeLink data types and link data structures. More...

Data Structures

struct  ISAMPLE
 Integer sample data. More...
 
struct  FSAMPLE
 Floating-point sample. More...
 
struct  DSAMPLE
 Floating-point sample with floating point time. More...
 
struct  FSAMPLE_RAW
 
struct  IEVENT
 Integer eye-movement events. More...
 
struct  FEVENT
 Floating-point eye event. More...
 
struct  DEVENT
 Floating-point eye event with floating point time. More...
 
struct  IMESSAGE
 Message events: usually text but may contain binary data. More...
 
struct  DMESSAGE
 Message events: usually text but may contain binary data with floating point time. More...
 
struct  IOEVENT
 Button, input, other simple events. More...
 
struct  DIOEVENT
 Button, input, other simple events with floating point time. More...
 
union  ALL_DATA
 
union  ALLF_DATA
 Union of message, io event and float sample and float event. More...
 
union  ALLD_DATA
 Union of message, io event and double sample and double event. More...
 
struct  ELINKNODE
 Name and address for connection. More...
 
struct  ILINKDATA
 Class to represent tracker status. More...
 

Macros

#define SIMTYPESINCL
 
#define MISSING_DATA   -32768
 
#define MISSING   -32768
 
#define INaN   -32768
 
#define LEFT_EYE   0
 
#define RIGHT_EYE   1
 
#define LEFTEYEI   0
 
#define RIGHTEYEI   1
 
#define LEFT   0
 
#define RIGHT   1
 
#define BINOCULAR   2
 
#define FLOAT_TIME(x)   (((double)((x)->time)) + (((x)->type==SAMPLE_TYPE && (x)->flags & SAMPLE_ADD_OFFSET)?0.5:0.0))
 
#define SAMPLE_LEFT   0x8000
 
#define SAMPLE_RIGHT   0x4000
 
#define SAMPLE_TIMESTAMP   0x2000
 
#define SAMPLE_PUPILXY   0x1000
 
#define SAMPLE_HREFXY   0x0800
 
#define SAMPLE_GAZEXY   0x0400
 
#define SAMPLE_GAZERES   0x0200
 
#define SAMPLE_PUPILSIZE   0x0100
 
#define SAMPLE_STATUS   0x0080
 
#define SAMPLE_INPUTS   0x0040
 
#define SAMPLE_BUTTONS   0x0020
 
#define SAMPLE_HEADPOS   0x0010
 
#define SAMPLE_TAGGED   0x0008
 
#define SAMPLE_UTAGGED   0x0004
 
#define SAMPLE_ADD_OFFSET   0x0002
 
#define ISAMPLEDEF
 
#define FSAMPLEDEF   1 /* gaze, resolution prescaling removed */
 
#define DSAMPLEDEF   1 /* gaze, resolution prescaling removed */
 
#define FSAMPLERAWDEF   1 /* gaze, resolution prescaling removed */
 
#define IEVENTDEF
 
#define FEVENTDEF   1
 
#define DEVENTDEF   1
 
#define IMESSAGEDEF
 
#define DMESSAGEDEF
 
#define IOEVENTDEF
 
#define DIOEVENTDEF
 
#define ALLDATADEF
 Union of message, io event and integer sample and integer event.
 
#define EDFDATADEF
 
#define EDFDDATADEF
 
#define SAMPLE_TYPE   200
 
#define STARTPARSE   1 /* these only have time and eye data */
 
#define ENDPARSE   2
 
#define BREAKPARSE   10
 
#define STARTBLINK   3
 
#define ENDBLINK   4
 
#define STARTSACC   5
 
#define ENDSACC   6
 
#define STARTFIX   7
 
#define ENDFIX   8
 
#define FIXUPDATE   9
 
#define STARTSAMPLES   15
 
#define ENDSAMPLES   16
 
#define STARTEVENTS   17
 
#define ENDEVENTS   18
 
#define MESSAGEEVENT   24
 
#define BUTTONEVENT   25
 
#define INPUTEVENT   28
 
#define LOST_DATA_EVENT   0x3F
 
#define ISAMPLE_BUFFER   SAMPLE_TYPE /* old alias */
 
#define IEVENT_BUFFER   66
 
#define IOEVENT_BUFFER   8
 
#define IMESSAGE_BUFFER   250
 
#define CONTROL_BUFFER   36
 
#define ILINKDATA_BUFFER   CONTROL_BUFFER /* old alias */
 
#define READ_ENDTIME   0x0040
 
#define READ_GRES   0x0200
 
#define READ_SIZE   0x0080
 
#define READ_VEL   0x0100
 
#define READ_STATUS   0x2000
 
#define READ_BEG   0x0001
 
#define READ_END   0x0002
 
#define READ_AVG   0x0004
 
#define READ_PUPILXY   0x0400
 
#define READ_HREFXY   0x0800
 
#define READ_GAZEXY   0x1000
 
#define READ_BEGPOS   0x0008
 
#define READ_ENDPOS   0x0010
 
#define READ_AVGPOS   0x0020
 
#define FRIGHTEYE_EVENTS   0x8000
 
#define FLEFTEYE_EVENTS   0x4000
 
#define LEFTEYE_EVENTS   0x8000
 
#define RIGHTEYE_EVENTS   0x4000
 
#define BLINK_EVENTS   0x2000
 
#define FIXATION_EVENTS   0x1000
 
#define FIXUPDATE_EVENTS   0x0800
 
#define SACCADE_EVENTS   0x0400
 
#define MESSAGE_EVENTS   0x0200
 
#define BUTTON_EVENTS   0x0040
 
#define INPUT_EVENTS   0x0020
 
#define EVENT_VELOCITY   0x8000
 
#define EVENT_PUPILSIZE   0x4000
 
#define EVENT_GAZERES   0x2000
 
#define EVENT_STATUS   0x1000
 
#define EVENT_GAZEXY   0x0400
 
#define EVENT_HREFXY   0x0200
 
#define EVENT_PUPILXY   0x0100
 
#define FIX_AVG_ONLY   0x0008
 
#define START_TIME_ONLY   0x0004
 
#define PARSEDBY_GAZE   0x00C0
 
#define PARSEDBY_HREF   0x0080
 
#define PARSEDBY_PUPIL   0x0040
 
#define ILINKDATADEF
 
#define ILINKDATAVERSION   2
 
#define ELNAMESIZE   40
 
#define ELREMBUFSIZE   420
 
#define ELINKADDRSIZE   16
 
#define PUPIL_DIA_FLAG   0x0001
 
#define HAVE_SAMPLES_FLAG   0x0002
 
#define HAVE_EVENTS_FLAG   0x0004
 
#define HAVE_LEFT_FLAG   0x8000
 
#define HAVE_RIGHT_FLAG   0x4000
 
#define DROPPED_SAMPLE   0x8000
 
#define DROPPED_EVENT   0x4000
 
#define DROPPED_CONTROL   0x2000
 
#define DFILE_IS_OPEN   0x80
 
#define DFILE_EVENTS_ON   0x40
 
#define DFILE_SAMPLES_ON   0x20
 
#define DLINK_EVENTS_ON   0x08
 
#define DLINK_SAMPLES_ON   0x04
 
#define DRECORD_ACTIVE   0x01
 
#define COMMAND_FULL_WARN   0x01
 
#define MESSAGE_FULL_WARN   0x02
 
#define LINK_FULL_WARN   0x04
 
#define FULL_WARN   0x0F
 
#define LINK_CONNECTED   0x10
 
#define LINK_BROADCAST   0x20
 
#define LINK_IS_TCPIP   0x40
 
#define LED_TOP_WARNING   0x0080
 
#define LED_BOT_WARNING   0x0040
 
#define LED_LEFT_WARNING   0x0020
 
#define LED_RIGHT_WARNING   0x0010
 
#define HEAD_POSITION_WARNING   0x00F0
 
#define LED_EXTRA_WARNING   0x0008
 
#define LED_MISSING_WARNING   0x0004
 
#define HEAD_VELOCITY_WARNING   0x0001
 
#define CALIBRATION_AREA_WARNING   0x0002
 
#define MATH_ERROR_WARNING   0x2000
 
#define INTERP_SAMPLE_WARNING   0x1000
 
#define INTERP_PUPIL_WARNING   0x8000
 
#define CR_WARNING   0x0F00
 
#define CR_LEFT_WARNING   0x0500
 
#define CR_RIGHT_WARNING   0x0A00
 
#define CR_LOST_WARNING   0x0300
 
#define CR_LOST_LEFT_WARNING   0x0100
 
#define CR_LOST_RIGHT_WARNING   0x0200
 
#define CR_RECOV_WARNING   0x0C00
 
#define CR_RECOV_LEFT_WARNING   0x0400
 
#define CR_RECOV_RIGHT_WARNING   0x0800
 
#define HPOS_TOP_WARNING   0x0080
 
#define HPOS_BOT_WARNING   0x0040
 
#define HPOS_LEFT_WARNING   0x0020
 
#define HPOS_RIGHT_WARNING   0x0010
 
#define HPOS_WARNING   0x00F0
 
#define HPOS_ANGLE_WARNING   0x0008
 
#define HPOS_MISSING_WARNING   0x0004
 
#define HPOS_DISTANCE_WARNING   0x0001
 
#define TFLAG_MISSING   0x4000
 
#define TFLAG_ANGLE   0x2000
 
#define TFLAG_NEAREYE   0x1000
 
#define TFLAG_CLOSE   0x0800
 
#define TFLAG_FAR   0x0400
 
#define TFLAG_T_TSIDE   0x0080
 
#define TFLAG_T_BSIDE   0x0040
 
#define TFLAG_T_LSIDE   0x0020
 
#define TFLAG_T_RSIDE   0x0010
 
#define TFLAG_E_TSIDE   0x0008
 
#define TFLAG_E_BSIDE   0x0004
 
#define TFLAG_E_LSIDE   0x0002
 
#define TFLAG_E_RSIDE   0x0001
 

Typedefs

typedef byte ELINKADDR[ELINKADDRSIZE]
 

Detailed Description

Declaration of complex EyeLink data types and link data structures.

\

Macro Definition Documentation

#define COMMAND_FULL_WARN   0x01

too many commands: pause

#define DFILE_EVENTS_ON   0x40

disk file writing events

#define DFILE_IS_OPEN   0x80

disk file active

#define DFILE_SAMPLES_ON   0x20

disk file writing samples

#define DLINK_EVENTS_ON   0x08

link sending events

#define DLINK_SAMPLES_ON   0x04

link sending samples

#define DRECORD_ACTIVE   0x01

in active recording mode

#define ELINKADDRSIZE   16

Node address (format varies)

#define ELNAMESIZE   40

max. tracker or remote name size

#define ELREMBUFSIZE   420

max. remote-to-remote message size

#define FULL_WARN   0x0F

test mask for any warning

#define HAVE_EVENTS_FLAG   0x0004

set if we have events

#define HAVE_LEFT_FLAG   0x8000

set if we have left-eye data

#define HAVE_RIGHT_FLAG   0x4000

set if we have right-eye data

#define HAVE_SAMPLES_FLAG   0x0002

set if we have samples

#define LINK_BROADCAST   0x20

link is broadcasting

#define LINK_CONNECTED   0x10

link is connected

#define LINK_FULL_WARN   0x04

link, command, or message load

#define LINK_IS_TCPIP   0x40

link is TCP/IP (else packet)

#define MESSAGE_FULL_WARN   0x02

too many messages: pause

#define PUPIL_DIA_FLAG   0x0001

set if pupil is diameter (else area)


Copyright ©2002-2021, SR Research Ltd.