I have the following code being called from an external class: (I realize there is deprecated code, but this should not affect the calibration process, should it?)
- Code: Select all
class EyeTribe : IGazeListener
...
// Toggle calibration mode
public void Calibrate ()
{
// Test for connection
if (!GazeManager.Instance.IsConnected)
{ return; }
// Start calibration routine
if (!GazeManager.Instance.IsCalibrated &&
!GazeManager.Instance.IsCalibrating)
{
GazeManager.Instance.CalibrationStart(Config.CalibrationPoints, null);
}
}
// Perform calibration for point
public void Calibrate (Point Location)
{
// Test for connection
if (!GazeManager.Instance.IsConnected ||
!GazeManager.Instance.IsCalibrating)
{ return; }
// Perform calibration for point
GazeManager.Instance.CalibrationPointStart(Location.X, Location.Y);
Thread.Sleep(Config.CalibrationPause);
GazeManager.Instance.CalibrationPointEnd();
}
The class calling these functions is set up to be able to generically handle various eye trackers, and it does so--except with the EyeTribe. These functions seem to not actually calibrate the device. The first problem is that the check to "Start calibration routine" fails, because "IsCalibrated" is apparently true, even though the device should not yet be calibrated. If I ignore that check, it runs through the calibration process fine, until the results come back--and they are always the same.
Thank you in advance for your help; I have been struggling with this for a while, but I am sure the problem is not too difficult to solve.