Get User Position Guide

Tobii = EyeTrackingOperations();

eyetracker_address = 'Address of the desired device';
% Example:
% eyetracker_address = 'tet-tcp://172.28.195.1';

eyetracker = Tobii.get_eyetracker(eyetracker_address);

% The first call subscribes to the stream and returns either data
% (might be empty if no data has been received yet) or any error that
% happened during the subscription.
result = eyetracker.get_user_position_guide();

if isa(result,'StreamError')
    fprintf('Error: %s\n',char(result.Error));
    fprintf('Source: %s\n',char(result.Source));
    fprintf('SystemTimeStamp: %d\n',result.SystemTimeStamp);
    fprintf('Message: %s\n',result.Message);

elseif isa(result,'UserPositionGuide')

    % Collect data for 1 seconds.
    pause(1);

    % The subsequent calls return the current values in the stream buffer.
    % If a flat structure is prefered just use an extra input 'flat'.
    % i.e. user_position_guide = eyetracker.get_user_position_guide('flat');
    user_position_guide = eyetracker.get_user_position_guide();

    eyetracker.stop_user_position_guide();

    disp('Left Eye');

    fprintf('UserPositionGuide.Position: %.2f %.2f %.2f\n',user_position_guide.LeftEye.Position);
    fprintf('UserPositionGuide.Validity: %s\n',char(user_position_guide.LeftEye.Validity));

    disp('Right Eye');

    fprintf('UserPositionGuide.Position: %.2f %.2f %.2f\n',user_position_guide.RightEye.Position);
    fprintf('UserPositionGuide.Validity: %s\n',char(user_position_guide.RightEye.Validity));
end