When just getting started with the SDK you may skip this section for now and come back when done playing. |
The state diagram below depicts the operating modes the eye-tracker can be in and shows how to get from one mode to another.
See EyeVecTrackerMode for a quick description of each mode.
Off mode
When the eye-tracker is in off mode it simply means the device is not open, so the application can’t communicate with it.
Calling eyevec_open() will on success cause the eye-tracker to enter idle mode.
Idle mode
In idle mode the eye-tracker is open but not capturing any images. This mode enables changing those settings that can’t be changed while the eye-tracker is busy capturing images. This concerns frame-rate, num-frames-average, base-gain, base-gamma, duty-cycle, illuminator-mode and all physical setup settings.
To enter setup mode or data mode call eyevec_enter_setup_mode() resp. eyevec_enter_data_mode(). Calling eyevec_close() will cause the eye-tracker to go back to off mode.
Setup mode
In setup mode the eye-tracker is capturing images. This is basically the mode the eye-tracker is in when the eyevec-control application shows the camera page. In this mode you can check if the participant’s eyes are properly detected and then run the baseline, calibration and validation procedures via the user-interface.
To enter data mode or idle mode call eyevec_enter_data_mode() resp. eyevec_enter_idle_mode().
Data mode
In data mode the eye-tracker is ready to deliver eye-tracking data to your application and/or to an EyeVec data file. In this mode a drift-check can be started by calling eyevec_start_drift_check() and data recording can be started by calling eyevec_start_recording().
To enter setup mode or idle mode call eyevec_enter_setup_mode() resp. eyevec_enter_idle_mode().
As can be seen in the state diagram it’s possible to enter the setup mode from the drift-check mode. This situation happens if the drift-check yields a too large error (according to settings) or otherwise fails.
Mode change handling
Your application should always handle eye-tracker mode change events, so it knows what the eye-tracker is doing and adapt accordingly if necessary.