Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • danc/MicroCART
  • snawerdt/MicroCART_17-18
  • bbartels/MicroCART_17-18
  • jonahu/MicroCART
4 results
Show changes
Showing with 0 additions and 3001 deletions
# vrpn.cfg.SAMPLE for VRPN version 06.06
################################################################################
################################################################################
# This file provides comments and examples for the vrpn.cfg file that is read
# by the vrpn_server application when it starts up. This is a generic server
# application that can start up many but maybe not all servers.
#
# This has sample lines for a vrpn.cfg file. If you get a new device working,
# add a line for it here. DO NOT remove lines from this file (unless
# devices are declared obsolete) - just change the actual vrpn.cfg to match
# your application.
#
# All examples in the file are preceded by comment characters (#). To actually
# use one of these examples, remove that character from the beginning of all the
# examples that you want to use, and edit those lines to suit your environment.
################################################################################
################################################################################
################################################################################
# Tracker classes. Lines here to start various tracker servers. A description is
# provided for each type of tracker for the arguments it takes, then an example
# configuration line is provided.
################################################################################
################################################################################
# NULL Tracker. This is a "device" that reports the Identity transformation for
# each of its sensors at the specified rate. It can be used to verify connections
# are working and for other tests of VRPN. There are three arguments:
# char name_of_this_device[]
# int number_of_sensors
# float rate_at_which_to_report_updates
#vrpn_Tracker_NULL Tracker0 2 2.0
################################################################################
# Flock-of-birds Tracker. Runs an Ascension Flock of Birds tracker that is
# attached to a serial port on this machine. Note that there is another driver
# (listed below) that runs the Flock when each sensor is connected to its own
# serial line. Arguments:
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int invert_quaternion (0 = no, 1 = yes)
# optionnal char useERT
#
# NOTE: for useERT: use nothing, y or Y if you have an extended range
# transmitter, use N or n if not (added by David Nahon for Virtools
# VRPack/SAS Cube.
# NOTE: The "invert_quaternion" parameter was added because there was a
# conflict between the code that had been around since VRPN started and
# the Flock documentation -- it looks like most people had been using the
# Flock in the "wrong" hemisphere, which inverted the orientation relative
# to the position. The old behavior is obtained by specifying "1". Not
# inverting it is specified using "0".
#vrpn_Tracker_Flock Tracker0 4 /dev/ttyS0 1 115200
# If you have to FOB, with no Extended Range ctrler/transmitter, on Windows, use
#vrpn_Tracker_Flock Tracker0 2 COM1 38400 1 N
# Watch: be sure that the serial baud rate dip switches (the 3 on the left)
# of your master flock are properly set.
# You should try baud rates like 38400 before trying to go higher
# In normal address mode - less than 14 fob units - your switch should be:
# 0 1 2 3 4 5 6 7
# 0 0 1 X X X X 0 2400
# 0 1 0 X X X X 0 4800
# 0 1 1 X X X X 0 9600
# 1 0 0 X X X X 0 19200
# 1 0 1 X X X X 0 38400
# 1 1 0 X X X X 0 57600
# 1 1 1 X X X X 0 115200
#
# X X X X are used for coding the FOB address, they must be set correctly,
# even if you are only using 1 unit (standalone mode)
# the settings should be (in normal address mode):
# 3 4 5 6
# 0 0 0 1 for the first unit
# 0 0 1 0 for the second unit
# 0 0 1 1 for the third
# 0 1 0 0 for the fourth
# 0 1 0 1 for the fifth
# ...
#
############################################################################
# WATCH WATCH WATCH WATCH WATCH WATCH WATCH WATCH WATCH WATCH WATCH WATCH
###################
#
# On windows at least, it might be necessary to cut your serial cable so as
# to only have Transmit, Receive and Ground pins. Even if CBIRDS or WINBIRDS
# are fine with a cable, it doesn't mean that this cable will please vrpn.
# This limitation should have been fixed with version 06.05.
#
###################
################################################################################
# Flock-of-birds in parallel Tracker. Runs an Ascension Flock of Birds tracker
# that has its source and each sensor plugged into its own serial port on this
# machine (perhaps through a Cyclades multi-port serial card). This mode of
# operation increases the throughput and decreases the latency of tracker reports.
# The arguments match those of the Flock-of-birds tracker from above, with the
# addition of the name of the serial ports for each of the sensors added at the
# end. Arguments (all on the same line):
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device_for_controller[]
# int baud_rate_of_serial_device
# int invert_quaternion (0 = no, 1 = yes)
# [one for each sensor] char name_of_serial_device_for_sensor[]
#
# NOTE: The "invert_quaternion" parameter was added because there was a
# conflict between the code that had been around since VRPN started and
# the Flock documentation -- it looks like most people had been using the
# Flock in the "wrong" hemisphere, which inverted the orientation relative
# to the position. The old behavior is obtained by specifying "1". Not
# inverting it is specified using "0".
#vrpn_Tracker_Flock_Parallel Tracker0 4 /dev/ttyC4 115200 1 /dev/ttyC0 /dev/ttyC1 /dev/ttyC2 /dev/ttyC3
#vrpn_Tracker_Flock_Parallel Tracker0 2 COM1 115200 1 COM2 COM3
################################################################################
# Fastrak Tracker. Runs a Polhemus Fastrak tracker that is attached to a serial
# port on this machine. This driver will also run an InterSense IS600 or IS900
# tracker, but you will want to include extra initialization code (as described
# below) to set up the ultrasonic pip information, wand devices, stylus devices
# and so forth. Arguments that go on the first line:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#
# It is possible to add additional commands that will be sent to the tracker
# by putting the backslash character (\) at the end of the config line. This
# will cause the following line to be read in and sent to the Fastrak during
# the reset routine. You can add additional lines by putting a slash at the
# end of each command line but the last. Each line will be sent to the Fastrak
# with a newline at the end of it. If a line starts with an asterisk (*), then
# it is treated as a line telling how long to sleep, with the integer number of
# seconds following the *.
#
# If one or more sensors on the Fastrak have a stylus button on them, use
# the "FTStylus" command after the reset command lines (if any). There should
# be a front-slash "/" character at the end of the line before the FTStylus
# command. The command takes two arguments: the name of the button device
# that will report the buttons and the sensor number to which the button is
# attached (the first sensor is sensor 0).
#
# Commands to add Joysticks (2 buttons) or Wands (5 buttons and 2 analogs) to
# the various sensors on the Isense900 are done by adding Stylus and
# Wand command lines after the reset command lines. Each of these lines
# takes two arguments: the name of the button (for Stylus) or button and
# analog (for Wand) servers, and the sensor number (starting from 0). The
# Wand line takes eight additional parameters, which specify the scaling
# and clipping behavior of the two directions on the analog joystick. Each
# set of for is the min, lowzero, hizero, and max values: these are mapped
# to -1, 0,0, and 1 (all values between lowzero and hizero are mapped to 0).
# Start with these at -1,0,0,1 and use the 'printcereal' program or some other
# method to read them and see what the range of acheivable values is. Then,
# set them to slightly conservative values so that the whole range is covered
# and the analogs will report zero when the joystick is centered. The
# presence of these lines is indicated by placing them after any additional
# reset command lines, by ending the line preceding them with the front slash
# "/" character.
#
# Remember that the "remote" button object is not the same as the the tracking
# device, so be sure to use a remote button object that connects to the button
# rather than the tracker. The button device name is defined on the stylus or
# wand line in the config file, and should not be the same as the tracker. In
# the case described by the example configuration below, if the name of the
# machine running the server is "myis900server" you would connect to the tracker
# as "Isense900@myis900server" and to the buttons on the stylus as
# "Stylus0@myis900server":
#
# Note that this frontslash and backslash-notation can only be used for the
# Fastrak/Isense tracker, not to extend the line for any other type of device
# listed in this configuration file.
# Vanilla Fastrak on on a Unix box
#vrpn_Tracker_Fastrak Fastrak0 /dev/ttyS0 19200
# Fastrak with a stylus on sensor zero on a Windows box
#vrpn_Tracker_Fastrak Tracker0 COM1 115200 /
#FTStylus Stylus0 0
# IS600 and its pip settings
#vrpn_Tracker_Fastrak Isense600 /dev/ttyS0 19200 \
#MCc\
#*5\
#MCM1,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,89\
#MCM1,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,87\
#MCM2,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,66\
#MCM2,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,71\
#MCM3,1,0.1237,-0.0762,-0.0424,0.00,0.00,-1.00,82\
#MCM3,2,0.1237,0.0762,-0.0424,0.00,0.00,-1.00,77\
#MCe\
#*10
# IS900 with a wand on the first sensor and a stylus on the third:
#vrpn_Tracker_Fastrak Isense900 COM1 115200 /
#Wand Wand0 0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0 /
#Stylus Stylus0 2
################################################################################
# Liberty Tracker. Runs a Polhemus Liberty tracker that is attached to a serial
# port or USB port on this machine. Arguments that go on the first line
# char name_of_this_device[]
# char name_of_serial_or_usb_device[]
# int baud_rate_of_serial_device (not used when the device is USB)
#
# It is possible to add additional commands that will be sent to the tracker
# by putting the backslash character (\) at the end of the config line. This
# will cause the following line to be read in and sent to the Liberty during
# the reset routine. You can add additional lines by putting a slash at the
# end of each command line but the last. Each line will be sent to the Fastrak
# with a newline at the end of it. If a line starts with an asterisk (*), then
# it is treated as a line telling how long to sleep, with the integer number of
# seconds following the *.
# -------------------------------------------
# Example when Liberty is attached via USB
# The BAUD Rate is needed, although it is not used
#vrpn_Tracker_Liberty Liberty /dev/usb/ttyUSB0 115200
#--------------------------------------------
# Example when Liberty is attached via Serial
#vrpn_Tracker_Liberty Liberty /dev/ttyS0 115200
################################################################################
# InterSense tracker using the Intersense-provided library to communicate
# with the tracker. This device type is not compiled by default, since it uses
# a proprietary library. However, you can get it to compile by defining
# VRPN_INCLUDE_INTERSENSE when compiling. Note that the Fastrak driver will
# run IS-600 and IS-900 trackers without the proprietary library, so you might
# try that as well.
#
# You can include extra initialization code (as described
# below) to set up the ultrasonic pip information, wand devices, stylus devices
# and so forth. Arguments that go on the first line:
# char name_of_this_device[]
# char name_of_serial_device[] - this can be COM1-4 or AUTO
# AUTO will automatically find USB and
# serial trackers. Use COM1-4 only if you
# have more than one serial tracker.
# You should use COM1-4 on unix as well,
# as these just tell the isense library
# to look in serial port 1-4.
# I guess you can't have >1 USB trackers.
# char "IS900time" - use the IS900 timestamps (optional)
# char "ResetAtStartup" - resets all boresight and heading, on intertrax,
# equivalent to push the reset button
#
# It is possible to add additional commands that will be sent to the tracker
# by putting the backslash character (\) at the end of the config line. This
# will cause the following line to be read in and sent to the InterSense during
# the reset routine. You can add additional lines by putting a slash at the
# end of each command line but the last. Each line will be sent to the InterSense
# with a newline at the end of it. If a line starts with an asterisk (*), then
# it is treated as a line telling how long to sleep, with the integer number of
# seconds following the *.
#
# Commands to add Joysticks (2 buttons) or Wands (5 buttons and 2 analogs) to
# the various sensors on the Isense900 are done by adding Stylus and
# Wand command lines after the reset command lines. Each of these lines
# takes two arguments: the name of the button (for Stylus) or button and
# analog (for Wand) servers, and the sensor number (starting from 0). The
# Wand line takes eight additional parameters, which specify the scaling
# and clipping behavior of the two directions on the analog joystick. Each
# set of for is the min, lowzero, hizero, and max values: these are mapped
# to -1, 0,0, and 1 (all values between lowzero and hizero are mapped to 0).
# Start with these at -1,0,0,1 and use the 'printcereal' program or some other
# method to read them and see what the range of acheivable values is. Then,
# set them to slightly conservative values so that the whole range is covered
# and the analogs will report zero when the joystick is centered. The
# presence of these lines is indicated by placing them after any additional
# reset command lines, by ending the line preceding them with the front slash
# "/" character.
#
# Remember that the "remote" button object is not the same as the the tracking
# device, so be sure to use a remote button object that connects to the button
# rather than the tracker. The button device name is defined on the stylus or
# wand line in the config file, and should not be the same as the tracker. In
# the case described by the example configuration below, if the name of the
# machine running the server is "myis900server" you would connect to the tracker
# as "Isense900@myis900server" and to the buttons on the stylus as
# "Stylus0@myis900server":
#
# Note that this frontslash and backslash-notation can only be used for the
# Fastrak and InterSense tracker, not to extend the line for any other
# type of device
# listed in this configuration file.
#
# Note that this driver expects the device to be set to output centimeters, and will convert
# the positions to meters. It is recommanded to permanently set the units in the eeprom of your device.
# If this is not possible, you should add in this file the "u" reset command so as to have vrpn
# tell your device to use centimeters
#
#Vanilla InterSense
#vrpn_Tracker_InterSense Tracker0 AUTO IS900time
# Vanilla InterSense using IS900 timing, with wand in port B (and possibly head tracker in port A)
#vrpn_Tracker_InterSense Tracker0 AUTO IS900time /
#Wand Wand0 1 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0
# IS600 and its pip settings
#vrpn_Tracker_InterSense Isense600 COM1 \
#MCc\
#*5\
#MCM1,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,89\
#MCM1,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,87\
#MCM2,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,66\
#MCM2,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,71\
#MCM3,1,0.1237,-0.0762,-0.0424,0.00,0.00,-1.00,82\
#MCM3,2,0.1237,0.0762,-0.0424,0.00,0.00,-1.00,77\
#MCe\
#*10
# IS900 with a wand on the first sensor and a stylus on the third:
#vrpn_Tracker_InterSense Isense900 COM1 /
#Wand Wand0 0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0 /
#Stylus Stylus0 2
# Intertrax2 on USB, With automatic reset at startup
#vrpn_Tracker_InterSense Tracker0 AUTO ResetAtStartup
################################################################################
# Dynasight Tracker. Runs an Origin System's DynaSight tracker connected to a
# serial port on this machine. arguments:
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tracker_Dyna Tracker0 1 /dev/ttyS0 19200
#vrpn_Tracker_Dyna Tracker0 1 COM1 19200
################################################################################
# AnalogFly Tracker. This is a tracker that is intended to be used on top of
# a joystick or motion tracker of some kind to turn it into a moving or flying
# device. It could be used on top of any analog device, in fact.
# This device basically takes in analog signals and puts out transformation
# matrices. It should supercede the JoyFly tracker, since it is more general.
# There are two kinds of JoyFly's: absolute ones and differential ones. For
# absolute ones, the analog value is mapped directly to position or orientation
# on each axis. For differential ones, the values are used to create a
# "change" matrix that is applied once per interval, accumulating changes as
# it goes; this enables the user to "fly" along by holding a joystick forward,
# for example.
# One analog channel is associated with each axis (X, Y, Z) and rotation about
# each axis (RX, RY, RZ). For each axis, the value is converted to a position
# (meters) or speed (meters/second) for absolute trackers; or into an
# orientation (revolutions) or angular velocity (revolutions/second) by first
# subtracting an offset, then thresholding it to see if it is far enough from
# zero, then (if it is) scaling it and taking it to a power (to allow nonlinear
# speedup as the stick is pushed far from center).
# A button can be associated with a reset function, which will take the
# device back to center (identity transformation). The device will also recenter
# when the first connection is made to the server it is running on. (Centering
# has no effect on absolute AnalogFlys).
# Any axis or the reset button can be disabled by setting the name of its
# associated device to the string "NULL".
# Note that you could have multiple of these devices running simultaneously,
# each with a different name and interaction metaphor. The user could then
# connect to their favorite one. Arguments:
# char name_of_this_device[]
# float update_rate_to_send_tracker_reports
# char type[] = "absolute" or "differential"
# [six lines follow, one for X Y Z RX RY RZ, each with:
# char axis_name[] (X Y Z RX RY RZ in that order)
# char name_of_analog_device[] (start with * for local)
# int channel_of_analog_device
# float offset
# float threshold
# float scale
# float power
# ]
# [New line to describe reset button, with:
# char "RESET"
# char name_of_button_device[] (start with * for local)
# int which_button_to_use
# ]
#vrpn_Tracker_AnalogFly Tracker0 60.0 differential
#X *CerealBox0 4 0.0 0.021 1.0 1.0
#Y *CerealBox0 5 0.0 0.021 1.0 1.0
#Z *CerealBox0 6 0.0 0.021 3.0 1.0
#RX *CerealBox0 0 0.0 0.021 1.0 1.0
#RY *CerealBox0 1 0.0 0.021 1.0 1.0
#RZ *CerealBox0 2 0.0 0.021 3.0 1.0
#RESET *CerealBox 3
#vrpn_Tracker_AnalogFly Tracker0 60.0 differential
#X *Magellan0 0 0.0 0.0 2.0 1.0
#Y *Magellan0 1 0.0 0.0 2.0 1.0
#Z *Magellan0 2 0.0 0.0 2.0 1.0
#RX *Magellan0 3 0.0 0.0 2.0 1.0
#RY *Magellan0 4 0.0 0.0 2.0 1.0
#RZ *Magellan0 5 0.0 0.0 2.0 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X NULL 0 0.0 0.0 1.0 1.0
#Y NULL 0 0.0 0.0 1.0 1.0
#Z NULL 0 0.0 0.0 1.0 1.0
#RX *Radamec0 1 0.0 0.0 -0.0027777777 1.0
#RY NULL 0 0.0 0.0 1.0 1.0
#RZ *Radamec0 0 0.0 0.0 0.0027777777 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X *Joystick0 0 0.0 0.0 1.0 1.0
#Y *Joystick0 1 0.0 0.0 -1.0 1.0
#Z *Joystick0 6 0.0 0.0 1.0 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Joystick0 5 0.0 0.0 0.5 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Phantom 60.0 absolute
#X *Phantom 0 0.0 0.0 0.125 1.0
#Y *Phantom 1 0.0 0.0 -0.125 1.0
#Z *Phantom 6 0.0 0.0 0.25 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Phantom 5 0.0 0.0 0.06 1.0
#RESET NULL 0
# For DTU/MIC optical nanoHand stage motion, moving over full 300 micron range
# of motion, using the Logitech joystick for the analog
# server and the tracker_to_poser program.
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X *Joystick0 0 -0.03 0.0 2.53 1.0
#Y *Joystick0 1 -0.04 0.0 2.53 1.0
#Z *Joystick0 6 -0.10 0.0 -1.75 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Joystick0 5 0.0 0.0 0.5 1.0
#RESET NULL 0
# To drive a Tektronix 4662 full range (Z, RZ ignored)
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X *Joystick0 0 -1.0 0.0 0.19 1.0
#Y *Joystick0 1 1.0 0.0 -0.13 1.0
#Z *Joystick0 6 0.0 0.0 1.0 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Joystick0 5 0.0 0.0 0.5 1.0
#RESET NULL 0
################################################################################
# XXX This device is superceded by the more-general vrpn_Tracker_AnalogFly.
# JoyFly Tracker. A vrpn_Tracker that translates the vrpn_Joystick into
# Walkthrough- convention tracker reports. This is part of a two-part setup
# that allows you to use a joystick as a flying device. First, a joystick
# device has to be created (named joybox in our example) that will produce
# the analog inputs that the JoyFly tracker uses to determine the transformation.
# Then, the JoyFly device needs to be started and will listen to the device
# and produce tracker reports. If these are both run on the same server, then
# the JoyFly needs to use the "server" connection to hear from the Joystick
# device, which is indicated by placing a '*' in front of the name of the
# joystick device that it is to use. If the joystick device is remote from
# this server, then the full name of it should be used (joystick@foo.cs.unc.edu).
# XXX This device is superceded by the more-general vrpn_Tracker_AnalogFly
# Arguments:
# char name_of_this_device[]
# char source_joystick_name[] (Start with * for one sharing a connection)
# char joystick_configuration_file_name[]
#vrpn_JoyFly walk-joybox *joybox vrpn_Joyfly.cfg
################################################################################
# ButtonFly Tracker. This is a tracker that is intended to be used on top of
# a Global Haptics Orb or other buttond device to turn it into a moving or
# flying device. It basically takes in button signals and puts out
# transformation matrices.
# There are two kinds of Buttons: absolute ones and differential ones. For
# absolute ones, pressing it causes the position or orientation associated with
# it to be stored directly into the transformation. This enables the user to
# "teleport" to given locations by pressing buttons. For differential ones,
# the position or orientation are treated as deltas and are used to create a
# "change" matrix that is applied once per interval, accumulating changes as
# it goes; this enables the user to "fly" along by holding a button down,
# for example.
# Each button is associated with either a position (meters) or speed
# (meters/second) for absolute buttons; or an orientation (revolutions)
# or angular velocity (revolutions/second).
# An analog channel can be associated with a scale function that scales the
# velocity or angular velocity terms uniformly. The entry specifies an
# offset to be applied to the analog channel, a scale to be applied to it,
# and a power to which the result should be taken; the end result is used
# to scale all velocity or angular velocity terms. This channel has no
# effect on the effects of absolute buttons.
# The device will recenter (set itself to the identity transform) when the
# first connection is made to the server it is running on.
# Note that you could have multiple of these devices running simultaneously,
# each with a different name and interaction metaphor. The user could then
# connect to their favorite one. Arguments:
# char name_of_this_device[]
# float update_rate_to_send_tracker_reports
# [one or more lines follow, each of one of two types
# (1) char [] = "absolute"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float X_to_translate_to
# float Y_to_translate_to
# float Z_to_translate_to
# float rotation_about_X
# float rotation_about_Y
# float rotation_about_Z
# (2) char [] = "differential"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float X_translation_meters_per_second
# float Y_translation_meters_per_second
# float Z_translation_meters_per_second
# float spin_about_X_revolutions_per_second
# float spin_about_Y_revolutions_per_second
# float spin_about_Z_revolutions_per_second
# ]
# [An optional line describing an analog to scale the velocity
# char [] = "vel_scale"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float offset
# float scale
# float power
# ]
# [An optional line describing an analog to scale the rotation
# char [] = "rot_scale"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float offset
# float scale
# float power
# ]
# [one more line, consisting of the word "end"]
# Note that the same button can cause more than one action to take place,
# and the same analog can cause scaling of both the velocity and rotation.
# This example for a Global Haptics Orb pushes the transformation away
# from the button that is pressed
# for all of the standard buttons. It rotates around the Y axis when the
# rocker switch is rocked up and down. It resets to the origin when one
# of the pushbuttons is pressed. Both the velocity and angular velocity
# are controlled by the thumbwheel.
#vrpn_Tracker_ButtonFly Tracker0 60.0
#differential *Orb0 0 0 1 0 0 0 0
#differential *Orb0 1 0.707 0.707 0 0 0 0
#differential *Orb0 2 1 0 0 0 0 0
#differential *Orb0 3 0.707 -0.707 0 0 0 0
#differential *Orb0 4 0 -1 0 0 0 0
#differential *Orb0 5 -0.707 -0.707 0 0 0 0
#differential *Orb0 6 -1 0 0 0 0 0
#differential *Orb0 7 -0.707 0.707 0 0 0 0
#differential *Orb0 8 0 0.707 -0.707 0 0 0
#differential *Orb0 9 0.577 0.577 -0.577 0 0 0
#differential *Orb0 10 0.707 0 -0.707 0 0 0
#differential *Orb0 11 0.577 -0.577 -0.577 0 0 0
#differential *Orb0 12 0 -0.707 -0.707 0 0 0
#differential *Orb0 13 -0.577 -0.577 -0.577 0 0 0
#differential *Orb0 14 -0.707 0 -0.707 0 0 0
#differential *Orb0 15 -0.577 0.577 -0.577 0 0 0
#differential *Orb0 16 0 0.707 0.707 0 0 0
#differential *Orb0 17 0.577 0.577 0.577 0 0 0
#differential *Orb0 18 0.707 0 0.707 0 0 0
#differential *Orb0 19 0.577 -0.577 0.577 0 0 0
#differential *Orb0 20 0 -0.707 0.707 0 0 0
#differential *Orb0 21 -0.577 -0.577 0.577 0 0 0
#differential *Orb0 22 -0.707 0 0.707 0 0 0
#differential *Orb0 23 -0.577 0.577 0.577 0 0 0
#differential *Orb0 24 0 0 -1 0 0 0
#differential *Orb0 25 0 0 1 0 0 0
#differential *Orb0 28 0 0 0 0 -0.1 0
#differential *Orb0 29 0 0 0 0 0.1 0
#absolute *Orb0 27 0 0 0 0 0 0
#vel_scale *Orb0 0 -1.0 0.5 1.0
#rot_scale *Orb0 0 -1.0 0.5 1.0
#end
################################################################################
# 3Space Tracker. Runs a Polhemus 3Space (not Fastrak) tracker that is attached
# to a serial port on this machine. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tracker_3Space Tracker0 /dev/ttyS0 19200
################################################################################
################################################################################
# Non-tracker devices. Lines are provided here for the various non-tracker servers
# that can be started.
################################################################################
# Example Dial server. This is a "device" that reports constant rotations for
# each of its dials at the specified rate. It can be used to verify connections
# are working and for other tests of VRPN. There are four arguments:
# char name_of_this_device[]
# int number_of_dials
# float rate_at_which_the_dials_spin (revolutions/second)
# float rate_at_which_to_report_updates (udpates/second)
#vrpn_Dial_Example Dial0 2 2.0 10.0
################################################################################
# CerealBox dial/button/analog. Runs a BG Systems CerealBox device that attaches
# to a serial port on this machine. As of VRPN version 04.07, 19200 is the
# only supported baud rate. The driver has been tested on an LV824-F-8e device.
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int number_of_buttons_to_read (starting from 0)
# int number_of_analogs_to_read
# int number_of_encoders_to_read
#vrpn_CerealBox Cereal0 /dev/cua0 19200 8 8 8
################################################################################
# Magellan button/analog. Runs a Logitech Magellan device that attaches
# to a serial port on this machine. As of VRPN version 04.12, 9600 is the
# only supported baud rate.
#
# Note that if you want to use the Magellan as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device that listens to its analog
# outputs and converts them into tracker reports
#
# John Stone added support for the SpaceBalls in version 06.03, an example
# startup is shown below.
#
# Julien Brisset discovered how to make this work with a slightly older version
# of the Magellan. If the example Magellan line doesn't work, add 'altreset' to
# the line to use the alternative reset string for the device.
#
# NOTE: You should NOT run the driver that comes with the Magellan, since the
# VRPN driver opens the serial port and communicates with the device directly.
# If the Magellan driver from the manufacturer is running, then VRPN will not
# be able to open the port.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# char "altreset" {Optional, for older Magellans}
#vrpn_Magellan Magellan0 COM1 9600
#vrpn_Magellan Magellan0 /dev/ttyS0 9600 altreset
#vrpn_Spaceball Spaceball0 /dev/ttyS0 9600
################################################################################
# NRL Immersion Box dial/button/analog. Runs a Immersion Interface Box device
# attached to a serial port. As of March 28, 2000 code to read the analog and
# angle encoders has not been implemented. Also, baud rate on many SGI's is
# limited to 38400, but I have run the ibox at 115200 on PCs.
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int number_of_buttons_to_read (i.e. 4 ==> 0,1,2,3)
# int number_of_analogs_to_read
# int number_of_encoders_to_read
#vrpn_ImmersionBox ibox /dev/ttyd2 38400 4 0 0
#vrpn_ImmersionBox ibox com1 115200 4 0 0
################################################################################
# Wands button/analog, driver from Brown University. Runs a Wanda device
# attached to a serial port.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port_to_use[]
# int baud_rate_of_serial_device
# float minimum_update_rate
#vrpn_Wanda Wanda /dev/ttyd2 1200 60.0
#vrpn_Wanda Wanda COM2 1200 60.0
################################################################################
# Radamec Serial Position Interface analog. Camera tracker that attaches
# to a serial port on this machine. Note that for normal operation, 38400 is the
# only supported baud rate.
#
# Note that if you want to use the Radamec SPI as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device (of the absolute variety)
# that listens to its analog outputs and converts them into tracker reports.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port[]
# int baud_rate_of_serial_port
#vrpn_Radamec_SPI Analog0 /dev/ttyS16 38400
################################################################################
# Zaber linear positioning element analog that attaches
# to a serial port on this machine.
#
# Note that if you want to use the Zaber as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device (of the absolute variety)
# that listens to its analog outputs and converts them into tracker reports.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port[]
#vrpn_Zaber Analog0 COM1
################################################################################
# SGI Dial and Button box, raw interface. Runs a dial-and-button box from SGI,
# talking to it through the raw serial interface (not using the GL interface
# supplied by SGI). This allows the box to be opened even if there is nobody
# logged on at the console. Note that to use this on an SGI, you will need to
# configure the port as a serial device, not as a button device, to get it to
# run. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# [list of buttons to treat as toggles] int button_to_toggle
#vrpn_raw_SGIBox Sgibox0 /dev/ttyS0 0 1 2 3
################################################################################
# SGI Dial and Button box, cooked interface. Runs a dial-and-button box from SGI,
# talking to it through the GL interface supplied by SGI. Note that this can
# only be used on an SGI, and the serial port must be configured as a dial/button
# device and the dial/button server from SGI must be running to use it. Arguments:
# char name_of_this_device[]
# [list of buttons to treat as toggles] int button_to_toggle
#vrpn_SGIBOX Sgibox0 1 2
################################################################################
# UNC Python button device. UNC has developed a custom button input device, which
# is a 5-button controller that attaches to a parallel port and uses the sense
# lines to return the state of the buttons. This runs the device. Note that on
# Windows NT, you need to have installed the GiveIO driver for this code to
# work. It also works on Linux (no extra drivers needed), but on no other
# architecture. Arguments:
# char name_of_this_device[]
# int parallel_port_to_use_starting_with_1
#vrpn_Button_Python Button0 1
################################################################################
# UNC Joystick driver. UNC has developed a custom-build joybox, with 7 analog
# and 2 button inputs (two 3-axis joysticks and a slider, with a button on top
# of each joystick). This will drive one of these devices, which attaches to
# a serial port on this computer. I'm not sure what the baud rate should be;
# David Harrison might know.
# This driver can be used in conjunction with the JoyFly driver to produce a
# tracker that uses the joystick to fly around. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# float minimum_update_rate_from_analogs_even_if_they_dont_move
#vrpn_Joystick Joybox0 /dev/ttyd1 19200 10.0
################################################################################
# Linux Joystick. Interface to the Linux Joystick driver by Vojtech Pavlik
# included in several Linux distributions. The server code has been tested
# with Linux Joystick driver version 1.2.14. Yet, there is no way how to
# map a typical joystick's zillion buttons and axes on few buttons and axes
# really used. Unfortunately, even joysticks of the same kind can have
# different button mappings from one to another.
# Arguments:
# char name_of_this_device[]
# char name_of_joystick_device[]
#vrpn_Joylin Joylin0 /dev/js0
################################################################################
# Fakespace Pinch Glove. Drives a Fakespace Pinch Glove device connected to a
# serial port on this machine. This device has ten buttons-two hands and five
# fingers on each hand. Buttons 0-4 are fingers for the right hand-thumb first
# and pinkie last- while buttons 5-9 are for the left hand-thumb first. The
# Button is ON when it is touching another finger. Therefore there cannot
# be just one Button ON. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Button_PinchGlove PinchGlove0 COM1 9600
################################################################################
# Adrienne Electronics Corporation PCI time code driver. The PCI-VITC board
# for which this driver was developed reads in VITC time codes from an input
# signal. This will drive one of these devices.
# Arguments:
# char name_of_this_device[]
#vrpn_TimeCode_Generator TimeGen0
################################################################################
# 5DT glove. Drive a 5dt glove connected on a serial Port. This device uses
# optical fiber to get the finger position. Not all the 5dt gloves are available
# now.
# 2 modes are driven: the first one let the driver get data from the glove
# when requested (we advise this mode). The second one makes the glove send
# data continuously. This mode may saturate the input buffer.
# The manual states that there will be 9 bytes per report, but one group
# has found that they get an extra one: 0x55 at the end of each report.
# So, you can choose whether to use 9 (the default) or 10 now.
# Gesture management is not implemented yet nor the mouse emulation mode
# arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int mode_of_data_reporting (1 = on request, 2 = continuously)
# int ten_bytes_per_report (0 = no, use 9; 1 = yes)
#vrpn_5dt glove_5dt /dev/ttyS0 19200 1 0
#vrpn_5dt glove_5dt COM1 19200 1 0
################################################################################
# NRL Serial Mouse. A device made by wiring buttons in parallel with the buttons
# on a serial mouse. Both mousesystems or microsoft mouse protocols are
# supported. Note that the server code makes the connection at the standard
# 1200 baud. The mouse can be plugged into any serial port -- this driver goes
# directly through the raw port and does not use the built-in mouse drivers.
# NOTE: The middle button on the 3button type is toggled by moving the mouse
# on a surface while not toggling the other two buttons, strange as this may
# seem. The motion of the mouse is not reported, only the buttons.
#vrpn_Button_SerialMouse Button0 /dev/ttyd1 mousesystems
#vrpn_Button_SerialMouse Button0 /dev/ttyd1 3button
#vrpn_Button_SerialMouse Button0 COM1 mousesystems
#vrpn_Button_SerialMouse Button0 COM1 3button
################################################################################
# NRL TNG3. (Totally Neat Gadget) A device made by mindtel, available from
# pulsar.org. Powered off the serial port control lines, the TNG3 has 8 digital
# and 8 analog inputs. Analog resolution is 8 bits. Baud rate fixed internally
# at 19200.
# char name_of_this_device[]
# char name_of_serial_device[]
# int number_of_buttons_to_read (i.e. 8 ==> 0,1,2,3,4,5,6,7)
# int number_of_analogs_to_read
#vrpn_Tng3 tng3name /dev/ttyd2 4 0
#vrpn_Tng3 tng3name com1 8 8
#vrpn_Tng3 tng3name com1 1 1
################################################################################
# Microsoft DirectX compatible force-feedback joystick (or non-force-feedback
# joystick).
# char name_of_this_device[]
# int number of times per second to read from the device
# int number of times per second to update force (0 for non-force device)
#vrpn_DirectXFFJoystick Joystick0 60 200
#vrpn_DirectXFFJoystick Joystick0 60 0
################################################################################
# Manager for joysticks under windows using standard win32 calls.
# for force feedback support, see DirectX joystick above
#
# Arguments:
# char name_of_this_device[]
# int joystick Id
# (1 for first joystick JOYSTICKID1 or 2 for second JOYSTICKID2 only)
# int number of times per second to read from the device
# int readmode : 0 = raw data;
# 1 = 0,1 normalized data;
# 2=-1,1 normalized data
# int percentage (0 to 100) of deadzone (used mode 1 and 2 only)
#vrpn_Joywin32 joyWin32 1 60 2 35
################################################################################
# Global Haptics GeoOrb serial-line device that contains a number of buttons,
# a thumbwheel, and a trackball. For current devices, only 19200 baud works.
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_GlobalHapticsOrb Orb0 COM1 19200
################################################################################
# SensAble Technologies Phantom force-feedback device opened using the
# GHOST software developer's kit. For Phantom Desktop systems, you don't
# need to have the user establish the reset position. For the Premium models,
# you do.
# Arguments:
# char name_of_this_device[]
# int establish_reset_position (0 or 1)
# float rate_to_send_tracker_reports
#vrpn_Phantom Phantom 0 60.0
##############################################################################
# Virtual Presence Joystick tracker device. (http://www.vrweb.com)
# Use this driver to read the button states,
# use Flock-of-Birds driver for the position/orientation state
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_VPJoystick VPJoystick0 /dev/ttyS0 9600
################################################################################
# Advanced Realtime Tracking GmbH (http://www.ar-tracking.de) DTrack client
#
# creates as many vrpn_Tracker as there are bodies or flysticks, starting with
# the bodies.
# creates 2 analogs per flystick
# creates 8 buttons per flystick
#
# NOTE: numbering of flystick buttons differs from DTrack documentation
#
# Arguments:
# char name_of_this_device[]
# int udp_port (DTrack sends data to this udp port)
# float time_to_reach_joy (see below)
#
# Optional arguments:
# int number_of_bodies, number_of_flysticks (fixed numbers of bodies and flysticks)
# int renumbered_ids[] (vrpn_Tracker IDs of bodies and flysticks)
# char "-" (activates tracing; always last argument)
#
# NOTE: time_to_reach_joy is the time needed to reach the maximum value of the
# joystick
# (1.0 or -1.0) when the corresponding button is pressed (one of the last
# buttons amongst the 8)
#
# NOTE: if fixed numbers of bodies and flysticks should be used, both arguments
# number_of_bodies and number_of_flysticks have to be set
#
# NOTE: renumbering of tracker IDs is only possible, if fixed numbers of bodies and
# flysticks are set; there has to be an argument present for each
# body/flystick
#vrpn_Tracker_DTrack DTrack 5000 0.5
#vrpn_Tracker_DTrack DTrack 5000 0.5 2 2
#vrpn_Tracker_DTrack DTrack 5000 0.5 2 2 2 1 0 3
################################################################################
# National Instruments Analog Output server. This will open the board whose
# name is specified, configure the number of channels specified, and set the
# polarity and maximum voltage range at which to drive the channels.
#
# Arguments:
# char vrpn_name_for_this_device[]
# char name_of_NI_board[]
# int number_of_channels
# int polarity : 0 = unipolar, 1 = bipolar
# float min_voltage
# float max_voltage
#vrpn_NI_Analog_Output Analog_XY DAQCard-6036E 2 0 -10.0 10.0
#vrpn_NI_Analog_Output Analog_ZTweeze DAQCard-6036E 2 0 -10.0 10.0
################################################################################
# Analog Poser. This is a poser that is intended to be used on top of
# an analog output (perhaps a National Instruments board), whose outputs
# directly drive the position of some actuated stage. It could be used on top
# of any analog output device, in fact. This device basically takes in poses
# and puts out analog outputs.
# One analog channel is associated with each axis (X, Y, Z) and rotation about
# each axis (RX, RY, RZ). For each axis, the position (meters) is converted into
# a voltage; the orientation is mapped from a quaternion into Euler angles and
# each of the Euler angles is converted into a voltage (XXX Orientation is not yet
# implemented; the RX,RY, and RZ values must be specified but they are not used).
# XXX Velocity and orientation velocity are not yet supported.
# Any axis can be disabled by setting the name of its associated device to the
# string "NULL".
#
# Arguments:
# char vrpn_name_for_this_device[]
# char vrpn_name_of_the_analog_output_to_use[]
# (Preface with a * if it uses the same connection)
# [six lines follow, one for X Y Z RX RY RZ, each with:
# char axis_name[] (X Y Z RX RY RZ in that order)
# int channel_of_analog_output_device (First channel is channel 0)
# float offset
# float scale
# float min_value of workspace
# float max_value of workspace
# ]
#vrpn_Poser_Analog Poser0
#X *Analog_XY 0 0.0 1.0 -10 10
#Y *Analog_XY 1 0.0 1.0 -10 10
#Z *Analog_ZTweeze 0 0.0 1.0 -10 10
#RX NULL 0 0.0 1.0 -10 10
#RY NULL 0 0.0 1.0 -10 10
#RZ NULL 0 0.0 1.0 -10 10
################################################################################
# Nikon microscope connected to PC via serial port. Currently only controls
# the focus of the microscope using an analogout and reads the focus position
# using an analog.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
vrpn_nikon_controls Focus COM1
################################################################################
# Tektronix 4662 plotter. Attaches to a serial port. Acts as both a poser and
# a tracker. Reports positions 4x per second plus when a move command completes.
# Multiple move commands issued before they complete will result in only the last
# one being executed.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tek4662 Tek4662 COM1 1200
[autorun]
open=Phantom server v06_04.exe
label=Phantom Server
[General]
FileVersion=1.1
FileType=QSetupIniFile
ComposerVersion=4.0.0.4
[Project]
ProjectName=phantom_server
ProjectDirectory=F:\taylorr\STM\src\vrpn\installers\phantom_server
NonSFXDirectory=F:\taylorr\STM\src\vrpn\installers\phantom_server\NonSFX
MediaFileName=Phantom server v06_04
CopyMediaToFName=
ProgramDescriptiveName=Phantom Server
ProgramVersion=06.04
CompanyName=UNC NSRG
ProgVerLiveUpdate=0
RegisterAsApp=1
LanguageFlag=1
LanguageNames=|
UseNonSFXDir=0
ClrNonSFXDir=0
CompressNonSFXFiles=0
ForceCopyNonSFXFiles=0
[Display]
AddSetupBackground=1
TopLabel=1
TopLabelVer=1
TopLabel2=0
BottomLabel=0
TopLabelText="Phantom Server"
TopLabel2Text=""
BottomLabelText="Copyright 2003"
TopBackgroundColor=16711680
BottomBackgroundColor=0
AddBottomColor=1
DlgBmp3DFrame=1
DialogStyle=Modern
AddDialogBitmap=0
DialogBitmapFileName=
AddBackgroundBitmap=0
BackgroundBitmapFileName=
BackgroundBitmapLocation=|Top/Left|0|0|
AddBackgroundWave=0
BgBmpTransparent=0
BackgroundWaveFileName=
BackgroundWaveLocation=|Center|300|0|
BackgroundWaveLoop=1
BackgroundWaveDelay=0
AddBackgroundWaveSlider=1
BackgroundWaveSliderType=Fixed
TopLabelSide=Left
TopLabel2Side=Left
BottomLabelSide=Left
DialogLocation=|Center|0|0|
TopLabelFont=|Tahoma|36|16777215|1|2|
TopLabel2Font=|Tahoma|18|16777215|1|2|
BottomLabelFont=|Tahoma|10|16777215|1|0|
CompanyUrl=www.cs.unc.edu/nano
[TargetExe]
TargetDirectory=<AbsoluteDir>C:\nsrg\bin\Phantom server 06.04
CommonDirectory=<AbsoluteDir>C:\nsrg\src
AuxDirectory=<FontDir>
TargetExeName=<Application Folder>\vrpn_server.exe
RunTimeDir_1=|||||||1||||1||1|<ProgramFilesDir>|||||
RunTimeDir_2=|||||||1||||1||1|<ProgramFilesDir>|||||
RunTimeDir_3=|||||||1||||1||1|<ProgramFilesDir>|||||
[Dialogs]
SelectedDialogs=*Welcome,License,Readme,User Information,Setup Type,Custom,*Destination,Associate,*Shortcuts,*Confirm Setup,*Copy Files,*Complete
LicenseTextFile=
ReadmeTextFile=
ReadmeTextFile2=
UseNotepad=0
SpaceReqOnDriveCheckBox=0
SpaceReqOnDrive=
RequestUserName=1
RequestCompanyName=1
RequestSerialNumberAlso=0
RequestSerialCheckDLL=0
SerialCheckDll=
RequestPredefinedSerial=0
CaseSensitiveSerial=0
RequestTokenizedSerial=0
CDSetup=0
ShowCompactSetupAlso=1
ForcePartialSetup=0
ShowProgBar2=0
SilentSetup=0
ProposeReadme=0
ProposeLaunch=0
ProposeRestart=0
ProposeReadmeChecked=0
ProposeLaunchChecked=0
ShowCloseRecommendation=0
ShowAdwareDisclaimer=0
ShowCopyrightWarning=0
[Shortcuts]
AddMainShortCut=1
ForceRemoveShortcutFolder=0
ProgramLinkFolder=NSRG\Phantom Server v06.04
ProgramLinkName=Phantom server
ProgramLinkParam=
ProgramLinkWorkDir=<Application Folder>
ProgramLinkRun=Minimized
ProgramLinkIconFile=
ProgramLinkIconNum=0
StartMenuLinkName=Phantom Server
DesktopLinkName=Phantom Server
SendToLinkName=Phantom Server
StartUpLinkName=Phantom Server
QuickLaunchLinkName=Phantom Server
StartMenuCheckBox=0
DesktopCheckBox=0
SendToCheckBox=0
StartUpCheckBox=0
QuickLaunchCheckBox=0
StartMenuChecked=1
DesktopChecked=1
SendToChecked=1
StartUpChecked=1
QuickLaunchChecked=1
SetAllUsers=1
AddUninstallShortcut=1
Item-000=*|Configuration|<Application Folder>\vrpn.cfg|NSRG\Phantom Server v06.04|||Normal Window||0|
[Billboard]
AddBillboard=1
Item-000=|1|0|0|1|0|Center|0|0|8388608|16711680|Verdana|14|16777215|1|0|360|360|0|1|
[SplitSetup]
SplitSetup=0
ForceDownload=1
DownloadURL_SPLIT=http://
ConfirmSplitDownload=0
[AutoUpdate]
AutoUpdate=0
RunAutoUpdate=1
AddAutoUpdateShortcut=1
ReqConfirmDownload=0
ReqConfirmInstall=0
ShutDownMethod=Don't Shut Down
BackgroundUpdate=0
RestartProcess=0
InformFinish=0
UpdateProjectFName=
DownloadURL_UPDATE=http://
NameOfUpdateFile=
RunningProcess=
VersionOriginal=1
ValidVersions=
VersionNew=1
ReAskDays=0
AutoUpdateProbeSpin=1
AutoUpdateProbeText=Only at Agent Start
[Switches]
OperatingSystems=2000,XP
OverwriteFlag=1
CreateUnInstall=1
ScrambleUnInstallData=1
HideErrMsgUnInstall=0
HideLogBtnUnInstall=0
UnInstallExeStampSwitch=0
UnInstallExeStamp=
CreateLogFile=0
ConfirmExtract=0
TestAdminRights=1
TestAdminRightsUnInstall=1
TestDotNetFramework=0
TestExeBeforeInstall=1
TestExeBeforeUnInstall=1
[Registry]
[IniFile]
[Environment]
[Association]
OpenWith=0
OpenWithName=
OpenWithMenuText=Open with
OpenWithExtensions=
[VerInfo]
CopyFromExe=0
DefineManually=0
Item-001=|Comments||
Item-002=|CompanyName||
Item-003=|FileDescription||
Item-004=|FileVersion||
Item-005=|InternalName||
Item-006=|LegalCopyright||
Item-007=|LegalTrademarks||
Item-008=|OriginalFilename||
Item-009=|ProductName||
Item-010=|ProductVersion||
CopyIconFromTargetExe=0
CopyIconFromOtherApp=0
OtherIconAppFileName=
Spin1=0
Spin2=0
[Execute]
ExecuteDllCheckBox=0
ExecutionDllFileName=
[GroupNames]
Group-000=Main Group
[Group-000]
TypicalCompactData=15
Description=This is the main group of files
Item-000=Fol*<Application Folder>[0]
Item-001=Fil*F:\taylorr\STM\src\vrpn\installers\phantom_server\vrpn.cfg
Item-002=Fil*F:\taylorr\STM\src\vrpn\installers\phantom_server\vrpn_Tracker.cfg
Item-003=Fil*F:\taylorr\STM\src\vrpn\pc_win32\server_src\vrpn_server\Release\vrpn_server.exe
# vrpn.cfg.SAMPLE for VRPN version 06.04
################################################################################
################################################################################
# This file provides comments and examples for the vrpn.cfg file that is read
# by the vrpn_server application when it starts up. This is a generic server
# application that can start up many but maybe not all servers.
#
# This has sample lines for a vrpn.cfg file. If you get a new device working,
# add a line for it here. DO NOT remove lines from this file (unless
# devices are declared obsolete) - just change the actual vrpn.cfg to match
# your application.
#
# All examples in the file are preceded by comment characters (#). To actually
# use one of these examples, remove that character from the beginning of all the
# examples that you want to use, and edit those lines to suit your environment.
################################################################################
################################################################################
################################################################################
# Tracker classes. Lines here to start various tracker servers. A description is
# provided for each type of tracker for the arguments it takes, then an example
# configuration line is provided.
################################################################################
################################################################################
# NULL Tracker. This is a "device" that reports the Identity transformation for
# each of its sensors at the specified rate. It can be used to verify connections
# are working and for other tests of VRPN. There are three arguments:
# char name_of_this_device[]
# int number_of_sensors
# float rate_at_which_to_report_updates
#vrpn_Tracker_NULL Tracker0 2 2.0
################################################################################
# Flock-of-birds Tracker. Runs an Ascension Flock of Birds tracker that is
# attached to a serial port on this machine. Note that there is another driver
# (listed below) that runs the Flock when each sensor is connected to its own
# serial line. Arguments:
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tracker_Flock Tracker0 4 /dev/ttyS0 115200
################################################################################
# Flock-of-birds in parallel Tracker. Runs an Ascension Flock of Birds tracker
# that has its source and each sensor plugged into its own serial port on this
# machine (perhaps through a Cyclades multi-port serial card). This mode of
# operation increases the throughput and decreases the latency of tracker reports.
# The arguments match those of the Flock-of-birds tracker from above, with the
# addition of the name of the serial ports for each of the sensors added at the
# end. Arguments (all on the same line):
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device_for_controller[]
# int baud_rate_of_serial_device
# [one for each sensor] char name_of_serial_device_for_sensor[]
#vrpn_Tracker_Flock_Parallel Tracker0 4 /dev/ttyC4 115200 /dev/ttyC0 /dev/ttyC1 /dev/ttyC2 /dev/ttyC3
################################################################################
# Fastrak Tracker. Runs a Polhemus Fastrak tracker that is attached to a serial
# port on this machine. This driver will also run an InterSense IS600 or IS900
# tracker, but you will want to include extra initialization code (as described
# below) to set up the ultrasonic pip information, wand devices, stylus devices
# and so forth. Arguments that go on the first line:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#
# It is possible to add additional commands that will be sent to the tracker
# by putting the backslash character (\) at the end of the config line. This
# will cause the following line to be read in and sent to the Fastrak during
# the reset routine. You can add additional lines by putting a slash at the
# end of each command line but the last. Each line will be sent to the Fastrak
# with a newline at the end of it. If a line starts with an asterisk (*), then
# it is treated as a line telling how long to sleep, with the integer number of
# seconds following the *.
#
# If one or more sensors on the Fastrak have a stylus button on them, use
# the "FTStylus" command after the reset command lines (if any). There should
# be a front-slash "/" character at the end of the line before the FTStylus
# command. The command takes two arguments: the name of the button device
# that will report the buttons and the sensor number to which the button is
# attached (the first sensor is sensor 0).
#
# Commands to add Joysticks (2 buttons) or Wands (5 buttons and 2 analogs) to
# the various sensors on the Isense900 are done by adding Stylus and
# Wand command lines after the reset command lines. Each of these lines
# takes two arguments: the name of the button (for Stylus) or button and
# analog (for Wand) servers, and the sensor number (starting from 0). The
# Wand line takes eight additional parameters, which specify the scaling
# and clipping behavior of the two directions on the analog joystick. Each
# set of for is the min, lowzero, hizero, and max values: these are mapped
# to -1, 0,0, and 1 (all values between lowzero and hizero are mapped to 0).
# Start with these at -1,0,0,1 and use the 'printcereal' program or some other
# method to read them and see what the range of acheivable values is. Then,
# set them to slightly conservative values so that the whole range is covered
# and the analogs will report zero when the joystick is centered. The
# presence of these lines is indicated by placing them after any additional
# reset command lines, by ending the line preceding them with the front slash
# "/" character.
#
# Remember that the "remote" button object is not the same as the the tracking
# device, so be sure to use a remote button object that connects to the button
# rather than the tracker. The button device name is defined on the stylus or
# wand line in the config file, and should not be the same as the tracker. In
# the case described by the example configuration below, if the name of the
# machine running the server is "myis900server" you would connect to the tracker
# as "Isense900@myis900server" and to the buttons on the stylus as
# "Stylus0@myis900server":
#
# Note that this frontslash and backslash-notation can only be used for the
# Fastrak/Isense tracker, not to extend the line for any other type of device
# listed in this configuration file.
# Vanilla Fastrak on on a Unix box
#vrpn_Tracker_Fastrak Fastrak0 /dev/ttyS0 19200
# Fastrak with a stylus on sensor zero on a Windows box
#vrpn_Tracker_Fastrak Tracker0 COM1 115200 /
#FTStylus Stylus0 0
# IS600 and its pip settings
#vrpn_Tracker_Fastrak Isense600 /dev/ttyS0 19200 \
#MCc\
#*5\
#MCM1,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,89\
#MCM1,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,87\
#MCM2,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,66\
#MCM2,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,71\
#MCM3,1,0.1237,-0.0762,-0.0424,0.00,0.00,-1.00,82\
#MCM3,2,0.1237,0.0762,-0.0424,0.00,0.00,-1.00,77\
#MCe\
#*10
# IS900 with a wand on the first sensor and a stylus on the third:
#vrpn_Tracker_Fastrak Isense900 COM1 115200 /
#Wand Wand0 0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0 /
#Stylus Stylus0 2
################################################################################
# InterSense tracker using the Intersense-provided library to communicate
# with the tracker. This device type is not compiled by default, since it uses
# a proprietary library. However, you can get it to compile by defining
# VRPN_INCLUDE_INTERSENSE when compiling. Note that the Fastrak driver will
# run IS-600 and IS-900 trackers without the proprietary library, so you might
# try that as well.
#
# You can include extra initialization code (as described
# below) to set up the ultrasonic pip information, wand devices, stylus devices
# and so forth. Arguments that go on the first line:
# char name_of_this_device[]
# char name_of_serial_device[] - this can be COM1-4 or AUTO
# AUTO will automatically find USB and
# serial trackers. Use COM1-4 only if you
# have more than one serial tracker.
# You should use COM1-4 on unix as well,
# as these just tell the isense library
# to look in serial port 1-4.
# I guess you can't have >1 USB trackers.
# char "IS900time" - use the IS900 timestamps (optional)
#
# It is possible to add additional commands that will be sent to the tracker
# by putting the backslash character (\) at the end of the config line. This
# will cause the following line to be read in and sent to the InterSense during
# the reset routine. You can add additional lines by putting a slash at the
# end of each command line but the last. Each line will be sent to the InterSense
# with a newline at the end of it. If a line starts with an asterisk (*), then
# it is treated as a line telling how long to sleep, with the integer number of
# seconds following the *.
#
# Commands to add Joysticks (2 buttons) or Wands (5 buttons and 2 analogs) to
# the various sensors on the Isense900 are done by adding Stylus and
# Wand command lines after the reset command lines. Each of these lines
# takes two arguments: the name of the button (for Stylus) or button and
# analog (for Wand) servers, and the sensor number (starting from 0). The
# Wand line takes eight additional parameters, which specify the scaling
# and clipping behavior of the two directions on the analog joystick. Each
# set of for is the min, lowzero, hizero, and max values: these are mapped
# to -1, 0,0, and 1 (all values between lowzero and hizero are mapped to 0).
# Start with these at -1,0,0,1 and use the 'printcereal' program or some other
# method to read them and see what the range of acheivable values is. Then,
# set them to slightly conservative values so that the whole range is covered
# and the analogs will report zero when the joystick is centered. The
# presence of these lines is indicated by placing them after any additional
# reset command lines, by ending the line preceding them with the front slash
# "/" character.
#
# Remember that the "remote" button object is not the same as the the tracking
# device, so be sure to use a remote button object that connects to the button
# rather than the tracker. The button device name is defined on the stylus or
# wand line in the config file, and should not be the same as the tracker. In
# the case described by the example configuration below, if the name of the
# machine running the server is "myis900server" you would connect to the tracker
# as "Isense900@myis900server" and to the buttons on the stylus as
# "Stylus0@myis900server":
#
# Note that this frontslash and backslash-notation can only be used for the
# Fastrak and InterSense tracker, not to extend the line for any other
# type of device
# listed in this configuration file.
# Vanilla InterSense
#vrpn_Tracker_InterSense Tracker0 AUTO IS900time /
#Wand Wand0 0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0
# Vanilla InterSense using IS900 timing
#vrpn_Tracker_InterSense Tracker0 AUTO IS900time
# IS600 and its pip settings
#vrpn_Tracker_InterSense Isense600 COM1 \
#MCc\
#*5\
#MCM1,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,89\
#MCM1,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,87\
#MCM2,1,0.0900,0.0000,-0.2210,0.00,0.00,-1.00,66\
#MCM2,2,-0.0566,0.0000,-0.2210,0.00,0.00,-1.00,71\
#MCM3,1,0.1237,-0.0762,-0.0424,0.00,0.00,-1.00,82\
#MCM3,2,0.1237,0.0762,-0.0424,0.00,0.00,-1.00,77\
#MCe\
#*10
# IS900 with a wand on the first sensor and a stylus on the third:
#vrpn_Tracker_InterSense Isense900 COM1 /
#Wand Wand0 0 -1.0 0.0 0.0 1.0 -1.0 0.0 0.0 1.0 /
#Stylus Stylus0 2
################################################################################
# Dynasight Tracker. Runs an Origin System's DynaSight tracker connected to a
# serial port on this machine. arguments:
# char name_of_this_device[]
# int number_of_sensors
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tracker_Dyna Tracker0 1 /dev/ttyS0 19200
#vrpn_Tracker_Dyna Tracker0 1 COM1 19200
################################################################################
# AnalogFly Tracker. This is a tracker that is intended to be used on top of
# a joystick or motion tracker of some kind to turn it into a moving or flying
# device. It could be used on top of any analog device, in fact.
# This device basically takes in analog signals and puts out transformation
# matrices. It should supercede the JoyFly tracker, since it is more general.
# There are two kinds of JoyFly's: absolute ones and differential ones. For
# absolute ones, the analog value is mapped directly to position or orientation
# on each axis. For differential ones, the values are used to create a
# "change" matrix that is applied once per interval, accumulating changes as
# it goes; this enables the user to "fly" along by holding a joystick forward,
# for example.
# One analog channel is associated with each axis (X, Y, Z) and rotation about
# each axis (RX, RY, RZ). For each axis, the value is converted to a position
# (meters) or speed (meters/second) for absolute trackers; or into an
# orientation (revolutions) or angular velocity (revolutions/second) by first
# subtracting an offset, then thresholding it to see if it is far enough from
# zero, then (if it is) scaling it and taking it to a power (to allow nonlinear
# speedup as the stick is pushed far from center).
# A button can be associated with a reset function, which will take the
# device back to center (identity transformation). The device will also recenter
# when the first connection is made to the server it is running on. (Centering
# has no effect on absolute AnalogFlys).
# Any axis or the reset button can be disabled by setting the name of its
# associated device to the string "NULL".
# Note that you could have multiple of these devices running simultaneously,
# each with a different name and interaction metaphor. The user could then
# connect to their favorite one. Arguments:
# char name_of_this_device[]
# float update_rate_to_send_tracker_reports
# char type[] = "absolute" or "differential"
# [six lines follow, one for X Y Z RX RY RZ, each with:
# char axis_name[] (X Y Z RX RY RZ in that order)
# char name_of_analog_device[] (start with * for local)
# int channel_of_analog_device
# float offset
# float threshold
# float scale
# float power
# ]
# [New line to describe reset button, with:
# char "RESET"
# char name_of_button_device[] (start with * for local)
# int which_button_to_use
# ]
#vrpn_Tracker_AnalogFly Tracker0 60.0 differential
#X *CerealBox0 4 0.0 0.021 1.0 1.0
#Y *CerealBox0 5 0.0 0.021 1.0 1.0
#Z *CerealBox0 6 0.0 0.021 3.0 1.0
#RX *CerealBox0 0 0.0 0.021 1.0 1.0
#RY *CerealBox0 1 0.0 0.021 1.0 1.0
#RZ *CerealBox0 2 0.0 0.021 3.0 1.0
#RESET *CerealBox 3
#vrpn_Tracker_AnalogFly Tracker0 60.0 differential
#X *Magellan0 0 0.0 0.0 2.0 1.0
#Y *Magellan0 1 0.0 0.0 2.0 1.0
#Z *Magellan0 2 0.0 0.0 2.0 1.0
#RX *Magellan0 3 0.0 0.0 2.0 1.0
#RY *Magellan0 4 0.0 0.0 2.0 1.0
#RZ *Magellan0 5 0.0 0.0 2.0 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X NULL 0 0.0 0.0 1.0 1.0
#Y NULL 0 0.0 0.0 1.0 1.0
#Z NULL 0 0.0 0.0 1.0 1.0
#RX *Radamec0 1 0.0 0.0 -0.0027777777 1.0
#RY NULL 0 0.0 0.0 1.0 1.0
#RZ *Radamec0 0 0.0 0.0 0.0027777777 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Tracker0 60.0 absolute
#X *Joystick0 0 0.0 0.0 1.0 1.0
#Y *Joystick0 1 0.0 0.0 -1.0 1.0
#Z *Joystick0 6 0.0 0.0 1.0 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Joystick0 5 0.0 0.0 0.5 1.0
#RESET NULL 0
#vrpn_Tracker_AnalogFly Phantom 60.0 absolute
#X *Phantom 0 0.0 0.0 0.125 1.0
#Y *Phantom 1 0.0 0.0 -0.125 1.0
#Z *Phantom 6 0.0 0.0 0.25 1.0
#RX NULL 3 0.0 0.0 1.0 1.0
#RY NULL 4 0.0 0.0 1.0 1.0
#RZ *Phantom 5 0.0 0.0 0.06 1.0
#RESET NULL 0
################################################################################
# XXX This device is superceded by the more-general vrpn_Tracker_AnalogFly.
# JoyFly Tracker. A vrpn_Tracker that translates the vrpn_Joystick into
# Walkthrough- convention tracker reports. This is part of a two-part setup
# that allows you to use a joystick as a flying device. First, a joystick
# device has to be created (named joybox in our example) that will produce
# the analog inputs that the JoyFly tracker uses to determine the transformation.
# Then, the JoyFly device needs to be started and will listen to the device
# and produce tracker reports. If these are both run on the same server, then
# the JoyFly needs to use the "server" connection to hear from the Joystick
# device, which is indicated by placing a '*' in front of the name of the
# joystick device that it is to use. If the joystick device is remote from
# this server, then the full name of it should be used (joystick@foo.cs.unc.edu).
# XXX This device is superceded by the more-general vrpn_Tracker_AnalogFly
# Arguments:
# char name_of_this_device[]
# char source_joystick_name[] (Start with * for one sharing a connection)
# char joystick_configuration_file_name[]
#vrpn_JoyFly walk-joybox *joybox vrpn_Joyfly.cfg
################################################################################
# ButtonFly Tracker. This is a tracker that is intended to be used on top of
# a Global Haptics Orb or other buttond device to turn it into a moving or
# flying device. It basically takes in button signals and puts out
# transformation matrices.
# There are two kinds of Buttons: absolute ones and differential ones. For
# absolute ones, pressing it causes the position or orientation associated with
# it to be stored directly into the transformation. This enables the user to
# "teleport" to given locations by pressing buttons. For differential ones,
# the position or orientation are treated as deltas and are used to create a
# "change" matrix that is applied once per interval, accumulating changes as
# it goes; this enables the user to "fly" along by holding a button down,
# for example.
# Each button is associated with either a position (meters) or speed
# (meters/second) for absolute buttons; or an orientation (revolutions)
# or angular velocity (revolutions/second).
# An analog channel can be associated with a scale function that scales the
# velocity or angular velocity terms uniformly. The entry specifies an
# offset to be applied to the analog channel, a scale to be applied to it,
# and a power to which the result should be taken; the end result is used
# to scale all velocity or angular velocity terms. This channel has no
# effect on the effects of absolute buttons.
# The device will recenter (set itself to the identity transform) when the
# first connection is made to the server it is running on.
# Note that you could have multiple of these devices running simultaneously,
# each with a different name and interaction metaphor. The user could then
# connect to their favorite one. Arguments:
# char name_of_this_device[]
# float update_rate_to_send_tracker_reports
# [one or more lines follow, each of one of two types
# (1) char [] = "absolute"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float X_to_translate_to
# float Y_to_translate_to
# float Z_to_translate_to
# float rotation_about_X
# float rotation_about_Y
# float rotation_about_Z
# (2) char [] = "differential"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float X_translation_meters_per_second
# float Y_translation_meters_per_second
# float Z_translation_meters_per_second
# float spin_about_X_revolutions_per_second
# float spin_about_Y_revolutions_per_second
# float spin_about_Z_revolutions_per_second
# ]
# [An optional line describing an analog to scale the velocity
# char [] = "vel_scale"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float offset
# float scale
# float power
# ]
# [An optional line describing an analog to scale the rotation
# char [] = "rot_scale"
# char name_of_button_device[] (start with * for local)
# int which_button_on_device
# float offset
# float scale
# float power
# ]
# [one more line, consisting of the word "end"]
# Note that the same button can cause more than one action to take place,
# and the same analog can cause scaling of both the velocity and rotation.
# This example for a Global Haptics Orb pushes the transformation away
# from the button that is pressed
# for all of the standard buttons. It rotates around the Y axis when the
# rocker switch is rocked up and down. It resets to the origin when one
# of the pushbuttons is pressed. Both the velocity and angular velocity
# are controlled by the thumbwheel.
#vrpn_Tracker_ButtonFly Tracker0 60.0
#differential *Orb0 0 0 1 0 0 0 0
#differential *Orb0 1 0.707 0.707 0 0 0 0
#differential *Orb0 2 1 0 0 0 0 0
#differential *Orb0 3 0.707 -0.707 0 0 0 0
#differential *Orb0 4 0 -1 0 0 0 0
#differential *Orb0 5 -0.707 -0.707 0 0 0 0
#differential *Orb0 6 -1 0 0 0 0 0
#differential *Orb0 7 -0.707 0.707 0 0 0 0
#differential *Orb0 8 0 0.707 -0.707 0 0 0
#differential *Orb0 9 0.577 0.577 -0.577 0 0 0
#differential *Orb0 10 0.707 0 -0.707 0 0 0
#differential *Orb0 11 0.577 -0.577 -0.577 0 0 0
#differential *Orb0 12 0 -0.707 -0.707 0 0 0
#differential *Orb0 13 -0.577 -0.577 -0.577 0 0 0
#differential *Orb0 14 -0.707 0 -0.707 0 0 0
#differential *Orb0 15 -0.577 0.577 -0.577 0 0 0
#differential *Orb0 16 0 0.707 0.707 0 0 0
#differential *Orb0 17 0.577 0.577 0.577 0 0 0
#differential *Orb0 18 0.707 0 0.707 0 0 0
#differential *Orb0 19 0.577 -0.577 0.577 0 0 0
#differential *Orb0 20 0 -0.707 0.707 0 0 0
#differential *Orb0 21 -0.577 -0.577 0.577 0 0 0
#differential *Orb0 22 -0.707 0 0.707 0 0 0
#differential *Orb0 23 -0.577 0.577 0.577 0 0 0
#differential *Orb0 24 0 0 -1 0 0 0
#differential *Orb0 25 0 0 1 0 0 0
#differential *Orb0 28 0 0 0 0 -0.1 0
#differential *Orb0 29 0 0 0 0 0.1 0
#absolute *Orb0 27 0 0 0 0 0 0
#vel_scale *Orb0 0 -1.0 0.5 1.0
#rot_scale *Orb0 0 -1.0 0.5 1.0
#end
################################################################################
# 3Space Tracker. Runs a Polhemus 3Space (not Fastrak) tracker that is attached
# to a serial port on this machine. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_Tracker_3Space Tracker0 /dev/ttyS0 19200
################################################################################
################################################################################
# Non-tracker devices. Lines are provided here for the various non-tracker servers
# that can be started.
################################################################################
# Example Dial server. This is a "device" that reports constant rotations for
# each of its dials at the specified rate. It can be used to verify connections
# are working and for other tests of VRPN. There are four arguments:
# char name_of_this_device[]
# int number_of_dials
# float rate_at_which_the_dials_spin (revolutions/second)
# float rate_at_which_to_report_updates (udpates/second)
#vrpn_Dial_Example Dial0 2 2.0 10.0
################################################################################
# CerealBox dial/button/analog. Runs a BG Systems CerealBox device that attaches
# to a serial port on this machine. As of VRPN version 04.07, 19200 is the
# only supported baud rate. The driver has been tested on an LV824-F-8e device.
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int number_of_buttons_to_read (starting from 0)
# int number_of_analogs_to_read
# int number_of_encoders_to_read
#vrpn_CerealBox Cereal0 /dev/cua0 19200 8 8 8
################################################################################
# Magellan button/analog. Runs a Logitech Magellan device that attaches
# to a serial port on this machine. As of VRPN version 04.12, 9600 is the
# only supported baud rate.
#
# Note that if you want to use the Magellan as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device that listens to its analog
# outputs and converts them into tracker reports
#
# John Stone added support for the SpaceBalls in version 06.03, an example
# startup is shown below.
#
# Julien Brisset discovered how to make this work with a slightly older version
# of the Magellan. If the example Magellan line doesn't work, add 'altreset' to
# the line to use the alternative reset string for the device.
#
# NOTE: You should NOT run the driver that comes with the Magellan, since the
# VRPN driver opens the serial port and communicates with the device directly.
# If the Magellan driver from the manufacturer is running, then VRPN will not
# be able to open the port.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# char "altreset" {Optional, for older Magellans}
#vrpn_Magellan Magellan0 /dev/ttyS0 9600
#vrpn_Magellan Magellan0 /dev/ttyS0 9600 altreset
#vrpn_Spaceball Spaceball0 /dev/ttyS0 9600
################################################################################
# NRL Immersion Box dial/button/analog. Runs a Immersion Interface Box device
# attached to a serial port. As of March 28, 2000 code to read the analog and
# angle encoders has not been implemented. Also, baud rate on many SGI's is
# limited to 38400, but I have run the ibox at 115200 on PCs.
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int number_of_buttons_to_read (i.e. 4 ==> 0,1,2,3)
# int number_of_analogs_to_read
# int number_of_encoders_to_read
#vrpn_ImmersionBox ibox /dev/ttyd2 38400 4 0 0
#vrpn_ImmersionBox ibox com1 115200 4 0 0
################################################################################
# Wands button/analog, driver from Brown University. Runs a Wanda device
# attached to a serial port. As of Aug 28, 2000 this driver was untested on
# Windows machines. The code compiles fine for them, so it seems like things
# should work okay...
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port_to_use[]
# int baud_rate_of_serial_device
# float minimum_update_rate
#vrpn_Wanda wanda /dev/ttyd2 38400 60.0
################################################################################
# Radamec Serial Position Interface analog. Camera tracker that attaches
# to a serial port on this machine. Note that for normal operation, 38400 is the
# only supported baud rate.
#
# Note that if you want to use the Radamec SPI as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device (of the absolute variety)
# that listens to its analog outputs and converts them into tracker reports.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port[]
# int baud_rate_of_serial_port
#vrpn_Radamec_SPI Analog0 /dev/ttyS16 38400
################################################################################
# Zaber linear positioning element analog that attaches
# to a serial port on this machine.
#
# Note that if you want to use the Zaber as a tracking device, you will
# need to run a vrpn_Tracker_AnalogFly device (of the absolute variety)
# that listens to its analog outputs and converts them into tracker reports.
#
# Arguments:
# char name_of_this_device[]
# char name_of_serial_port[]
#vrpn_Zaber Analog0 COM1
################################################################################
# SGI Dial and Button box, raw interface. Runs a dial-and-button box from SGI,
# talking to it through the raw serial interface (not using the GL interface
# supplied by SGI). This allows the box to be opened even if there is nobody
# logged on at the console. Note that to use this on an SGI, you will need to
# configure the port as a serial device, not as a button device, to get it to
# run. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# [list of buttons to treat as toggles] int button_to_toggle
#vrpn_raw_SGIBox Sgibox0 /dev/ttyS0 0 1 2 3
################################################################################
# SGI Dial and Button box, cooked interface. Runs a dial-and-button box from SGI,
# talking to it through the GL interface supplied by SGI. Note that this can
# only be used on an SGI, and the serial port must be configured as a dial/button
# device and the dial/button server from SGI must be running to use it. Arguments:
# char name_of_this_device[]
# [list of buttons to treat as toggles] int button_to_toggle
#vrpn_SGIBOX Sgibox0 1 2
################################################################################
# UNC Python button device. UNC has developed a custom button input device, which
# is a 5-button controller that attaches to a parallel port and uses the sense
# lines to return the state of the buttons. This runs the device. Note that on
# Windows NT, you need to have installed the GiveIO driver for this code to
# work. It also works on Linux (no extra drivers needed), but on no other
# architecture. Arguments:
# char name_of_this_device[]
# int parallel_port_to_use_starting_with_1
#vrpn_Button_Python Button0 1
################################################################################
# UNC Joystick driver. UNC has developed a custom-build joybox, with 7 analog
# and 2 button inputs (two 3-axis joysticks and a slider, with a button on top
# of each joystick). This will drive one of these devices, which attaches to
# a serial port on this computer. I'm not sure what the baud rate should be;
# David Harrison might know.
# This driver can be used in conjunction with the JoyFly driver to produce a
# tracker that uses the joystick to fly around. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# float minimum_update_rate_from_analogs_even_if_they_dont_move
#vrpn_Joystick Joybox0 /dev/ttyd1 19200 10.0
#vrpn_Joystick Joybox0 COM1 19200 10.0
################################################################################
# Linux Joystick. Interface to the Linux Joystick driver by Vojtech Pavlik
# included in several Linux distributions. The server code has been tested
# with Linux Joystick driver version 1.2.14. Yet, there is no way how to
# map a typical joystick's zillion buttons and axes on few buttons and axes
# really used. Unfortunately, even joysticks of the same kind can have
# different button mappings from one to another.
# Arguments:
# char name_of_this_device[]
# char name_of_joystick_device[]
#vrpn_Joylin Joylin0 /dev/js0
################################################################################
# Fakespace Pinch Glove. Drives a Fakespace Pinch Glove device connected to a
# serial port on this machine. This device has ten buttons-two hands and five
# fingers on each hand. Buttons 0-4 are fingers for the right hand-thumb first
# and pinkie last- while buttons 5-9 are for the left hand-thumb first. The
# Button is ON when it is touching another finger. Therefore there cannot
# be just one Button ON. Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# vrpn_Button_PinchGlove PinchGlove0 COM1 9600
################################################################################
# Adrienne Electronics Corporation PCI time code driver. The PCI-VITC board
# for which this driver was developed reads in VITC time codes from an input
# signal. This will drive one of these devices.
# Arguments:
# char name_of_this_device[]
# vrpn_TimeCode_Generator TimeGen0
################################################################################
# 5DT glove. Drive a 5dt glove connected on a serial Port. This device uses
# optical fiber to get the finger position. Not all the 5dt gloves are available
# now.
# 2 modes are driven: the first one let the driver get data from the glove
# when requested (we advise this mode). The second one makes the glove send
# data continuously. This mode may saturate the input buffer.
# Gesture management is not implemented yet nor the mouse emulation mode
# arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
# int mode_of_data_reporting (1 = on request, 2 = continuously)
# vrpn_5dt glove_5dt /dev/ttyS0 19200 1
################################################################################
# NRL Serial Mouse. A device made by wiring buttons in parallel with the buttons
# on a serial mouse. Both mousesystems or microsoft mouse protocols are
# supported. Note that the server code makes the connection at the standard
# 1200 baud. The mouse can be plugged into any serial port -- this driver goes
# directly through the raw port and does not use the built-in mouse drivers.
# NOTE: The middle button on the 3button type is toggled by moving the mouse
# on a surface while not toggling the other two buttons, strange as this may
# seem. The motion of the mouse is not reported, only the buttons.
#vrpn_Button_SerialMouse Button0 /dev/ttyd1 mousesystems
#vrpn_Button_SerialMouse Button0 /dev/ttyd1 3button
#vrpn_Button_SerialMouse Button0 COM1 mousesystems
#vrpn_Button_SerialMouse Button0 COM1 3button
################################################################################
# NRL TNG3. (Totally Neat Gadget) A device made by mindtel, available from
# pulsar.org. Powered off the serial port control lines, the TNG3 has 8 digital
# and 8 analog inputs. Analog resolution is 8 bits. Baud rate fixed internally
# at 19200.
# char name_of_this_device[]
# char name_of_serial_device[]
# int number_of_buttons_to_read (i.e. 8 ==> 0,1,2,3,4,5,6,7)
# int number_of_analogs_to_read
#vrpn_Tng3 tng3name /dev/ttyd2 4 0
#vrpn_Tng3 tng3name com1 8 8
################################################################################
# Microsoft DirectX compatible force-feedback joystick (or non-force-feedback
# joystick).
# char name_of_this_device[]
# int number of times per second to read from the device
# int number of times per second to update force (0 for non-force device)
#vrpn_DirectXFFJoystick Joystick0 60 0
#vrpn_DirectXFFJoystick Joystick0 60 200
################################################################################
# Manager for joysticks under windows using standard win32 calls.
# for force feedback support, see DirectX joystick above
#
# Arguments:
# char name_of_this_device[]
# int joystick Id
# (1 for first joystick JOYSTICKID1 or 2 for second JOYSTICKID2 only)
# int number of times per second to read from the device
# int readmode : 0 = raw data;
# 1 = 0,1 normalized data;
# 2=-1,1 normalized data
# int percentage (0 to 100) of deadzone (used mode 1 and 2 only)
#vrpn_Joywin32 joyWin32 1 60 2 35
################################################################################
# Global Haptics GeoOrb serial-line device that contains a number of buttons,
# a thumbwheel, and a trackball. For current devices, only 19200 baud works.
# Arguments:
# char name_of_this_device[]
# char name_of_serial_device[]
# int baud_rate_of_serial_device
#vrpn_GlobalHapticsOrb Orb0 COM1 19200
################################################################################
# SensAble Technologies Phantom force-feedback device opened using the
# GHOST software developer's kit. For Phantom Desktop systems, you don't
# need to have the user establish the reset position. For the Premium models,
# you do.
# Arguments:
# char name_of_this_device[]
# int establish_reset_position (0 or 1)
# float rate_to_send_tracker_reports
vrpn_Phantom Phantom 0 60.0
Phantom
0.0 0.0 -0.28
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Phantom@phantom3
0.0 0.0 -0.28
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Phantom@phantom
0.0 0.0 -0.28
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Phantom@phantom1
0.0 0.0 -0.28
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Phantom@tantalum-cs
0.0 0.0 -0.28
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Phantom@phantom2 # nWB phantom, values from .tracker, not sure if right
-0.424 -0.1146 -0.0166
0.130526 0.0 -0.991445 0.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
Tracker0@ionanowb # nWB dynasight head tracker, values from .tracker
-0.49 0.251 0.486
0.521334 0.521334 0.477714 0.477714
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
PhantomNULLhead@phantom
0.0 0.0 0.0
0.0 0.0 0.0 1.0
-0.2 -0.2 -0.1 0.2 0.2 0.2
1
0
0.0 0.0 0.0
0.0 0.0 0.0 1.0
all PHANToMs have only 1 sensor, (sensor number 0)
This is a sample vrpn_Tracker.cfg file
format:
<tracker name>
<room from tracker translation (x,y,z)>
<room from tracker quaternion (x,y,z,w)>
<workspace (xmin,ymin,zmin) (xmax,ymax,zmax) in tracker coordinate system>
<number of sensors>
<sensor #>
<sensor from unit translation (x,y,z)>
<sensor from unit quaternion (x,y,z,w)>
...
...
[autorun]
open=VRPN v06_04.exe
label=Virtual Reality Peripheral Network
[General]
FileVersion=1.1
FileType=QSetupIniFile
ComposerVersion=4.0.0.4
[Project]
ProjectName=vrpn
ProjectDirectory=F:\taylorr\STM\src\vrpn\installers\vrpn
NonSFXDirectory=F:\taylorr\STM\src\vrpn\installers\vrpn\NonSFX
MediaFileName=VRPN v06_04
CopyMediaToFName=
ProgramDescriptiveName=Virtual Reality Peripheral Network
ProgramVersion=06.04
CompanyName=www.vrpn.org
ProgVerLiveUpdate=0
RegisterAsApp=1
LanguageFlag=1
LanguageNames=|
UseNonSFXDir=0
ClrNonSFXDir=0
CompressNonSFXFiles=0
ForceCopyNonSFXFiles=0
[Display]
AddSetupBackground=1
TopLabel=1
TopLabelVer=1
TopLabel2=0
BottomLabel=0
TopLabelText="Virtual Reality Peripheral Network"
TopLabel2Text=""
BottomLabelText="Copyright 2003"
TopBackgroundColor=16711680
BottomBackgroundColor=0
AddBottomColor=1
DlgBmp3DFrame=1
DialogStyle=Modern
AddDialogBitmap=0
DialogBitmapFileName=
AddBackgroundBitmap=0
BackgroundBitmapFileName=
BackgroundBitmapLocation=|Top/Left|0|0|
AddBackgroundWave=0
BgBmpTransparent=0
BackgroundWaveFileName=
BackgroundWaveLocation=|Center|300|0|
BackgroundWaveLoop=1
BackgroundWaveDelay=0
AddBackgroundWaveSlider=1
BackgroundWaveSliderType=Fixed
TopLabelSide=Left
TopLabel2Side=Left
BottomLabelSide=Left
DialogLocation=|Center|0|0|
TopLabelFont=|Tahoma|36|16777215|1|2|
TopLabel2Font=|Tahoma|18|16777215|1|2|
BottomLabelFont=|Tahoma|10|16777215|1|0|
CompanyUrl=www.vrpn.org
[TargetExe]
TargetDirectory=<AbsoluteDir>C:\NSRG\bin\VRPN v06.04
CommonDirectory=<AbsoluteDir>C:\NSRG\src
AuxDirectory=<AbsoluteDir>C:\NSRG\src
TargetExeName=<Application Folder>\vrpn_server.exe
RunTimeDir_1=|||||||1||||1||1|<ProgramFilesDir>|||||
RunTimeDir_2=|||||||1||||1||1|<ProgramFilesDir>|||||
RunTimeDir_3=|||||||1||||1||1|<ProgramFilesDir>|||||
[Dialogs]
SelectedDialogs=Welcome,License,Readme,User Information,*Setup Type,*Custom,*Destination,Associate,*Shortcuts,*Confirm Setup,*Copy Files,*Complete
LicenseTextFile=
ReadmeTextFile=
ReadmeTextFile2=
UseNotepad=0
SpaceReqOnDriveCheckBox=0
SpaceReqOnDrive=
RequestUserName=1
RequestCompanyName=1
RequestSerialNumberAlso=0
RequestSerialCheckDLL=0
SerialCheckDll=
RequestPredefinedSerial=0
CaseSensitiveSerial=0
RequestTokenizedSerial=0
CDSetup=0
ShowCompactSetupAlso=1
ForcePartialSetup=0
ShowProgBar2=0
SilentSetup=0
ProposeReadme=0
ProposeLaunch=0
ProposeRestart=0
ProposeReadmeChecked=0
ProposeLaunchChecked=0
ShowCloseRecommendation=1
ShowAdwareDisclaimer=0
ShowCopyrightWarning=1
[Shortcuts]
AddMainShortCut=1
ForceRemoveShortcutFolder=0
ProgramLinkFolder=NSRG\VRPN 06.04
ProgramLinkName=Vrpn_server
ProgramLinkParam=
ProgramLinkWorkDir=<Application Folder>
ProgramLinkRun=Normal Window
ProgramLinkIconFile=
ProgramLinkIconNum=0
StartMenuLinkName=Virtual Reality Peripheral Network
DesktopLinkName=Virtual Reality Peripheral Network
SendToLinkName=Virtual Reality Peripheral Network
StartUpLinkName=Virtual Reality Peripheral Network
QuickLaunchLinkName=Virtual Reality Peripheral Network
StartMenuCheckBox=0
DesktopCheckBox=0
SendToCheckBox=0
StartUpCheckBox=0
QuickLaunchCheckBox=0
StartMenuChecked=1
DesktopChecked=1
SendToChecked=1
StartUpChecked=1
QuickLaunchChecked=1
SetAllUsers=1
AddUninstallShortcut=1
Item-000=*|Documentation|http://www.vrpn.org|NSRG\VRPN 06.04|||Normal Window||0|
Item-001=*|Test VRPN|<Application Folder>\test_vrpn.exe|NSRG\VRPN 06.04||<Application Folder>|Normal Window||0|
Item-002=*|Test Clock|<Application Folder>\time_test.exe|NSRG\VRPN 06.04||<Application Folder>|Normal Window||0|
Item-003=*|Test client and server|<Application Folder>\client_and_server.exe|NSRG\VRPN 06.04||<Application Folder>|Normal Window||0|
Item-004=*|Server configuration file|<Application Folder>\vrpn.cfg|NSRG\VRPN 06.04||<Application Folder>|Normal Window||0|
Item-005=*|Source code (if installed)|<Common Folder>\vrpn|NSRG\VRPN 06.04||<Common Folder>\vrpn|Normal Window||0|
[Billboard]
AddBillboard=1
Item-000=|1|0|0|1|0|Center|0|0|8388608|16711680|Verdana|14|16777215|1|0|360|360|0|1|
[SplitSetup]
SplitSetup=0
ForceDownload=1
DownloadURL_SPLIT=http://
ConfirmSplitDownload=0
[AutoUpdate]
AutoUpdate=0
RunAutoUpdate=1
AddAutoUpdateShortcut=1
ReqConfirmDownload=0
ReqConfirmInstall=0
ShutDownMethod=Don't Shut Down
BackgroundUpdate=0
RestartProcess=0
InformFinish=0
UpdateProjectFName=
DownloadURL_UPDATE=http://
NameOfUpdateFile=
RunningProcess=
VersionOriginal=1
ValidVersions=
VersionNew=1
ReAskDays=0
AutoUpdateProbeSpin=1
AutoUpdateProbeText=Only at Agent Start
[Switches]
OperatingSystems=All,95,98,ME,NT,2000,XP
OverwriteFlag=1
CreateUnInstall=1
ScrambleUnInstallData=1
HideErrMsgUnInstall=0
HideLogBtnUnInstall=0
UnInstallExeStampSwitch=0
UnInstallExeStamp=
CreateLogFile=0
ConfirmExtract=0
TestAdminRights=1
TestAdminRightsUnInstall=1
TestDotNetFramework=0
TestExeBeforeInstall=1
TestExeBeforeUnInstall=1
[Registry]
[IniFile]
[Environment]
[Association]
OpenWith=0
OpenWithName=
OpenWithMenuText=Open with
OpenWithExtensions=
[VerInfo]
CopyFromExe=0
DefineManually=0
Item-001=|Comments||
Item-002=|CompanyName||
Item-003=|FileDescription||
Item-004=|FileVersion||
Item-005=|InternalName||
Item-006=|LegalCopyright||
Item-007=|LegalTrademarks||
Item-008=|OriginalFilename||
Item-009=|ProductName||
Item-010=|ProductVersion||
CopyIconFromTargetExe=0
CopyIconFromOtherApp=0
OtherIconAppFileName=
Spin1=0
Spin2=0
[Execute]
ExecuteDllCheckBox=0
ExecutionDllFileName=
[GroupNames]
Group-000=Main Group
Group-001=Source Code
[Group-000]
TypicalCompactData=15
Description=This is the main group of files
Item-000=Fol*<Application Folder>[0]
Item-001=Fil*F:\taylorr\STM\src\vrpn\pc_win32\server_src\client_and_server\Release\client_and_server.exe
Item-002=Fil*F:\taylorr\STM\src\vrpn\pc_win32\server_src\test_vrpn\Release\test_vrpn.exe
Item-003=Fil*F:\taylorr\STM\src\vrpn\pc_win32\server_src\vrpn_server\Release\vrpn_server.exe
Item-004=Fil*F:\taylorr\STM\src\vrpn\pc_win32\time_test\Release\time_test.exe
Item-005=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn.cfg
[Group-001]
TypicalCompactData=5
Description=
Item-000=Fol*<Common Folder>[0]
Item-001=Dir*<Common Folder>\quat
Item-002=Fil*F:\taylorr\STM\src\quat\xyzquat.c
Item-003=Fil*F:\taylorr\STM\src\quat\vector.c
Item-004=Fil*F:\taylorr\STM\src\quat\Readme
Item-005=Fil*F:\taylorr\STM\src\quat\quatlib.dsw
Item-006=Fil*F:\taylorr\STM\src\quat\quatlib.dsp
Item-007=Fil*F:\taylorr\STM\src\quat\quat.h
Item-008=Fil*F:\taylorr\STM\src\quat\quat.c
Item-009=Fil*F:\taylorr\STM\src\quat\matrix.c
Item-010=Fil*F:\taylorr\STM\src\quat\makefile
Item-011=Fil*F:\taylorr\STM\src\quat\.cvsignore
Item-012=Dir*<Common Folder>\quat\CVS
Item-013=Fil*F:\taylorr\STM\src\quat\CVS\Root
Item-014=Fil*F:\taylorr\STM\src\quat\CVS\Repository
Item-015=Fil*F:\taylorr\STM\src\quat\CVS\Entries
Item-016=Dir*<Common Folder>\quat\testapps
Item-017=Fil*F:\taylorr\STM\src\quat\testapps\timer.c
Item-018=Fil*F:\taylorr\STM\src\quat\testapps\qxform.c
Item-019=Fil*F:\taylorr\STM\src\quat\testapps\qmult.c
Item-020=Fil*F:\taylorr\STM\src\quat\testapps\qmake.c
Item-021=Fil*F:\taylorr\STM\src\quat\testapps\eul.c
Item-022=Dir*<Common Folder>\quat\testapps\CVS
Item-023=Fil*F:\taylorr\STM\src\quat\testapps\CVS\Root
Item-024=Fil*F:\taylorr\STM\src\quat\testapps\CVS\Repository
Item-025=Fil*F:\taylorr\STM\src\quat\testapps\CVS\Entries
Item-026=Dir*<Common Folder>\vrpn
Item-027=Fil*F:\taylorr\STM\src\vrpn\.cvsignore
Item-028=Fil*F:\taylorr\STM\src\vrpn\ChangeLog
Item-029=Fil*F:\taylorr\STM\src\vrpn\Format
Item-030=Fil*F:\taylorr\STM\src\vrpn\Makefile
Item-031=Fil*F:\taylorr\STM\src\vrpn\README
Item-032=Fil*F:\taylorr\STM\src\vrpn\README.Compiling
Item-033=Fil*F:\taylorr\STM\src\vrpn\README.Legal
Item-034=Fil*F:\taylorr\STM\src\vrpn\time_test.cpp
Item-035=Fil*F:\taylorr\STM\src\vrpn\time_test.dsp
Item-036=Fil*F:\taylorr\STM\src\vrpn\time_test.plg
Item-037=Fil*F:\taylorr\STM\src\vrpn\vrpn.dsp
Item-038=Fil*F:\taylorr\STM\src\vrpn\vrpn.dsw
Item-039=Fil*F:\taylorr\STM\src\vrpn\vrpn_3Space.C
Item-040=Fil*F:\taylorr\STM\src\vrpn\vrpn_3Space.h
Item-041=Fil*F:\taylorr\STM\src\vrpn\vrpn_ADBox.C
Item-042=Fil*F:\taylorr\STM\src\vrpn\vrpn_ADBox.h
Item-043=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog.C
Item-044=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog.h
Item-045=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_5dt.C
Item-046=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_5dt.h
Item-047=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_Output.C
Item-048=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_Output.h
Item-049=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_Radamec_SPI.C
Item-050=Fil*F:\taylorr\STM\src\vrpn\vrpn_Analog_Radamec_SPI.h
Item-051=Fil*F:\taylorr\STM\src\vrpn\vrpn_BaseClass.C
Item-052=Fil*F:\taylorr\STM\src\vrpn\vrpn_BaseClass.h
Item-053=Fil*F:\taylorr\STM\src\vrpn\vrpn_Button.C
Item-054=Fil*F:\taylorr\STM\src\vrpn\vrpn_Button.h
Item-055=Fil*F:\taylorr\STM\src\vrpn\vrpn_CerealBox.C
Item-056=Fil*F:\taylorr\STM\src\vrpn\vrpn_CerealBox.h
Item-057=Fil*F:\taylorr\STM\src\vrpn\vrpn_Clock.C
Item-058=Fil*F:\taylorr\STM\src\vrpn\vrpn_Clock.h
Item-059=Fil*F:\taylorr\STM\src\vrpn\vrpn_Configure.h
Item-060=Fil*F:\taylorr\STM\src\vrpn\vrpn_Connection.C
Item-061=Fil*F:\taylorr\STM\src\vrpn\vrpn_Connection.h
Item-062=Fil*F:\taylorr\STM\src\vrpn\vrpn_ConnectionTypes.h
Item-063=Fil*F:\taylorr\STM\src\vrpn\vrpn_Dial.C
Item-064=Fil*F:\taylorr\STM\src\vrpn\vrpn_Dial.h
Item-065=Fil*F:\taylorr\STM\src\vrpn\vrpn_DirectXFFJoystick.C
Item-066=Fil*F:\taylorr\STM\src\vrpn\vrpn_DirectXFFJoystick.h
Item-067=Fil*F:\taylorr\STM\src\vrpn\vrpn_Dyna.C
Item-068=Fil*F:\taylorr\STM\src\vrpn\vrpn_Dyna.h
Item-069=Fil*F:\taylorr\STM\src\vrpn\vrpn_FileConnection.C
Item-070=Fil*F:\taylorr\STM\src\vrpn\vrpn_FileConnection.h
Item-071=Fil*F:\taylorr\STM\src\vrpn\vrpn_FileController.C
Item-072=Fil*F:\taylorr\STM\src\vrpn\vrpn_FileController.h
Item-073=Fil*F:\taylorr\STM\src\vrpn\vrpn_Flock.C
Item-074=Fil*F:\taylorr\STM\src\vrpn\vrpn_Flock.h
Item-075=Fil*F:\taylorr\STM\src\vrpn\vrpn_Flock_Parallel.C
Item-076=Fil*F:\taylorr\STM\src\vrpn\vrpn_Flock_Parallel.h
Item-077=Fil*F:\taylorr\STM\src\vrpn\vrpn_ForceDevice.C
Item-078=Fil*F:\taylorr\STM\src\vrpn\vrpn_ForceDevice.h
Item-079=Fil*F:\taylorr\STM\src\vrpn\vrpn_Forwarder.C
Item-080=Fil*F:\taylorr\STM\src\vrpn\vrpn_Forwarder.h
Item-081=Fil*F:\taylorr\STM\src\vrpn\vrpn_ForwarderController.C
Item-082=Fil*F:\taylorr\STM\src\vrpn\vrpn_ForwarderController.h
Item-083=Fil*F:\taylorr\STM\src\vrpn\vrpn_GlobalHapticsOrb.C
Item-084=Fil*F:\taylorr\STM\src\vrpn\vrpn_GlobalHapticsOrb.h
Item-085=Fil*F:\taylorr\STM\src\vrpn\vrpn_ImmersionBox.C
Item-086=Fil*F:\taylorr\STM\src\vrpn\vrpn_ImmersionBox.h
Item-087=Fil*F:\taylorr\STM\src\vrpn\vrpn_JoyFly.C
Item-088=Fil*F:\taylorr\STM\src\vrpn\vrpn_JoyFly.h
Item-089=Fil*F:\taylorr\STM\src\vrpn\vrpn_Joylin.C
Item-090=Fil*F:\taylorr\STM\src\vrpn\vrpn_Joylin.h
Item-091=Fil*F:\taylorr\STM\src\vrpn\vrpn_Joywin32.C
Item-092=Fil*F:\taylorr\STM\src\vrpn\vrpn_Joywin32.h
Item-093=Fil*F:\taylorr\STM\src\vrpn\vrpn_LamportClock.C
Item-094=Fil*F:\taylorr\STM\src\vrpn\vrpn_LamportClock.h
Item-095=Fil*F:\taylorr\STM\src\vrpn\vrpn_Log.h
Item-096=Fil*F:\taylorr\STM\src\vrpn\vrpn_Magellan.C
Item-097=Fil*F:\taylorr\STM\src\vrpn\vrpn_Magellan.h
Item-098=Fil*F:\taylorr\STM\src\vrpn\vrpn_Mutex.C
Item-099=Fil*F:\taylorr\STM\src\vrpn\vrpn_Mutex.h
Item-100=Fil*F:\taylorr\STM\src\vrpn\vrpn_Nidaq.C
Item-101=Fil*F:\taylorr\STM\src\vrpn\vrpn_Nidaq.h
Item-102=Fil*F:\taylorr\STM\src\vrpn\vrpn_nikon_controls.C
Item-103=Fil*F:\taylorr\STM\src\vrpn\vrpn_nikon_controls.h
Item-104=Fil*F:\taylorr\STM\src\vrpn\vrpn_Poser.C
Item-105=Fil*F:\taylorr\STM\src\vrpn\vrpn_Poser.h
Item-106=Fil*F:\taylorr\STM\src\vrpn\vrpn_Poser_Analog.C
Item-107=Fil*F:\taylorr\STM\src\vrpn\vrpn_Poser_Analog.h
Item-108=Fil*F:\taylorr\STM\src\vrpn\vrpn_raw_sgibox.C
Item-109=Fil*F:\taylorr\STM\src\vrpn\vrpn_raw_sgibox.h
Item-110=Fil*F:\taylorr\STM\src\vrpn\vrpn_RedundantTransmission.C
Item-111=Fil*F:\taylorr\STM\src\vrpn\vrpn_RedundantTransmission.h
Item-112=Fil*F:\taylorr\STM\src\vrpn\vrpn_Router.C
Item-113=Fil*F:\taylorr\STM\src\vrpn\vrpn_Router.h
Item-114=Fil*F:\taylorr\STM\src\vrpn\vrpn_Serial.C
Item-115=Fil*F:\taylorr\STM\src\vrpn\vrpn_Serial.h
Item-116=Fil*F:\taylorr\STM\src\vrpn\vrpn_sgibox.C
Item-117=Fil*F:\taylorr\STM\src\vrpn\vrpn_sgibox.h
Item-118=Fil*F:\taylorr\STM\src\vrpn\vrpn_Shared.C
Item-119=Fil*F:\taylorr\STM\src\vrpn\vrpn_Shared.h
Item-120=Fil*F:\taylorr\STM\src\vrpn\vrpn_SharedObject.C
Item-121=Fil*F:\taylorr\STM\src\vrpn\vrpn_SharedObject.h
Item-122=Fil*F:\taylorr\STM\src\vrpn\vrpn_Sound.C
Item-123=Fil*F:\taylorr\STM\src\vrpn\vrpn_Sound.h
Item-124=Fil*F:\taylorr\STM\src\vrpn\vrpn_Spaceball.C
Item-125=Fil*F:\taylorr\STM\src\vrpn\vrpn_Spaceball.h
Item-126=Fil*F:\taylorr\STM\src\vrpn\vrpn_TempImager.C
Item-127=Fil*F:\taylorr\STM\src\vrpn\vrpn_TempImager.h
Item-128=Fil*F:\taylorr\STM\src\vrpn\vrpn_Text.C
Item-129=Fil*F:\taylorr\STM\src\vrpn\vrpn_Text.h
Item-130=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tng3.C
Item-131=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tng3.h
Item-132=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker.C
Item-133=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker.h
Item-134=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_AnalogFly.C
Item-135=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_AnalogFly.h
Item-136=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_ButtonFly.C
Item-137=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_ButtonFly.h
Item-138=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_Fastrak.C
Item-139=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_Fastrak.h
Item-140=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_isense.C
Item-141=Fil*F:\taylorr\STM\src\vrpn\vrpn_Tracker_isense.h
Item-142=Fil*F:\taylorr\STM\src\vrpn\vrpn_TypeDispatcher.C
Item-143=Fil*F:\taylorr\STM\src\vrpn\vrpn_TypeDispatcher.h
Item-144=Fil*F:\taylorr\STM\src\vrpn\vrpn_Types.h
Item-145=Fil*F:\taylorr\STM\src\vrpn\vrpn_UNC_Joystick.C
Item-146=Fil*F:\taylorr\STM\src\vrpn\vrpn_UNC_Joystick.h
Item-147=Fil*F:\taylorr\STM\src\vrpn\vrpn_Wanda.C
Item-148=Fil*F:\taylorr\STM\src\vrpn\vrpn_Wanda.h
Item-149=Fil*F:\taylorr\STM\src\vrpn\vrpn_Zaber.C
Item-150=Fil*F:\taylorr\STM\src\vrpn\vrpn_Zaber.h
Item-151=Dir*<Common Folder>\vrpn\client_src
Item-152=Fil*F:\taylorr\STM\src\vrpn\client_src\.cvsignore
Item-153=Fil*F:\taylorr\STM\src\vrpn\client_src\add_vrpn_cookie.C
Item-154=Fil*F:\taylorr\STM\src\vrpn\client_src\bdbox_client.C
Item-155=Fil*F:\taylorr\STM\src\vrpn\client_src\ChangeLog
Item-156=Fil*F:\taylorr\STM\src\vrpn\client_src\checklogfile.C
Item-157=Fil*F:\taylorr\STM\src\vrpn\client_src\clock_client.C
Item-158=Fil*F:\taylorr\STM\src\vrpn\client_src\ff_client.C
Item-159=Fil*F:\taylorr\STM\src\vrpn\client_src\forwarderClient.C
Item-160=Fil*F:\taylorr\STM\src\vrpn\client_src\logfilesenders.C
Item-161=Fil*F:\taylorr\STM\src\vrpn\client_src\logfiletypes.C
Item-162=Fil*F:\taylorr\STM\src\vrpn\client_src\Makefile
Item-163=Fil*F:\taylorr\STM\src\vrpn\client_src\midi_client.C
Item-164=Fil*F:\taylorr\STM\src\vrpn\client_src\ohm_client.C
Item-165=Fil*F:\taylorr\STM\src\vrpn\client_src\phan_client.C
Item-166=Fil*F:\taylorr\STM\src\vrpn\client_src\printcereal.C
Item-167=Fil*F:\taylorr\STM\src\vrpn\client_src\printcereal.dsp
Item-168=Fil*F:\taylorr\STM\src\vrpn\client_src\printvals.C
Item-169=Fil*F:\taylorr\STM\src\vrpn\client_src\printvals.dsp
Item-170=Fil*F:\taylorr\STM\src\vrpn\client_src\README
Item-171=Fil*F:\taylorr\STM\src\vrpn\client_src\setrouter.C
Item-172=Fil*F:\taylorr\STM\src\vrpn\client_src\setrouter.dsp
Item-173=Fil*F:\taylorr\STM\src\vrpn\client_src\sound_client.C
Item-174=Fil*F:\taylorr\STM\src\vrpn\client_src\sound_client.old
Item-175=Fil*F:\taylorr\STM\src\vrpn\client_src\sphere_client.C
Item-176=Fil*F:\taylorr\STM\src\vrpn\client_src\sphere_client.dsp
Item-177=Fil*F:\taylorr\STM\src\vrpn\client_src\testimager_client.C
Item-178=Fil*F:\taylorr\STM\src\vrpn\client_src\testimager_client.dsp
Item-179=Fil*F:\taylorr\STM\src\vrpn\client_src\testSharedObject.C
Item-180=Fil*F:\taylorr\STM\src\vrpn\client_src\test_mutex.C
Item-181=Fil*F:\taylorr\STM\src\vrpn\client_src\test_tempimager.C
Item-182=Fil*F:\taylorr\STM\src\vrpn\client_src\test_tempimager.dsp
Item-183=Fil*F:\taylorr\STM\src\vrpn\client_src\test_Zaber.C
Item-184=Fil*F:\taylorr\STM\src\vrpn\client_src\test_zaber.dsp
Item-185=Fil*F:\taylorr\STM\src\vrpn\client_src\text.C
Item-186=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpnTrackerClient.cpp
Item-187=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_LamportClock.t.C
Item-188=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_ping.C
Item-189=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_print_devices.C
Item-190=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_print_devices.dsp
Item-191=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_print_messages.C
Item-192=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_Router_Client_GUI.C
Item-193=Fil*F:\taylorr\STM\src\vrpn\client_src\vrpn_Router_Client_GUI.dsp
Item-194=Dir*<Common Folder>\vrpn\client_src\CVS
Item-195=Fil*F:\taylorr\STM\src\vrpn\client_src\CVS\Entries
Item-196=Fil*F:\taylorr\STM\src\vrpn\client_src\CVS\Repository
Item-197=Fil*F:\taylorr\STM\src\vrpn\client_src\CVS\Root
Item-198=Dir*<Common Folder>\vrpn\client_src\directx_sound_client
Item-199=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\directx_sound_client.cpp
Item-200=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\directx_sound_client.dsp
Item-201=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\directx_sound_client.dsw
Item-202=Dir*<Common Folder>\vrpn\client_src\directx_sound_client\CVS
Item-203=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\CVS\Entries
Item-204=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\CVS\Repository
Item-205=Fil*F:\taylorr\STM\src\vrpn\client_src\directx_sound_client\CVS\Root
Item-206=Dir*<Common Folder>\vrpn\client_src\haptic
Item-207=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\drag-sphere.C
Item-208=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\glvrpn.C
Item-209=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\glwin.c
Item-210=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\glwin.h
Item-211=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\Makefile
Item-212=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\phantom-field.C
Item-213=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\phantom-plane.C
Item-214=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\phantom-wave.C
Item-215=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\README
Item-216=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\smdvrpn.C
Item-217=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\testvrpn.C
Item-218=Dir*<Common Folder>\vrpn\client_src\haptic\CVS
Item-219=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\CVS\Entries
Item-220=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\CVS\Repository
Item-221=Fil*F:\taylorr\STM\src\vrpn\client_src\haptic\CVS\Root
Item-222=Dir*<Common Folder>\vrpn\CVS
Item-223=Fil*F:\taylorr\STM\src\vrpn\CVS\Entries
Item-224=Fil*F:\taylorr\STM\src\vrpn\CVS\Repository
Item-225=Fil*F:\taylorr\STM\src\vrpn\CVS\Root
Item-226=Dir*<Common Folder>\vrpn\doxygen
Item-227=Fil*F:\taylorr\STM\src\vrpn\doxygen\.cvsignore
Item-228=Fil*F:\taylorr\STM\src\vrpn\doxygen\Doxyfile
Item-229=Dir*<Common Folder>\vrpn\doxygen\CVS
Item-230=Fil*F:\taylorr\STM\src\vrpn\doxygen\CVS\Entries
Item-231=Fil*F:\taylorr\STM\src\vrpn\doxygen\CVS\Repository
Item-232=Fil*F:\taylorr\STM\src\vrpn\doxygen\CVS\Root
Item-233=Dir*<Common Folder>\vrpn\java_vrpn
Item-234=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\.cvsignore
Item-235=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\AnalogOutputRemote.java
Item-236=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\AnalogRemote.java
Item-237=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\AnalogRemoteListener.java
Item-238=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\ButtonRemote.java
Item-239=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\ButtonRemoteListener.java
Item-240=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\ChangeLog
Item-241=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\ForceDeviceRemote.java
Item-242=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\ForceDeviceRemoteListener.java
Item-243=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.cpp
Item-244=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.dsp
Item-245=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.dsw
Item-246=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.h
Item-247=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.sln
Item-248=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\java_vrpn.vjp
Item-249=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\README.txt
Item-250=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\TempImagerRemote.java
Item-251=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\TrackerRemote.java
Item-252=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\TrackerRemoteListener.java
Item-253=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\VRPN.java
Item-254=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_AnalogOutputRemote.cpp
Item-255=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_AnalogRemote.cpp
Item-256=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_ButtonRemote.cpp
Item-257=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_ForceDeviceRemote.cpp
Item-258=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_TempImagerRemote.cpp
Item-259=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\vrpn_TrackerRemote.cpp
Item-260=Dir*<Common Folder>\vrpn\java_vrpn\CVS
Item-261=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\CVS\Entries
Item-262=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\CVS\Repository
Item-263=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\CVS\Root
Item-264=Dir*<Common Folder>\vrpn\java_vrpn\test
Item-265=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\.cvsignore
Item-266=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\AnalogListenerTest.java
Item-267=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\AnalogRandomValueGenerator.java
Item-268=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\AnalogTest.java
Item-269=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\ButtonListenerTest.java
Item-270=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\ButtonTest.java
Item-271=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\ChangeLog
Item-272=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\ForceDeviceTest.java
Item-273=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\TempImagerTest.java
Item-274=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\test.sln
Item-275=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\test.vjp
Item-276=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\TrackerTest.java
Item-277=Dir*<Common Folder>\vrpn\java_vrpn\test\CVS
Item-278=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\CVS\Entries
Item-279=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\CVS\Repository
Item-280=Fil*F:\taylorr\STM\src\vrpn\java_vrpn\test\CVS\Root
Item-281=Dir*<Common Folder>\vrpn\server_src
Item-282=Fil*F:\taylorr\STM\src\vrpn\server_src\.cvsignore
Item-283=Fil*F:\taylorr\STM\src\vrpn\server_src\buzzForceField.C
Item-284=Fil*F:\taylorr\STM\src\vrpn\server_src\buzzForceField.h
Item-285=Fil*F:\taylorr\STM\src\vrpn\server_src\ChangeLog
Item-286=Fil*F:\taylorr\STM\src\vrpn\server_src\client_and_server.C
Item-287=Fil*F:\taylorr\STM\src\vrpn\server_src\client_and_server.dsp
Item-288=Fil*F:\taylorr\STM\src\vrpn\server_src\client_and_server.plg
Item-289=Fil*F:\taylorr\STM\src\vrpn\server_src\clock_server.C
Item-290=Fil*F:\taylorr\STM\src\vrpn\server_src\constraint.C
Item-291=Fil*F:\taylorr\STM\src\vrpn\server_src\constraint.h
Item-292=Fil*F:\taylorr\STM\src\vrpn\server_src\daq_server.C
Item-293=Fil*F:\taylorr\STM\src\vrpn\server_src\daq_server.dsp
Item-294=Fil*F:\taylorr\STM\src\vrpn\server_src\def.pl
Item-295=Fil*F:\taylorr\STM\src\vrpn\server_src\directXFF.C
Item-296=Fil*F:\taylorr\STM\src\vrpn\server_src\directXFF_server.dsp
Item-297=Fil*F:\taylorr\STM\src\vrpn\server_src\forcefield.C
Item-298=Fil*F:\taylorr\STM\src\vrpn\server_src\forcefield.h
Item-299=Fil*F:\taylorr\STM\src\vrpn\server_src\forward.C
Item-300=Fil*F:\taylorr\STM\src\vrpn\server_src\ghost.h
Item-301=Fil*F:\taylorr\STM\src\vrpn\server_src\last_of_sequence.C
Item-302=Fil*F:\taylorr\STM\src\vrpn\server_src\Makefile
Item-303=Fil*F:\taylorr\STM\src\vrpn\server_src\nidaqClient.cpp
Item-304=Fil*F:\taylorr\STM\src\vrpn\server_src\nidaqServer.cpp
Item-305=Fil*F:\taylorr\STM\src\vrpn\server_src\NIUtil.cpp
Item-306=Fil*F:\taylorr\STM\src\vrpn\server_src\NIUtil.h
Item-307=Fil*F:\taylorr\STM\src\vrpn\server_src\phantom_custom_effects.txt
Item-308=Fil*F:\taylorr\STM\src\vrpn\server_src\plane.C
Item-309=Fil*F:\taylorr\STM\src\vrpn\server_src\plane.h
Item-310=Fil*F:\taylorr\STM\src\vrpn\server_src\sample_analog.C
Item-311=Fil*F:\taylorr\STM\src\vrpn\server_src\sample_server.C
Item-312=Fil*F:\taylorr\STM\src\vrpn\server_src\set_instruments_for_sound_server
Item-313=Fil*F:\taylorr\STM\src\vrpn\server_src\sgibdbox.cfg
Item-314=Fil*F:\taylorr\STM\src\vrpn\server_src\testSharedObject.C
Item-315=Fil*F:\taylorr\STM\src\vrpn\server_src\test_analogfly.C
Item-316=Fil*F:\taylorr\STM\src\vrpn\server_src\test_analogfly.dsp
Item-317=Fil*F:\taylorr\STM\src\vrpn\server_src\test_mutex.C
Item-318=Fil*F:\taylorr\STM\src\vrpn\server_src\test_peerMutex.C
Item-319=Fil*F:\taylorr\STM\src\vrpn\server_src\test_radamec_spi.C
Item-320=Fil*F:\taylorr\STM\src\vrpn\server_src\test_radamec_spi.dsp
Item-321=Fil*F:\taylorr\STM\src\vrpn\server_src\test_vrpn.C
Item-322=Fil*F:\taylorr\STM\src\vrpn\server_src\test_vrpn.dsp
Item-323=Fil*F:\taylorr\STM\src\vrpn\server_src\test_vrpn.plg
Item-324=Fil*F:\taylorr\STM\src\vrpn\server_src\text.C
Item-325=Fil*F:\taylorr\STM\src\vrpn\server_src\texture_plane.C
Item-326=Fil*F:\taylorr\STM\src\vrpn\server_src\texture_plane.h
Item-327=Fil*F:\taylorr\STM\src\vrpn\server_src\trimesh.C
Item-328=Fil*F:\taylorr\STM\src\vrpn\server_src\trimesh.h
Item-329=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn.C
Item-330=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn.cfg
Item-331=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn.cfg.SAMPLE
Item-332=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn.rc
Item-333=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_Phantom.C
Item-334=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_phantom.dsp
Item-335=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_Phantom.h
Item-336=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_server.dsp
Item-337=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_server.plg
Item-338=Fil*F:\taylorr\STM\src\vrpn\server_src\vrpn_Tracker.cfg.UNC
Item-339=Dir*<Common Folder>\vrpn\server_src\aureal_sound_server
Item-340=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\aureal_sound_server.dsp
Item-341=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\aureal_sound_server.dsw
Item-342=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\vrpn_Sound_A3D.cpp
Item-343=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\vrpn_Sound_A3D.h
Item-344=Dir*<Common Folder>\vrpn\server_src\aureal_sound_server\CVS
Item-345=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\CVS\Entries
Item-346=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\CVS\Repository
Item-347=Fil*F:\taylorr\STM\src\vrpn\server_src\aureal_sound_server\CVS\Root
Item-348=Dir*<Common Folder>\vrpn\server_src\ausim_sound_server
Item-349=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\ausim_sound_server.dsp
Item-350=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\ausim_sound_server.dsw
Item-351=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\README.txt
Item-352=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\vrpn.cfg
Item-353=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\vrpn_Sound_ASM.cpp
Item-354=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\vrpn_Sound_ASM.h
Item-355=Dir*<Common Folder>\vrpn\server_src\ausim_sound_server\CVS
Item-356=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\CVS\Entries
Item-357=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\CVS\Repository
Item-358=Fil*F:\taylorr\STM\src\vrpn\server_src\ausim_sound_server\CVS\Root
Item-359=Dir*<Common Folder>\vrpn\server_src\CVS
Item-360=Fil*F:\taylorr\STM\src\vrpn\server_src\CVS\Entries
Item-361=Fil*F:\taylorr\STM\src\vrpn\server_src\CVS\Repository
Item-362=Fil*F:\taylorr\STM\src\vrpn\server_src\CVS\Root
Item-363=Dir*<Common Folder>\vrpn\server_src\directx_sound_server
Item-364=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\directx_sound_server.dsp
Item-365=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\directx_sound_server.dsw
Item-366=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\vrpn_Sound_DX9.cpp
Item-367=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\vrpn_Sound_DX9.h
Item-368=Dir*<Common Folder>\vrpn\server_src\directx_sound_server\CVS
Item-369=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\CVS\Entries
Item-370=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\CVS\Repository
Item-371=Fil*F:\taylorr\STM\src\vrpn\server_src\directx_sound_server\CVS\Root
Item-372=Dir*<Common Folder>\vrpn\server_src\ghostEffects
Item-373=Fil*F:\taylorr\STM\src\vrpn\server_src\ghostEffects\InstantBuzzEffect.cpp
Item-374=Fil*F:\taylorr\STM\src\vrpn\server_src\ghostEffects\InstantBuzzEffect.h
Item-375=Dir*<Common Folder>\vrpn\server_src\ghostEffects\CVS
Item-376=Fil*F:\taylorr\STM\src\vrpn\server_src\ghostEffects\CVS\Entries
Item-377=Fil*F:\taylorr\STM\src\vrpn\server_src\ghostEffects\CVS\Repository
Item-378=Fil*F:\taylorr\STM\src\vrpn\server_src\ghostEffects\CVS\Root
Item-379=Dir*<Common Folder>\vrpn\server_src\miles_sound_server
Item-380=Dir*<Common Folder>\vrpn\server_src\miles_sound_server\CVS
Item-381=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\CVS\Entries
Item-382=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\CVS\Repository
Item-383=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\CVS\Root
Item-384=Dir*<Common Folder>\vrpn\server_src\miles_sound_server\v5.0
Item-385=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\Console.cpp
Item-386=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\Console.hpp
Item-387=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\readme.txt
Item-388=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\resource.h
Item-389=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\soundserver.ico
Item-390=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\SoundServerWin32.aps
Item-391=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\SoundServerWin32.rc
Item-392=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\sound_server.cpp
Item-393=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\sound_server.dsp
Item-394=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\sound_server.dsw
Item-395=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\vrpn_Sound_Miles.cpp
Item-396=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\vrpn_Sound_Miles.h
Item-397=Dir*<Common Folder>\vrpn\server_src\miles_sound_server\v5.0\CVS
Item-398=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\CVS\Entries
Item-399=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\CVS\Repository
Item-400=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v5.0\CVS\Root
Item-401=Dir*<Common Folder>\vrpn\server_src\miles_sound_server\v6.0
Item-402=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\Console.cpp
Item-403=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\Console.hpp
Item-404=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\readme.txt
Item-405=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\resource.h
Item-406=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\soundserver.ico
Item-407=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\SoundServerWin32.aps
Item-408=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\SoundServerWin32.rc
Item-409=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\sound_server.cpp
Item-410=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\sound_server.dsp
Item-411=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\sound_server.dsw
Item-412=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\vrpn_Sound_Miles.cpp
Item-413=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\vrpn_Sound_Miles.h
Item-414=Dir*<Common Folder>\vrpn\server_src\miles_sound_server\v6.0\CVS
Item-415=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\CVS\Entries
Item-416=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\CVS\Repository
Item-417=Fil*F:\taylorr\STM\src\vrpn\server_src\miles_sound_server\v6.0\CVS\Root
Item-418=Dir*<Common Folder>\vrpn\server_src\sierra_router_server
Item-419=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\ChangeLog
Item-420=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\router.cfg
Item-421=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\sierra_router_server.dsp
Item-422=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_ConfigFileParse.C
Item-423=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_Serial.C
Item-424=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_SerialParse.C
Item-425=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_Server.C
Item-426=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_Server.h
Item-427=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\vrpn_Router_Sierra_ServerMain.C
Item-428=Dir*<Common Folder>\vrpn\server_src\sierra_router_server\CVS
Item-429=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\CVS\Entries
Item-430=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\CVS\Repository
Item-431=Fil*F:\taylorr\STM\src\vrpn\server_src\sierra_router_server\CVS\Root
Item-432=Dir*<Common Folder>\vrpn\server_src\timecode_generator_server
Item-433=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\ChangeLog
Item-434=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\Readme
Item-435=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\timecode_generator.dsp
Item-436=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\vrpn_timecode_generator.cpp
Item-437=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\vrpn_timecode_generator.h
Item-438=Dir*<Common Folder>\vrpn\server_src\timecode_generator_server\CVS
Item-439=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\CVS\Entries
Item-440=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\CVS\Repository
Item-441=Fil*F:\taylorr\STM\src\vrpn\server_src\timecode_generator_server\CVS\Root
Item-442=Dir*<Common Folder>\vrpn\util
Item-443=Dir*<Common Folder>\vrpn\util\CVS
Item-444=Fil*F:\taylorr\STM\src\vrpn\util\CVS\Entries
Item-445=Fil*F:\taylorr\STM\src\vrpn\util\CVS\Repository
Item-446=Fil*F:\taylorr\STM\src\vrpn\util\CVS\Root
Item-447=Dir*<Common Folder>\vrpn\util\gen_rpc
Item-448=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\.cvsignore
Item-449=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\ChangeLog
Item-450=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\gen_vrpn_rpc.pl
Item-451=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\main_test.C
Item-452=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\rpc_Test.vrpndef
Item-453=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\rpc_Test_Remote.Cdef
Item-454=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\rpc_Test_Remote.hdef
Item-455=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\test_gen_rpc.dsp
Item-456=Dir*<Common Folder>\vrpn\util\gen_rpc\CVS
Item-457=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\CVS\Entries
Item-458=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\CVS\Repository
Item-459=Fil*F:\taylorr\STM\src\vrpn\util\gen_rpc\CVS\Root
Item-460=Dir*<Common Folder>\vrpn\vrpn_embedded
Item-461=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_embedded.vcw
Item-462=Dir*<Common Folder>\vrpn\vrpn_embedded\CVS
Item-463=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\CVS\Entries
Item-464=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\CVS\Repository
Item-465=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\CVS\Root
Item-466=Dir*<Common Folder>\vrpn\vrpn_embedded\quat
Item-467=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\quat\quat.vcp
Item-468=Dir*<Common Folder>\vrpn\vrpn_embedded\quat\CVS
Item-469=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\quat\CVS\Entries
Item-470=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\quat\CVS\Repository
Item-471=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\quat\CVS\Root
Item-472=Dir*<Common Folder>\vrpn\vrpn_embedded\vrpn_client_library
Item-473=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_client_library\vrpn_client_library.vcp
Item-474=Dir*<Common Folder>\vrpn\vrpn_embedded\vrpn_client_library\CVS
Item-475=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_client_library\CVS\Entries
Item-476=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_client_library\CVS\Repository
Item-477=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_client_library\CVS\Root
Item-478=Dir*<Common Folder>\vrpn\vrpn_embedded\vrpn_print_devices
Item-479=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_print_devices\vrpn_print_devices.vcp
Item-480=Dir*<Common Folder>\vrpn\vrpn_embedded\vrpn_print_devices\CVS
Item-481=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_print_devices\CVS\Entries
Item-482=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_print_devices\CVS\Repository
Item-483=Fil*F:\taylorr\STM\src\vrpn\vrpn_embedded\vrpn_print_devices\CVS\Root
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="test/" kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
*.suo
vrpn_ButtonRemote.h
vrpn_TrackerRemote.h
vrpn_AnalogRemote.h
vrpn_AnalogOutputRemote.h
vrpn_AuxiliaryLoggerRemote.h
vrpn_ForceDeviceRemote.h
vrpn_FunctionGeneratorRemote.h
vrpn_TempImagerRemote.h
vrpn_PoserRemote.h
vrpn_TextReceiver.h
vrpn_TextSender.h
vrpn_VRPNDevice.h
codebase.dat
vrpn.jar
javadoc
bin
java_vrpn.ncb
java_vrpn.plg
java_vrpn.opt
*.vcproj.*.user
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>java_vrpn</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
#Thu Jun 14 18:24:43 EDT 2007
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.cleanOutputFolder=clean
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
org.eclipse.jdt.core.builder.invalidClasspath=abort
org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*,.*
org.eclipse.jdt.core.circularClasspath=error
org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
# XXX TODO Install these bindings, don't just build them!
if(JAVA_FOUND AND JNI_FOUND AND JAVAH_EXECUTABLE AND VRPN_BUILD_JAVA)
# Set up file lists
set(JAVA_CLASSES
AnalogOutputRemote
AnalogRemote
AnalogRemoteListener
AuxiliaryLoggerRemote
ButtonRemote
ButtonRemoteListener
ForceDeviceRemote
ForceDeviceRemoteListener
FunctionGeneratorRemote
PoserRemote
TextReceiver
TextSender
TrackerRemote
TrackerRemoteListener
VRPN
VRPNDevice)
set(JAVAC_OUTPUT)
set(JAVAC_INPUT)
set(JAVA_JNI_HEADERS)
foreach(class ${JAVA_CLASSES})
list(APPEND
JAVAC_OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/vrpn/${class}.class")
list(APPEND
JAVAC_INPUT
"${CMAKE_CURRENT_SOURCE_DIR}/vrpn/${class}.java")
list(APPEND
JAVA_JNI_HEADERS
"${CMAKE_CURRENT_BINARY_DIR}/vrpn_${class}.h")
endforeach()
# *.java -> *.class
add_custom_command(OUTPUT
${JAVAC_OUTPUT}
DEPENDS
${JAVAC_INPUT}
COMMAND
"${Java_JAVAC_EXECUTABLE}"
-d
"${CMAKE_CURRENT_BINARY_DIR}"
${JAVAC_INPUT}
COMMENT
"Compiling Java sources to class files...")
# *.class -> vrpn.jar
add_custom_command(OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/vrpn.jar"
DEPENDS
${JAVAC_OUTPUT}
COMMAND
${CMAKE_COMMAND}
ARGS
-E
chdir
"${CMAKE_CURRENT_BINARY_DIR}"
${Java_JAR_EXECUTABLE}
-cvf
"${CMAKE_CURRENT_BINARY_DIR}/vrpn.jar"
"${CMAKE_CURRENT_BINARY_DIR}/vrpn"
COMMENT
"Generating JAR file...")
# *.class -> vrpn_*.h
foreach(in ${JAVA_CLASSES})
add_custom_command(OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/vrpn_${in}.h"
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/vrpn/${in}.class"
COMMAND
"${JAVAH_EXECUTABLE}"
-d
"${CMAKE_CURRENT_BINARY_DIR}"
-jni
-classpath
"${CMAKE_CURRENT_BINARY_DIR}"
vrpn.${in}
COMMENT
"Generating JNI header file for vrpn.${in}")
endforeach()
# target for vrpn.jar
add_custom_target(java_vrpn_jar
DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/vrpn.jar")
# java_vrpn library
set(LIB_SOURCES
java_vrpn.cpp
vrpn_AnalogOutputRemote.cpp
vrpn_AnalogRemote.cpp
vrpn_AuxiliaryLoggerRemote.cpp
vrpn_ButtonRemote.cpp
vrpn_ForceDeviceRemote.cpp
vrpn_PoserRemote.cpp
vrpn_TextReceiver.cpp
vrpn_TextSender.cpp
vrpn_TrackerRemote.cpp
vrpn_VRPNDevice.cpp
vrpn_FunctionGeneratorRemote.cpp)
include_directories("${CMAKE_CURRENT_BINARY_DIR}" ${JNI_INCLUDE_DIRS})
add_library(java_vrpn SHARED ${LIB_SOURCES} ${JAVA_JNI_HEADERS})
if(BUILD_WITH_ANDROID_NDK)
# Currently link with the client-side libraries only for the Android build.
target_link_libraries(java_vrpn vrpn)
else()
target_link_libraries(java_vrpn vrpnserver ${JAVA_JVM_LIBRARY})
add_dependencies(java_vrpn java_vrpn_jar)
endif()
if(VRPN_INSTALL)
install(TARGETS java_vrpn
ARCHIVE DESTINATION lib COMPONENT java
LIBRARY DESTINATION lib COMPONENT java
RUNTIME DESTINATION lib COMPONENT java)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vrpn.jar"
DESTINATION share/java
COMPONENT java
RENAME vrpn-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.jar)
endif()
endif()