コード例 #1
0
        public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
        {
            if (labelDeviceConnected.Dispatcher.Thread != Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(new MethodInvoker(() => OnTrackerStateChanged(trackerState)));
                return;
            }

            gridContent.Visibility = Visibility.Hidden;

            switch (trackerState)
            {
            case GazeManager.TrackerState.TRACKER_CONNECTED:
                labelDeviceConnected.Content = "";
                gridContent.Visibility       = Visibility.Visible;
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
                labelDeviceConnected.Content = "Device connected to a USB2.0 port";
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
                labelDeviceConnected.Content = "A firmware updated is required.";
                break;

            case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
                labelDeviceConnected.Content = "Device not connected.";
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
                labelDeviceConnected.Content = "No data coming out of the sensor.";
                break;
            }
        }
コード例 #2
0
    private static void CheckTrackerState(GazeManager.TrackerState trackerState)
    {
        string errorMessage = "";

        switch (GazeManager.Instance.Trackerstate)
        {
        case GazeManager.TrackerState.TRACKER_CONNECTED:
            //trackeStateOK = true;
            break;

        case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
            errorMessage = "Device connected to a USB2.0 port";
            break;

        case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
            // TODO rgtaylor 2015-05-26 Temporarily disabled since the eye tracker
            // is complaining about an older firmware.
            //errorMessage = "A firmware updated is required.";
            break;

        case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
            errorMessage = "Device not connected.";
            break;

        case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
            errorMessage = "No data coming out of the sensor.";
            break;
        }

        if (!string.IsNullOrEmpty(errorMessage))
        {
            throw new Exception(errorMessage);
        }
    }
コード例 #3
0
        public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
        {
            switch (trackerState)
            {
            case GazeManager.TrackerState.TRACKER_CONNECTED:
                Debug.WriteLine("TRACKER_CONNECTED");
                sysMessage("Eye Tracker has been connected.");
                if (PeriodicTimer != null)
                {
                    PeriodicTimer.Cancel();

                    PeriodicTimer = null;
                }
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
                Debug.WriteLine("TRACKER_CONNECTED_NOUSB3");
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
                Debug.WriteLine("TRACKER_CONNECTED_BADFW");
                break;

            case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
                Debug.WriteLine("TRACKER_NOT_CONNECTED");
                sysMessage("Eye Tracker has been disconnected.");
                PeriodicTimer = ThreadPoolTimer.CreatePeriodicTimer(TimerElapsedHandler,
                                                                    TimeSpan.FromMilliseconds(timer_duration));
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
                Debug.WriteLine("TRACKER_CONNECTED_NOSTREAM");
                break;
            }
        }
コード例 #4
0
        public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
        {
            trackeStateOK = false;
            string errorMessage = "";

            switch (trackerState)
            {
                case GazeManager.TrackerState.TRACKER_CONNECTED:
                    trackeStateOK = true;
                    break;
                case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
                    errorMessage = "Device connected to a USB2.0 port";
                    break;
                case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
                    errorMessage = "A firmware updated is required.";
                    break;
                case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
                    errorMessage = "Device not connected.";
                    break;
                case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
                    errorMessage = "No data coming out of the sensor.";
                    break;
            }

            if (trackeStateOK || isAborting)
                return;

            if (trackeStateOK == false)
            {
                // Lost device, abort calib now (raise event)
                AbortCalibration(errorMessage);
            }
        }
コード例 #5
0
ファイル: CalibrationUI.cs プロジェクト: oliwer94/TheEyeSpace
 public void OnTrackerStateChange(GazeManager.TrackerState trackerState)
 {
     lock (_UpdateLock)
     {
         ResetUiState();
         UpdateGUIState();
     }
 }
コード例 #6
0
 public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
 {
     _Dispatcher.Dispatch(() =>
     {
         if (OnTrackerStateChange != null)
         {
             OnTrackerStateChange(trackerState);
         }
     });
 }
コード例 #7
0
 public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
 {
     try
     {
         CheckTrackerState(trackerState);
     }
     catch (Exception e)
     {
         DispatchResult(CalibrationRunnerResult.Error, e.Message);
     }
 }
コード例 #8
0
            public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
            {
                if (!hasRecievedTrackerStateChange)
                {
                    hasRecievedTrackerStateChange = !hasRecievedTrackerStateChange;
                }

                if (GazeManager.DebugMode)
                {
                    Debug.WriteLine("Thread: " + Thread.CurrentThread.Name + ", onTrackerStateChanged: " + trackerState);
                }
            }
コード例 #9
0
        public void OnTrackerStateChange(GazeManager.TrackerState trackerState)
        {
            switch (trackerState)
            {
            case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
                _StateNotifyer.ShowState("Tracker Disconnected");
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
                _StateNotifyer.ShowState("Tracker Connected - Bad Firmware Detected");
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
                _StateNotifyer.ShowState("Tracker Connected - No USB3 Detected");
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
                _StateNotifyer.ShowState("Tracker Connected - No Image Stream Detected");
                break;
            }
        }
コード例 #10
0
        public void OnTrackerStateChanged(GazeManager.TrackerState trackerState)
        {
            trackerStateOK = false;
            string errorMessage = string.Empty;

            switch (trackerState)
            {
            case GazeManager.TrackerState.TRACKER_CONNECTED:
                trackerStateOK = true;
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOUSB3:
                errorMessage = "Device connected to a USB2.0 port";
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_BADFW:
                errorMessage = "A firmware updated is required.";
                break;

            case GazeManager.TrackerState.TRACKER_NOT_CONNECTED:
                errorMessage = "Device not connected.";
                break;

            case GazeManager.TrackerState.TRACKER_CONNECTED_NOSTREAM:
                errorMessage = "No data coming out of the sensor.";
                break;
            }

            // All good
            if (trackerStateOK || isAborting)
            {
                return;
            }

            // Invalid connection/device state, abort calibration and notify user
            if (trackerStateOK == false)
            {
                AbortCalibration(errorMessage);
            }
        }