private static void EyetrackerFound(object sender, EyetrackerInfoEventArgs e)
{
EyetrackerConnector connector = new EyetrackerConnector(e.EyetrackerInfo);
connector.Connect();
// sync CPU and Eyetracker clocks
SyncManager syncManager = new SyncManager(clock, e.EyetrackerInfo, EventThreadingOptions.BackgroundThread);
// detect fixations
FixationDetector fixations = new FixationDetector(syncManager);
connector.Eyetracker.GazeDataReceived += fixations.GazeDataReceived;
if (Settings.ProcessorDefinitions.ContainsKey(connector.Info.ProductId))
{
foreach (EmdatProcessorSettings settings in Settings.ProcessorDefinitions[connector.Info.ProductId])
{
EmdatProcessor processor = new EmdatProcessor(syncManager);
processor.CumulativeData = settings.Cumulative;
connector.Eyetracker.GazeDataReceived += processor.GazeDataReceived;
fixations.FixDetector.FixationEnd += processor.FixationEnd;
Processors.Add(settings.ProcessorId, processor);
}
}
}