Tobii Pro SDK C API
eye_openness_data.c
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#if _WIN32 || _WIN64
#include <windows.h>
static void sleep_ms(int time) {
Sleep(time);
}
#else
#include <unistd.h>
static void sleep_ms(int time) {
usleep(time * 1000);
}
#endif
void eye_openness_callback(TobiiResearchEyeOpennessData* gaze_data, void* user_data) {
memcpy(user_data, gaze_data, sizeof(*gaze_data));
}
void eye_openness_example(TobiiResearchEyeTracker* eyetracker) {
char* serial_number = NULL;
tobii_research_get_serial_number(eyetracker, &serial_number);
TobiiResearchStatus status = tobii_research_subscribe_to_eye_openness(eyetracker, &eye_openness_callback, &gaze_data);
/* Wait while some eye openness data is collected. */
sleep_ms(2000);
if (status != TOBII_RESEARCH_STATUS_OK) {
printf("Failed subscribing to eye openess with error:%d\n", (int)status);
return;
}
status = tobii_research_unsubscribe_from_eye_openness(eyetracker, &eye_openness_callback);
if (status != TOBII_RESEARCH_STATUS_OK) {
printf("Failed unsubscribing to eye openess with error:%d\n", (int)status);
return;
}
printf(
"Eye openness example data \n"
"System timestamp: %"PRId64"\n"
"Tracker timestamp: %"PRId64"\n"
"left validity: \t%d\n"
"right validity: %d\n"
"left value: \t%.0f \tmm\n"
"right value: \t%.0f \tmm\n",
gaze_data.system_time_stamp, gaze_data.device_time_stamp,
gaze_data.left_eye_validity, gaze_data.right_eye_validity,
);
/* Wait while some eye openness data is collected. */
sleep_ms(2000);
}
tobii_research_subscribe_to_eye_openness
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_subscribe_to_eye_openness(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_openness_data_callback callback, void *user_data)
Subscribes to eye openness for the eye tracker.
TobiiResearchEyeOpennessData::left_eye_validity
TobiiResearchValidity left_eye_validity
Definition: tobii_research_streams.h:1021
tobii_research_get_serial_number
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_get_serial_number(TobiiResearchEyeTracker *eyetracker, char **serial_number)
Gets the serial number of the eye tracker. All physical eye trackers have a unique serial number.
TobiiResearchEyeOpennessData::left_eye_openness_value
float left_eye_openness_value
Definition: tobii_research_streams.h:1026
tobii_research_eyetracker.h
Functionality for an eye tracker.
tobii_research_streams.h
Functionality for eye tracker streams.
TobiiResearchEyeTracker
struct TobiiResearchEyeTracker TobiiResearchEyeTracker
Definition: tobii_research.h:315
TobiiResearchEyeOpennessData::right_eye_validity
TobiiResearchValidity right_eye_validity
Definition: tobii_research_streams.h:1031
TobiiResearchEyeOpennessData::right_eye_openness_value
float right_eye_openness_value
Definition: tobii_research_streams.h:1036
TOBII_RESEARCH_STATUS_OK
@ TOBII_RESEARCH_STATUS_OK
Definition: tobii_research.h:49
tobii_research_unsubscribe_from_eye_openness
TOBII_RESEARCH_API TobiiResearchStatus TOBII_RESEARCH_CALL tobii_research_unsubscribe_from_eye_openness(TobiiResearchEyeTracker *eyetracker, tobii_research_eye_openness_data_callback callback)
Unsubscribes from eye openness for the eye tracker.
TobiiResearchEyeOpennessData::device_time_stamp
int64_t device_time_stamp
Definition: tobii_research_streams.h:1011
TobiiResearchEyeOpennessData
Definition: tobii_research_streams.h:1007
TobiiResearchStatus
TobiiResearchStatus
Definition: tobii_research.h:45
TobiiResearchEyeOpennessData::system_time_stamp
int64_t system_time_stamp
Definition: tobii_research_streams.h:1016