[][src]Function libeyelink_sys::eyelink_get_next_data

pub unsafe extern "C" fn eyelink_get_next_data(buf: *mut c_void) -> INT16

@ingroup messaging Fetches next data item from link buffer. Usually called with \c <buf> = \c NULL, and returns the data item type. If the item is not wanted, simply ignore it. Otherwise, call \c eyelink_get_float_data() to read it into a buffer.

@param buf If \c NULL, saves data, else copies integer data into buffer. @return \c 0 if no data, \c SAMPLE_TYPE if sample, else event type.

\b Example:

\code

#include 

ALLF_DATA evt;        // buffer to hold sample and event data
int eye_used = -1;    // indicates which eye's data to display
int i;

eye_used = eyelink_eye_available();

switch(eye_used)
{
case RIGHT_EYE:
eyemsg_printf("EYE_USED 1 RIGHT");
break;
case BINOCULAR:   // both eye's data present: use left eye only
eye_used = LEFT_EYE;
case LEFT_EYE:
eyemsg_printf("EYE_USED 0 LEFT");
break;
}
while(1)
{
i = eyelink_get_next_data(NULL);
if(i == FIXUPDATE)
{
eyelink_get_float_data(&evt);
if(evt.fe.eye == eye_used)
{
eyemsg_printf("Fixupdate: avg_x %8.2f, y %8.2f, dur %d",
evt.fe.gavx, evt.fe.gavy, evt.fe.entime-evt.fe.sttime);
}
}
...
}
\endcode

\b Output:

\code
MSG	30244970 Fixupdate: avg_x   863.10, y   244.10, dur 48
MSG	30245018 Fixupdate: avg_x   863.10, y   245.60, dur 48
MSG	30245070 Fixupdate: avg_x   863.10, y   247.30, dur 48
\endcode

\sa \c eyelink_get_float_data(), \c eyelink_get_last_data(), \c eyelink_newest_float_sample() and \c eyelink_newest_sample()