Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SmartGaze fails to control the eyetribe on OS X #4

Open
kcleung opened this issue Jan 3, 2017 · 4 comments
Open

SmartGaze fails to control the eyetribe on OS X #4

kcleung opened this issue Jan 3, 2017 · 4 comments

Comments

@kcleung
Copy link

kcleung commented Jan 3, 2017

I am using OS X 10.11 on a 15" Macbook Pro late 2013. I have compiled eyetribe using the instructions in README.md:

OSX or Linux with Make

The executable is bin/SmartGaze, not bib/eyeLike

I have connected the eyetribe to the USB3 port, then run bin/SmartGaze:

wifi-staff-172-24-60-96:bin abc$ ./SmartGaze
UVC initialized
Device found
Device opened
DEVICE CONFIGURATION (29ab:00fb/0000000001) ---
Status: idle
VideoControl:
bcdUVC: 0x0100
VideoStreaming(1):
bEndpointAddress: 131
Formats:
UncompressedFormat(1)
bits per pixel: 16
GUID: 5955593200001000800000aa00389b71
default frame: 1
aspect ration: 16x9
interlace flags: 00
copy protect: 00
FrameDescriptor(1)
capabilities: 03
size: 1152x1536
bit rate: 35389440-35389440
max frame size: 7077888
default interval: 1/27
interval[0]: 1/27
FrameDescriptor(2)
capabilities: 03
size: 1036x1536
bit rate: 95477760-95477760
max frame size: 3182592
default interval: 1/30
interval[0]: 1/30
FrameDescriptor(3)
capabilities: 03
size: 768x1024
bit rate: 94371840-94371840
max frame size: 1572864
default interval: 1/60
interval[0]: 1/60
FrameDescriptor(4)
capabilities: 03
size: 768x1536
bit rate: 99090432-99090432
max frame size: 2359296
default interval: 1/42
interval[0]: 1/42
FrameDescriptor(5)
capabilities: 03
size: 2304x1536
bit rate: 191102976-191102976
max frame size: 7077888
default interval: 1/42
interval[0]: 1/27
FrameDescriptor(6)
capabilities: 03
size: 2072x1536
bit rate: 190955520-190955520
max frame size: 6365184
default interval: 1/27
interval[0]: 1/30
FrameDescriptor(7)
capabilities: 03
size: 1536x1024
bit rate: 188743680-188743680
max frame size: 3145728
default interval: 1/30
interval[0]: 1/60
FrameDescriptor(8)
capabilities: 03
size: 1536x1536
bit rate: 198180864-198180864
max frame size: 4718592
default interval: 1/60
interval[0]: 1/42
END DEVICE CONFIGURATION
bmHint: 0000
bFormatIndex: 1
bFrameIndex: 7
dwFrameInterval: 166666
wKeyFrameRate: 0
wPFrameRate: 0
wCompQuality: 0
wCompWindowSize: 0
wDelay: 0
dwMaxVideoFrameSize: 10077696
dwMaxPayloadTransferSize: 49152
bInterfaceNumber: 1
Streaming...

However, the software fails to turn on the LEDs on the eyeTribe, and how can I see the camera output, or gaze prediction coordinates?

I am pretty sure that the OS sees the EyeTribe, as the EyeTribe is reported:

$ ioreg -p IOUSB -w0 -l
........
|
+-o TheEyeTribe@14500000 <class AppleUSBDevice, id 0x1000699f2, registered, matched, active, busy 0 (43 ms), retain 19>
{
"sessionID" = 2785672002857998
"iManufacturer" = 1
"bNumConfigurations" = 1
"idProduct" = 251
"bcdDevice" = 0
"Bus Power Available" = 900
"USB Address" = 9
"bMaxPacketSize0" = 9
"iProduct" = 2
"iSerialNumber" = 3
"bDeviceClass" = 239
"Built-In" = No
"locationID" = 340787200
"bDeviceSubClass" = 2
"bcdUSB" = 768
"USB Product Name" = "TheEyeTribe"
"PortNum" = 5
"non-removable" = "no"
"IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
"bDeviceProtocol" = 1
"IOUserClientClass" = "IOUSBDeviceUserClientV2"
"IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=3,"CapabilityFlags"=65536,"MaxPowerState"=4,"DriverPowerState"=3}
"Device Speed" = 3
"USB Vendor Name" = "Leopard Imaging"
"idVendor" = 10667
"IOGeneralInterest" = "IOCommand is not serializable"
"USB Serial Number" = "0000000001"
"IOClassNameOverride" = "IOUSBDevice"
}

@trishume
Copy link
Owner

trishume commented Jan 5, 2017

I'm not sure I have any idea why it doesn't work. Does it ever pop up a window for showing the stream? If it does and the window is black, can you try aiming the eye tribe outside to see if it is just black because there is no IR and it is actually displaying the feed.

Also, do you happen to know when you last updated the EyeTribe SDK and perhaps thus the firmware on your device? Are you using the newer larger/longer fancier version that Eye Tribe released? Maybe your device has an older or newer protocol version than mine somehow.

Given that it is an issue I can't reproduce relating to hardware that I don't know the cause of, I'm afraid I won't be much help. I can maybe guide you through debugging it and answer any questions you might have though.

@kcleung
Copy link
Author

kcleung commented Jan 8, 2017

The model number of the eyetribe development kit is ET1000 and the batch is "2014-10".

I have just installed the EyeTribe SDK last week, but when I tried to use the UI, it freezes my macbook :(

@kcleung
Copy link
Author

kcleung commented Jan 8, 2017

When I run the Eyetracker server from the SDK, the terminal says:


** The EYE TRIBE TRACKER Server **


Version: 0.9.77

Settings applied:
TCP port: 6555
Connections: local only
Framerate: 30

Initializing the Eye Tribe Server
The Eye Tribe Tracker firmware revision is 293
Accessing Tracker device

The Eye Tribe Tracker stands ready!

[08:09:09.940] INF: Default calibration profile loaded!

So the firmware revision is 293, and the SDK version is 0.9.77

Also when I run YOUR SmartGaze, do I have to uninstall the Eyetribe SDK first? Or does SmartGaze mean to run with the Eyetribe SDK? These things are not clearly spelt out in README.md

@trishume
Copy link
Owner

trishume commented Jan 8, 2017

Interesting, that's the same SDK version and firmware I have on mine.

So the way it works is that SmartGaze doesn't need the SDK to be present to run, and I think it won't work if the Eye Tribe server is also running. However, the server in the SDK does send some fancy commands that I don't, which might be configuration that needs to be uploaded only once. So it is possible that you need to get the eye tracker working at least once with their software before mine will work, that's just a theory though. It also might be that the same issue that is stopping the SDK from working is stopping SmartGaze.

I've had weird issues where the SDK/official app randomly doesn't work before, and often a combination of restarting and unplugging the tracker will work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants