Phidgets Installation

From wikidb
Jump to: navigation, search

2015 NUC

These are core Phidget library install instructions that are independent of Indigo and Jade distributions.

Reference

Install Core Libraries

  • download libphidget_2.1.8.20150410.tar.gz
  • libusb-1.0-0-dev is already installed
 mkdir phidgets
 cd phidgets/
 tar -xzf ../Downloads/libphidget_2.1.8.20150410.tar.gz 
 cd libphidget-2.1.8.20150410/
 ./configure 
 make
 sudo make install
   ----------------------------------------------------------------------
   Libraries have been installed in:
     /usr/lib
   
   If you ever happen to want to link against installed libraries
   in a given directory, LIBDIR, you must either use libtool, and
   specify the full pathname of the library, or use the `-LLIBDIR'
   flag during linking and do at least one of the following:
      - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
        during execution
      - add LIBDIR to the `LD_RUN_PATH' environment variable
        during linking
      - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
      - have your system administrator add LIBDIR to `/etc/ld.so.conf'
   
   See any operating system documentation about shared libraries for
   more information, such as the ld(1) and ld.so(8) manual pages.
   ----------------------------------------------------------------------

Check Install

 tar xzvf ../Downloads/phidget21-c-examples_2.1.8.20150410.tar.gz 
 cd phidget21-c-examples-2.1.8.20150410/
 gcc HelloWorld.c -o HellowWorld -lphidget21
 sudo ./HellowWorld 
   Opening...
   Phidget Simple Playground (plug and unplug devices)
   Press Enter to end anytime...
   Hello Device Phidget High Current Motor Controller 2-motor, Serial Number: 147489
   Hello Device Phidget InterfaceKit 8/8/8, Serial Number: 69535
   
   Closing...
   

udev setup

 sudo cp ../libphidget-2.1.8.20150410/udev/99-phidgets.rules /etc/udev/rules.d/
 ./HellowWorld 
   Opening...
   Phidget Simple Playground (plug and unplug devices)
   Press Enter to end anytime...
   Hello Device Phidget High Current Motor Controller 2-motor, Serial Number: 147489
   Hello Device Phidget InterfaceKit 8/8/8, Serial Number: 69535
   
   Closing...

Dead Ends

The following didn't give me what I wanted.

 sudo aptitude search phidget
 sudo apt-get install ros-indigo-libphidgets

2012 FitPC

This was done on a FitPC and using the ROS Electric Distribution in May of 2012.

Core Libraries

Get the core phidgets libraries from www.phidgets.com drivers.

Note: using Synaptic to get the phidgets drivers will not give you the correct version. Note: requires libusb-dev

  • I got libphidget-2.1.8.20120503
  • untar
  • cd libphidget-2.1.8.20120503
  • ./configure
  • make
  • sudo make install

Allow access to USB in user mode. Requires a restart.

  • sudo cp udev/99-phidgets.rules /etc/udev/rules.d/

If you forget this step you will get errors like

libusb couldn't open USB device /dev/bus/usb/001/006: Permission denied.
libusb requires write access to USB device nodes.

sound_play

Sound play is required for ROS phidgets to build and install. See sound_play fix for more details.

As root or using sudo

  • add the following to the end of /opt/ros/electric/ros/rosdep.yaml
python-pygame:
  ubuntu: python-pygame
  • cd /opt/ros/electric/stacks/

Do not try to build sound_play. It is built when ROS Phidgets are built in the next section. If you try to build it, it will complain about festival missing even if you load festival with Synaptic.

ROS Phidgets

Be sure to quit Synaptic. It will lock the repository so that the dependencies cannot be loaded below.

Download phidgets-ros-pkg-1.40.tar.gz from launchpad.net.

As root or sudo

  • cd /opt/ros/electric/stacks
  • mkdir phidgets
  • cd phidgets
  • untar in /opt/ros/electric/stacks/phidgets
  • source /opt/ros/electric/setup.sh
  • rosmake --rosdep-install phidgets

The last step is long.