public EyeNavData(EyeTrackingDeviceStatus state, int timestamp, double x, double y) { this.state = getMappedState(state); this.timestamp = timestamp; this.x = x; this.y = y; }
void DeviceStatusHandler(object sender, EngineStateValue <EyeTrackingDeviceStatus> e) { _dispatcher.Invoke(() => { _deviceStatus = GetDeviceStatus(e); _semaphore.Release(); }); }
void StartStatusListening() { _semaphore = new SemaphoreSlim(0); // Get initial status values. _deviceStatus = GetDeviceStatus(_eyeXHost.EyeTrackingDeviceStatus); _configurationStatus = GetConfigurationStatus(_eyeXHost.ConfigurationStatus); // Start listening for changes. _eyeXHost.EyeTrackingDeviceStatusChanged += DeviceStatusHandler; _eyeXHost.ConfigurationStatusChanged += ConfigurationStatusHandler; }
static bool IsSuccessDeviceStatus(EyeTrackingDeviceStatus status) { switch (status) { case EyeTrackingDeviceStatus.Initializing: case EyeTrackingDeviceStatus.Configuring: case EyeTrackingDeviceStatus.Tracking: case EyeTrackingDeviceStatus.TrackingPaused: return(true); default: return(false); } }
private int getMappedState(EyeTrackingDeviceStatus tobiiState) { switch (tobiiState) { case EyeTrackingDeviceStatus.Tracking: return(1); case EyeTrackingDeviceStatus.TrackingPaused: case EyeTrackingDeviceStatus.TrackingUnavailable: return(2); default: return(10); } }
static bool IsStableDeviceStatus(EyeTrackingDeviceStatus status) { return(IsSuccessDeviceStatus(status) || IsFailedDeviceStatus(status)); }
static bool IsFailedDeviceStatus(EyeTrackingDeviceStatus status) { return(status == EyeTrackingDeviceStatus.DeviceNotConnected); }