Software‎ > ‎VRPN-ICMS‎ > ‎

Compilation of VRPN-ICMS

Prerequisites

You need the following software tools and libraries installed:
  • cmake (http://www.cmake.org). You need at least version 2.6.2. I have successfully used versions 2.6.4 and 2.8.2.
  • libusb-1.0 (http://www.libusb.org). If your distribution doesn't have a libusb-1.0 package (remember to install the development package, too) you can compile from source (http://sourceforge.net/projects/libusb/files/libusb-1.0/). In the case of a self-compiled library, using ./configure with --disable-shared is recommended.
  • boost (http://www.boost.org/). Versions 1.39 and 1.41 have been working fine for me.
  • git (for accessing the various source code repositories)
  • A working C and C++ compiler with all related development packages installed. Typically gcc/g++ on Linux machines.

Compilation of libnifalcon

The libnifalcon library (http://qdot.github.com/libnifalcon/) does most of the dirty work managing the falcon and making it easily programmable. As of this writing (August 2010) the last release version does not have all required changes and you need to check out the development git repository with:

git clone git://github.com/qdot/libnifalcon.git libnifalcon
cd libnifalcon
git submodule update --init
mkdir build
cd build

Now configure the package through cmake (i usually use: ccmake .., press "c", adjust the settings to my liking, press "c" and "g" and then "q" to exit). Same as for libusb-1.0, compilation of a static library and disabling shared library compilation is strongly recommended. If you link against a static libusb-1.0, you have to switch the cmake configuration to "Advanced Mode" and alter the setting for CMAKE_EXE_LINKER_FLAG to contain '-lrt'. After successful compilation, you will find the test binaries in the "bin" subdirectory. Try ./falcon_test_cli --cube  or ./falcon_test_cli --sphere. Remember that the Falcon will only work when plugged into a powered hub and not when directly connected to your machine. Sometimes the Falcon comes up in a funky mode and you may have to unplug/replug or launch the test twice. Once the firmware has been installed successfully for the first time, it should work ok.

To give users automatically access to the usb device you can create a file /lib/udev/rules.d/40-novint-falcon.rules:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cb48", SYMLINK+="novint_falcon_%k", GROUP="users"
That will automatically give all users in the group "users" write access to the falcon device. Of course you can create a special group for only this purpose, if you like.

Compilation of VRPN/VRPN-ICMS

  You can download the sources for the latest VRPN release (7.27 or later) from this link, or use the development sources via:
git clone git://git.icms.temple.edu/vrpn-icms.git vrpn-icms

Changes to VRPN or the development git repository are usually not very experimental, so either version is probably safe to use. If in doubt, use the release version or ask.

cd vrpn-icms
mkdir build
cd build

Configure with ccmake, cmake-gui, or cmake same as for libnifalcon. Note that you have to explicitly enable support for the Falcon. If it cannot find libusb-1.0 and libnifalcon, you have to set those values accordingly. Make sure you build the client and the server binaries and also the libraries in case you want to later compile VMD with updated VRPN support. You only need the vrpn_server binary to drive the Falcon, but the client binaries can be used for testing independent from programs like VMD.


ą
Axel Kohlmeyer,
Aug 14, 2010, 5:09 PM
ą
Axel Kohlmeyer,
Aug 14, 2010, 5:09 PM
ą
Axel Kohlmeyer,
Aug 14, 2010, 7:05 PM
ą
Axel Kohlmeyer,
Aug 14, 2010, 7:05 PM
Comments