#[repr(C)]pub struct ILINKDATA {Show 53 fields
pub time: UINT32,
pub version: UINT32,
pub samrate: UINT16,
pub samdiv: UINT16,
pub prescaler: UINT16,
pub vprescaler: UINT16,
pub pprescaler: UINT16,
pub hprescaler: UINT16,
pub sample_data: UINT16,
pub event_data: UINT16,
pub event_types: UINT16,
pub in_sample_block: byte,
pub in_event_block: byte,
pub have_left_eye: byte,
pub have_right_eye: byte,
pub last_data_gap_types: UINT16,
pub last_data_buffer_type: UINT16,
pub last_data_buffer_size: UINT16,
pub control_read: UINT16,
pub first_in_block: UINT16,
pub last_data_item_time: UINT32,
pub last_data_item_type: UINT16,
pub last_data_item_contents: UINT16,
pub last_data_item: ALL_DATA,
pub block_number: UINT32,
pub block_sample: UINT32,
pub block_event: UINT32,
pub last_resx: UINT16,
pub last_resy: UINT16,
pub last_pupil: [UINT16; 2],
pub last_status: UINT16,
pub queued_samples: UINT16,
pub queued_events: UINT16,
pub queue_size: UINT16,
pub queue_free: UINT16,
pub last_rcve_time: UINT32,
pub samples_on: byte,
pub events_on: byte,
pub packet_flags: UINT16,
pub link_flags: UINT16,
pub state_flags: UINT16,
pub link_dstatus: byte,
pub link_pendcmd: byte,
pub reserved: UINT16,
pub our_name: [c_char; 40],
pub our_address: ELINKADDR,
pub eye_name: [c_char; 40],
pub eye_address: ELINKADDR,
pub ebroadcast_address: ELINKADDR,
pub rbroadcast_address: ELINKADDR,
pub polling_remotes: UINT16,
pub poll_responses: UINT16,
pub nodes: [ELINKNODE; 4],
}Expand description
\brief Class to represent tracker status.
Class to represent tracker status information such as time stamps, flags, tracker addresses and so on.
Fields§
§time: UINT32< time of last control event
version: UINT32< structure version
samrate: UINT16< 10*sample rate (0 if no samples, 1 if nonconstant)
samdiv: UINT16< sample “divisor” (min msec between samples)
prescaler: UINT16< amount to divide gaze x,y,res by
vprescaler: UINT16< amount to divide velocity by
pprescaler: UINT16< pupil prescale (1 if area, greater if diameter)
hprescaler: UINT16< head-distance prescale (to mm)
sample_data: UINT16< 0 if off, else all flags
event_data: UINT16< 0 if off, else all flags
event_types: UINT16< 0 if off, else event-type flags
in_sample_block: byte< set if in block with samples
in_event_block: byte< set if in block with events
have_left_eye: byte< set if any left-eye data expected
have_right_eye: byte< set if any right-eye data expected
last_data_gap_types: UINT16< flags what we lost before last item
last_data_buffer_type: UINT16< buffer-type code
last_data_buffer_size: UINT16< buffer size of last item
control_read: UINT16< set if control event read with last data
first_in_block: UINT16< set if control event started new block
last_data_item_time: UINT32< time field of item
last_data_item_type: UINT16< type: 100=sample, 0=none, else event type
last_data_item_contents: UINT16< content: <read> (IEVENT), <flags> (ISAMPLE)
last_data_item: ALL_DATA< buffer containing last item
block_number: UINT32< block in file
block_sample: UINT32< samples read in block so far
block_event: UINT32< events (excl. control read in block
last_resx: UINT16< updated by samples only
last_resy: UINT16< updated by samples only
last_pupil: [UINT16; 2]< updated by samples only
last_status: UINT16< updated by samples, events
queued_samples: UINT16< number of items in queue
queued_events: UINT16< includes control events
queue_size: UINT16< total queue buffer size
queue_free: UINT16< unused bytes in queue
last_rcve_time: UINT32< time tracker last sent packet
samples_on: byte< data type rcve enable (switch)
events_on: byte§packet_flags: UINT16< status flags from data packet
link_flags: UINT16< status flags from link packet header
state_flags: UINT16< tracker error state flags
link_dstatus: byte< tracker data output state
link_pendcmd: byte< tracker commands pending
reserved: UINT16< 0 for EyeLink I or original EyeLink API DLL. EYELINK II ONLY: MSB set if read crmode<<8 + file_filter<<4 + link_filter crmode = 0 if pupil, else pupil-CR file_filter, link_filter: 0, 1, or 2 for level of heuristic filter applied
our_name: [c_char; 40]< a name for our machine
our_address: ELINKADDR§eye_name: [c_char; 40]< name of tracker connected to
eye_address: ELINKADDR§ebroadcast_address: ELINKADDR< Broadcast address for eye trackers
rbroadcast_address: ELINKADDR< Broadcast address for remotes
polling_remotes: UINT16< 1 if polling remotes, else polling trackers
poll_responses: UINT16< total nodes responding to polling
nodes: [ELINKNODE; 4]< data on nodes