Skip to content

Cannot reliably find Spectrum Pro #72

@iandol

Description

@iandol

Hi Dee, I am finally back to doing Tobii stuff, and should be doing lab stuff over the next week. I was trying to set up to test the new advanced calibration, but I can't connect to the Spectrum! ETM works and connects, but Titta is not finding the Spectrum:

>> clear all
>> settings = Titta.getDefaults('Tobii Pro Spectrum');
>> settings.debugMode=true;
>> t = Titta(settings)
>> t.init
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Error using Titta/init
Titta: No eye trackers of model 'Tobii Pro Spectrum' connected
No eye trackers connected. 

Interestingly, the MATLAB Pro SDK also fails:

>> e=EyeTrackingOperations;
>> e.find_all_eyetrackers()
ans =
     []

BUT Python SDK does work:

>>> import tobii_research as tr
>>> e=tr.find_all_eyetrackers()
>>> e[0].model
'Tobii Pro Spectrum'
>>> e[0].address
'tet-tcp://169.254.7.39'

Passing Address

So although the MATLAB SDK cannot find the Spectrum, if I pass the address found from Python then it can find the Spectrum:

>> clear all
>> e=EyeTrackingOperations;
>> e.find_all_eyetrackers()
ans =
     []
>> e.get_eyetracker('tet-tcp://169.254.7.39')
ans = 
  EyeTracker with properties:

                  Name: 'TPSP1-010109521381'
          SerialNumber: 'TPSP1-010109521381'
                 Model: 'Tobii Pro Spectrum'
       FirmwareVersion: '2.9.0-oculus-0'
        RuntimeVersion: 'Legacy TTP (4.24.0/33)'
               Address: 'tet-tcp://169.254.7.39'
    DeviceCapabilities: [1 2 4 8 32 256 512]

BUT Titta does not accept an address at initialisation. I tried to pass the serial number but no luck:

>> settings = Titta.getDefaults('Tobii Pro Spectrum');
>> settings.serialNumber='TPSP1-010109521381'
settings = 
  struct with fields:

             tracker: 'Tobii Pro Spectrum'
        trackingMode: 'human'
                freq: 600
        calibrateEye: 'both'
        serialNumber: 'TPSP1-010109521381'
         licenseFile: ''
       nTryReConnect: 3
    connectRetryWait: [1 2]
                  UI: [1×1 struct]
                 cal: [1×1 struct]
                 val: [1×1 struct]
              advcal: [1×1 struct]
           debugMode: 0
>> t=Titta(settings)
t = 
  Titta with properties:

                    geom: []
        calibrateHistory: []
                  buffer: []
              deviceName: []
            serialNumber: []
                   model: []
         firmwareVersion: []
          runtimeVersion: []
                 address: []
            capabilities: []
    supportedFrequencies: []
          supportedModes: []
              systemInfo: []
               frequency: []
            trackingMode: []
>> t.init()
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Warning: Titta: No eye trackers of model 'Tobii Pro Spectrum' connected 
> In Titta/init (line 540) 
Error using Titta/init
Titta: No eye trackers of model 'Tobii Pro Spectrum' connected
No eye trackers connected. 

So, I suspect there is a new SDK Linux bug with mDNS/Avahi that affects discovery for C and MATLAB (but not Python), which is annoying, but the workaround (using an address to find the ET), is not available in Titta. It would be good if we could pass an address, it may help this case?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions