Get Eye Openness Data
clear;
Tobii = EyeTrackingOperations();
eyetracker_address = 'Address of the desired device';
try
    eyetracker = Tobii.get_eyetracker(eyetracker_address);
catch ME
    if (strcmp(ME.identifier,'EyeTrackerGet:error204'))
        fprintf('Unable to connect eye tracker.\n');
        return
    end
end
eyetracker.get_eye_openness_data();
pause(1);
result = eyetracker.get_eye_openness_data();
if isa(result,'StreamError')
    fprintf('Error: %s\n',string(result.Error.value));
    fprintf('Source: %s\n',string(result.Source.value));
    fprintf('SystemTimeStamp: %d\n',result.SystemTimeStamp);
    fprintf('Message: %s\n',result.Message);
elseif isa(result,'EyeOpennessData')
    
    pause(1);
    
    
    
    eye_openness_data = eyetracker.get_eye_openness_data();
    eyetracker.stop_eye_openness_data();
    Left_EyeOpennessStream = 0;
    Right_EyeOpennessStream = 0;
    for i = 1: size (eye_openness_data)
        Right_EyeOpennessStream(i) = eye_openness_data(i).RightEyeOpennessValue;
        Left_EyeOpennessStream(i) = eye_openness_data(i).LeftEyeOpennessValue;
    end
    fprintf('Collected %d data points\n',size(eye_openness_data,1));
    
    
    latest_eye_openness_data = eye_openness_data(end);
    fprintf('SystemRequestTimeStamp: %d\n',latest_eye_openness_data.SystemTimeStamp);
    fprintf('DeviceTimeStamp: %d\n',latest_eye_openness_data.DeviceTimeStamp);
    fprintf('Left eye openness value:  %.2f\n',latest_eye_openness_data.LeftEyeOpennessValue);
    fprintf('Left eye openness validity: %d\n',latest_eye_openness_data.LeftEyeValidity);
    fprintf('Right eye openness value:  %.2f\n',latest_eye_openness_data.RightEyeOpennessValue);
    fprintf('Right eye openness validity: %d\n',latest_eye_openness_data.RightEyeValidity);
end