Get External Signal 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
if ismember(EyeTrackerCapabilities.HasExternalSignal,eyetracker.DeviceCapabilities)
disp('External Signal Supported');
else
disp('External Signal Not Supported');
end
eyetracker.get_external_signal_data();
pause(1);
result = eyetracker.get_external_signal_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,'ExternalSignal')
pause(1);
external_signal_data = eyetracker.get_external_signal_data();
eyetracker.stop_external_signal_data();
fprintf('Collected %d data points\n',size(external_signal_data,2));
latest_external_signal_data = external_signal_data(end);
fprintf('SystemTimeStamp: %d\n',latest_external_signal_data.SystemTimeStamp);
fprintf('DeviceTimeStamp: %d\n',latest_external_signal_data.DeviceTimeStamp);
fprintf('Value: %d\n',latest_external_signal_data.Value);
fprintf('ChangeType: %s\n',string(latest_external_signal_data.ChangeType.value));
end