[−][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 #includeALLF_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()