-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
can not access accelerometer, motor ( tilt) and led. Also does not work in glview. #376
Comments
Interestingly, it works with my other Kinect. The non-working kinect, however, tilts fine when connected to my xbox360. |
What are the model numbers of the two different Kinect cameras (check sticker on the bottom)? |
If you have model 1473 Kinect you will need to upload the audio firmware to the device on startup. and call:
after The motor controls for 1473 are done via the audio device. So once this firmware is uploaded you can do normal motor and led controls as with the older 1414 Kinect. |
I also got the same problem (and it is now solved). Actually, some of the Kinects (the most recent apparently) control the tilt, leds, and accelerometer via the audio device (on the older ones, I think it is via the camera device). In libfreenect, there is a preprocessor option called BUILD_AUDIO, which must be set at compile time to allow handling tilt/led/acceleration on those devices. Note that libfreenect will most likely (I haven't checked it works, but I have seen some code handling this) check if it shoud use the audio or camera device to handle tilt/led/acceleration. Solution : before compiling libfreenect, edit the "CMakeLists.txt", and replace the line : |
It seems quite many people encouter this problem. Could you please either indicate this option in compilation instructions, or set the BUILD_AUDIO option on by default (as libfreenect seems to check at run time whether it should use the audio or camera device) ? |
With #372 there is a plan to make audio a runtime option. In the meantime, you can use a parameter with cmake rather than editing CMakeLists.txt.
|
Alright ! But as long as it is not yet in place, could you please mention the BUILD_AUDIO option in the build instructions ? I think it can help some (or maybe a lot of) people ;) |
I updated README.md to note that BUILD_AUDIO is required for tilt on newer models. |
Thank you :) |
Sry guys to pick this up again, After that I tried the package ros-hydro-freenect_stack packages, which did not work at all, so typical "device could not opened"... Now I found this little gem and removed the freenect_stack packages and libraries, cloned the git rep of libfreenect 0.5.1 and builded it manually. With that configuration the regview worked, although slowly and with losing messages (LED still blinking), but the rest of the examples show: Finally I found this hidden option of building a non_redistributable version with audio support, so I removed again libfreenect from the system, edited the line in CMakeLists.txt to OFF, and rebuilt it. It downloaded the firmware update, wrote some audio.bin I think, and then I tried glview again from the bin dir and still the same message as before: Now I dont know how to go any further, can you help me? Thanks in advance! |
@Siegeszug The firmware fetcher downloads an old firmware version for original Kinect, but I don't have the knowledge or device to safely update it. You could try ofTheo's method. You would need to edit the the freenect_stack node to load the firmware after init. |
Bump It seems as though BUILD_AUDIO is not even an option anymore in CMakeFiles |
Audio is now always built, so BUILD_AUDIO was removed. Kinect audio is a messy problem due to the firmware. It's unlikely to ever be fully supported by libfreenect unless it is tackled by someone more knowledgeable than I. |
In my model 1473 Kinect under ubuntu 14.04, in addition that using files from https://github.com/openframeworks/openFrameworks/tree/master/addons/ofxKinect/src/extra, src/usb_libusb10.c should be modified as followings, or else libusb_open function return -1 after calling libusb_reset_device(audioHandle) and libusb_close(audioHandle).
|
Hi ofTheo, I'm experiencing the same issue when running example codes provided by libfreenect, and trying to follow your instructions to fix. I am a bit confused about the step to call the two functions after freenect_init(). Where or in what files is freenect_init() called? I'd really appreciate your help. |
@hudongrui |
Hi, Piedar. I also get a same question. Example [camtest] is in C code. However, those two extra files are in C++. I'm little bit confused about if i can call functions of C++ in a C code when i run this example. |
I am using Ubuntu 13.10. I have recently updated. I worked fine in the past.
The text was updated successfully, but these errors were encountered: