Jump to content

Eye Tracking SDK for _C (Expression)

Recommended Posts

Hello, I want to get the expression data, but it doesn't work.

At present, I only test Left eye_wide and find that result2 = -2 (NOT_INITIAL), so I initialize the ANIPAL_TYPE_EYE_V2.

Although error = 0, the value of result2 is always be -2. May I ask what steps have I missed?

Also, what does the value of Left eye wide = -2147483648 mean? I think I didn't get the eye wide of my left eye.

Thank you.





@Daniel_Y @Corvus

Link to comment
Share on other sites

Hi Nikki:

If you want to initial Eye V2 engine:

1. Please do not modify any header file we provide. E.g. in SRanipal_Eye.h,  the following line should be:

const int ANIPAL_TYPE_EYE_V2 = 2;


2. You need a separate flag to check if eye v2 is enabled, e.g.,

int error = ViveSR::anipal::Initial(ViveSR::anipal::Eye::ANIPAL_TYPE_EYE_V2, NULL);
if (error == ViveSR::Error::WORK) {
                EnableEyeV2 = true;


Then in the function void streaming(), you need separate code to handle eye v2 data, e.g.,

 if (EnableEyeV2) {
            int result = ViveSR::anipal::Eye::GetEyeData_v2(&eye_data_v2);
            if (result == ViveSR::Error::WORK) {
                float *gaze = eye_data_v2.verbose_data.left.gaze_direction_normalized.elem_;
                printf("[Eye v2] Wide: %.2f %.2f \n", eye_data_v2.expression_data.left.eye_wide, eye_data_v2.expression_data.right.eye_wide);

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...