And the extra point!


Part 1.5 in my quest to code for the out-dated Kinect model 1473 on an outdated Macbook pro from Mid 2010: I was never, EVER able to get Processing to control the tilt of my Kinect sensor, but now it seems as if I have that working as well! Again, things do not match the documentation/instructions 100% but with enough experience you learn where to look to resolve your issues. I Googled for “kinect tilt libfreenect” which turned up a complaint from someone that they were getting an error when running the libfreenect-glview command.

upload_firmware: failed to find firmware file.

I noticed I was getting the same weird error when running the command to test my install. It turns out the error is explained in the bottom of the FAQ on the openkinect.org site:

I get the following error accessing microphones: upload_firmware: failed to find firmware file.

The Kinect audio system requires a firmware to be sent at runtime. It should be found in your installation (in share/libfreenect/audios.bin) but it might be absent. Run share/libfreenect/fwfetcher.py to download the latest audio firmware file and move it to your installation.

Apparently you need the audio firmware in order to interact with anything more than the camera and depth sensor. There is a “fwfetcher.py” (FirmWareFetcher) Python script bundled in the libfreenect install that will fetch and install the driver for you. Running this command is not possible out of the box because it requires root privileges and is not executable. You have to run “sudo python /usr/local/Cellar/libfreenect/0.5.1/share/fwfetcher.py” (The location of the fwfetcher.py script may vary, this is its location when you install via Homebrew.) After the Python script downloads the Firmware it will crash while extracting because of case sensitivity in the path. It looks for all files under a root folder “$systemupdate” in the zip file but the file name as of the current firmware is “$SystemUpdate”. Opening the script and doing a find/replace “$systemupdate” with “$SystemUpdate” will fix the script so that it downloads and installs the driver correctly. After the install of the driver the audio and tilt devices should be operational both from native code and from the Processing wrapper.

Happy coding!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s