|
VRPN 07.15 How to acknowledge VRPN in your papers |
Version Release Information(Note to self: edit this page in code view, not in the WSYWIG editor.)
Change list: (items tagged as bug fix [bug], or feature [ftr]. Big ones starred.)
---------------
7:15:
ftr TestImager client now neither pre-loads nor accumulates if it is used
to read from a log file.
bug Patch from Jan Ciger to fix RESET and CLUTCH buttons on anaoogfly.
The config file parser was setting them to the same thing.
BUG Finally tracked down and squashed the bug that kept UDP packets
from working with some computers that had multiple network connections.
ftr Patch from Michael Adrian to work with more Liberty tracker versions.
bug Patch from Patrick Hartling to make things compile with new mac compiler.
bug Patch from Patrick Hartling to make 3DConnexion compile on the mac.
ftr Added vendor-supplied code for MotionNode tracker. This code only
compiles under Visual Studio 2005 (not VS 6.0).
ftr Moved the DirectX paths from vrpn_Configure.h and described how to put
them into the Visual Studio environmnent itself once for all projects.
ftr Added patch from Eric Griffith to include control of a Liberty stylus.
bug Included definitions needed to compile with the InterSense library.
7:14:
ftr Added code from Jan Cigar that handles the 3DConnexion under Linux
using the event interface. I modified it quite a bit to try and
shoehorn it into the existing interface, so it may be broken.
ftr Added fix from Paulo G. de Barros to enable more than 2 joysticks.
bug Added fix from Jo Skjermo to run with Flocks that do not have
the extended-range transmitters; space was being scaled wrong.
bug Inserted David Marshburn's changes renaming Auxilliary to Auxiliary
ftr Added a CLUTCH button to AnalogFly that lets motion happen only
when a button is pressed, and behavior like clutching with a mouse.
ftr Reorganized a number of the Mouse classes and consolidated them
into vrpn_Mouse. This changed the scaling for the Windows version
of the mouse code; it now reports in fraction of screen size rather
than pixels. Also pulled vrpn_Keyboard out into a separate file.
bug Removed vrpn_Keyboard_Mouse (refactored as described above).
7:13:
bug Removed -lgpm from the Linux makefiles. Some distros don't have this.
The vrpn_Configure.h file tells how to make this link if it is
included in the build.
ftr Added a new derived class for vrpn_Analog_Output_Server for applications
that don't want to derive a new class but still want callbacks to be
called when new values come in. Also moved some functions from public
to protected in the vrpn_Analog_Output_Server class.
7:12:
bug Compiles on 64-bit Linux.
*ftr Added HID support in Windows from Chris VanderKnyff. Added
suport for XKeys devices (from Chris) and also for 3DConnexion
devices on top of HID.
ftr Added vrpn_Imager_Stream_Buffer object to store full-rate video
to log files while sending only the latest images across the
network.
ftr Added vrpn_Auxilliary_Logger object to cause logging to happen
remotely on a connection. This is now available in the vrpn.cfg
file.
bug Added Chris VanderKnyff's fixes to RumblePad that make it work
under Visual Studio .NET and 6.
bug Fixed a race-condition bug in the testimager_client.
bug Fix for the Intersense Wand submitted by Christian Odom.
bug Fixed vrpn_server to have all references cleaned up on exit
and to handle ^C exit on Windows.
7:11:
bug Removed iostream from included code
ftr Added code from Kurt Achatz to build for new versions
of the A.R.T. DTrack, which supports the Flystick2.
bug Makes the vrpn_DirectXRumblePad report that it is broken
until we get a fix from someone; Russ mangled it when
trying to get it to compile under Visual Studio 6.
bug Fixed the thread code to work under Windows, Linux, Mac.
Added test routine for the semaphores and threads.
7:10:
bug Made it compile under MacOSX Universal.
bug Bug fix from Mike Weiblen enabling >32 file descriptors.
bug Bug fix from Mike Weiblen for vrpn_Mouse server.
7:09:
bug Fixed Quatlib bug in q_to_axis_angle.
*ftr Added the "Event Mouse" and "inertialmouse"
interfaces from Bauhaus University Weimar, submitted by
Jan Springer. Also, helper libraries and functions.
7:08:
*bug Fixed RTS/CTS bugs in Windows and (hopefully) Linux versions
That prevented Flock code from working.
7:07:
*ftr Added DirectX RumblePack driver from Chris VanderKnyff and
Jeff Feasel
ftr Added hemisphere control for Flock of Birds.
bug Fixed a bug that kept the code from compiling for DLL linkage.
ftr Added patch submitted by Patrick Hartling from Infiscape.com
to make it compile under MacOSX universal binaries.
7:06:
*ftr Added PhaseSpace driver from Lawrence Kwan.
7:05:
ftr Added build target for cross-compiling to ARM under Cygwin
*bug The embedded ARM version was not handling the conversion of
doubles to/from network byte order. This processor can have
a mixed-endian format that requires an extra swap.
bug Removed the Linux GPM Mouse library except when VPRN_USE_GPM_MOUSE
is defined in vrpn_Configure.h. Some distros don't have this
library and it was causing the build to fail.
bug Fixed the build environment for VS .NET development.
ftr Added forcefield implementation to vrpnDirectXFFJoystick from
David Borland.
bug Fixed bug with vrpnDirectXFFJoystick that caused buzzing submitted
by David Borland.
7.04:
*bug Inserted fix for Intersense Quaternion translation submitted
by Christian Odom and Dan Lewis from Louisiana Immersive
Technologies Enterprise. This probably changes the
native position and orientation based on the way
the code was before, but is the more correct interpretation.
7.03:
bug Improved the HDAPI implementation of ForceDevice for the
Phantoms. Now includes friction and damping for the
Plane class (using the HL proxy implementation).
7.02:
bug Inserted a fix from one of Virtools' partners (Kevin from
Axis 3d in Taiwan) to make the IS900 wand button
work.
bug Re-commenteded a line in the default configuration file
vrpn.cfg so that it didn't try to make a spurious
AnalogFly
7.01:
ftr Added vrpn_Button_USB from Tom De Weyer's group in Belgium.
ftr Modified vrpn_Keyboard_Mouse from same group to send analogs.
ftr Compiles under Visual C++ 2005 (new set of build files).
bug FileConnection bookmarking mechanism memory leak fixed.
ftr vrpn_Imager: Added is_description_valid() method.
7:00:
ftr Start on a port to the HDAPI library for running Phantoms
in the vrpn_ForceDevice.
ftr Added Keyboard_Mouse device from Tom De Weyer at EDM-
Uhasselt from Belgium that enables flying using the
Windows keybaord.
*ftr Added new ForceDevice code from Tom De Weyer at EDM-
Uhasselt from Belgium that enables a hierarchy of
objects.
ftr Added driver for Microscope from Tom De Weyer at EDM-
Uhasselt from Belgium.
ftr Added 5DT16 driver from Tom De Weyer at EDM-
Uhasselt from Belgium.
bug Fixed a bug in line-mode constraint for ForceDevice.
*bug Ported the serial-port code to the mac, and to a consistent
interface on Posix systems (termios style).
*bug Removed the synchronized connection object, and the clock
objects on which it depended. Available network-
clock-sync does a better job than VRPN was doing, and
this prevents time-warps in logged data files.
ftr Added GPM-based vrpn_Mouse class for Linux, submitted by
Mike Weiblen at 3DLabs.
ftr Added Logitech 3D Mouse driver submitted by Jinseok Seo
from the VR Lab of POSTECH in Korea.
ftr Added Crossbow driver from Chris VanderKnyff.
ftr Added reference-counting code for vrpn_Connection objects
submitted by Jeff Feasel. This will delete a connection
when all of the remote objects using it are deleted,
which causes a new object to open a new connection,
which prevents astonishment when replaying from stored
log files.
bug Fixed a bug in the NationalInstruments driver that was failing
on a non-error return from A0_Configure.
bug Removed the last vestiges of Streams from VRPN.
ftr Patches to make things compile on new architectures.
ftr Beta version of vrpn_Imager class for sending image data
over VRPN.
6.06:
*ftr David Nahon and Kurt Achatz added an A.R.T. tracker driver.
bug Fixed time-comparison bug in analog devices.
ftr ForceDevice test client to test the lower-level primitives.
ftr Beginning of a port from SensAble GHOST library to HDAPI
ftr Beginning of a vrpn_TempImager class to send images via VRPN.
ftr vrpn_Poser_Analogs can now use different devices for each output.
ftr vrpn_Analog_Outputs can now use National Instruments boards.
*bug Fixed reset bug in PinchGlove code.
ftr Made stream-file-loading code more general, so that it can
either pull in the whole thing first (default, original
behavior), pull it in as it goes, or only pull in the
records it is using. This is to make it faster to run
very large streamfiles (like ones that contain video
data sent through the imager).
ftr Patrick Hartling fixed VRPN to compile under Visual Studio.NET
bug Switched to vrpn_gettimeofday(), which defines itself depending
on architecture. No longer exposes gettimeofday() on
windows, which was breaking some builds. An optional
parameter makes VRPN still export it for backwards-compat.
bug CerealBox used to encode negative ticks incorrectly; fixed it.
*bug isense now reports meters (the VRPN standard), rather than cm.
*bug Flock code modified to optionally invert the quaternion orientation
before sending it back. This had always been done in the
past, but was probably a hack to make it work in the wrong
hemisphere.
ftr Added better description of -millisleep option; David Nahon
pointed out the differing behavior on Windows and Unix.
6.05:
bug Made Liberty tracker server compile on several architectures.
*bug Long-standing bug with the Flock driver meant that it would only
operate correctly when the sensors were in the wrong
hemisphere (which is how we ran them at UNC). Now has an
optional parameter with the default being the old (incorrect)
implementation.
ftr Added optional parameter to 5DT to let it handle 10 or 9 byte
messages because different ones seem to behave differently.
bug Plugged memory leaks in the Connection and Clock objects
*bug Make InstantBuzzEffect (and therefore server) compile without the
GHOST libraries installed if VRPN_USE_PHANTOM_SERVER is not
defined. Also, a later patch to make this compile again
with the libraries.
6.04:
ftr Moved vrpn_Tracker.cfg file out of the way so that it doesn't
generate error messages for non-Phantom trackers.
bug Fixed memory leak in remote tracker destructor
*ftr Sebastien Maraux added custom buzzing effect to ForceDevice
ftr Blair MacIntyre added code to native Isense driver to accept
arguments to add stylus and other things that were in
the Fastrak-based driver
*ftr Blair MacIntyre added Mac fixes making MacOSX work with Intersense
*ftr Sebastien Maraux added Joywin interface
bug Made DirectXJoystick driver not crash when it can't find a stick
*bug/ftr Changed the default port number from 4500 because VPNs had been
using that port and Microsoft shut it down to avoid security
holes.
ftr Added non-interrupting version of select that is more robust
in the presence of user-level signals.
*ftr Matt McCallus added Sound driver for DirectX and Ausim
*ftr Sascha Scholz added ADBox/CubicMouse drivers
ftr David Marshburn added flag to let you pick GHOST 3.1
ftr Updated Phantom driver to use GHOST 4.0
*ftr Sharif Razzaque added native-mode InterSense driver
bug Correctly handle case where only one log file is requested
bug Fixed the raw SGIbox code for reading the dials
*ftr Merged all servers into one program. You select what gets
compiled in by editing vrpn_Configure.h
*ftr Haris Fretzagias implemented a newer version of the fast
Windows clock that is available by defining
USE_UNSAFE_WINDOWS_CLOCK and the V2 definition near
it in vrpn_Configure.h. This seems to work on several
machines, so run time_test and see if you can use it.
*ftr Added support for Global Haptics GeoOrb
*ftr Deepak Bandyopadhyay and Sascha Scholz added the ability to
add a fastrak stylus
*ftr David Borland added vrpn_Analog_Output, which is the inverse
of a vrpn_Analog
*ftr Created vrpn_Configure.h file that you edit before compiling
to set site-specific defaults and to indicate which
portions of the library you want to use, what default
port to listen on, and other things.
ftr John Stone made lots of the code compile on Mac OSX
ftr Thorsten Scheuerman added changes to compile for ARM-based PDAs
running Linux
ftr Alternate reset option for older Magellans
ftr Works with Zaber Serial Positioning Units
*ftr David Borland added Poser (inverse Tracker)
ftr Can control focus location of Nikon microscopes
bug Fixed return value in vrpn_drain_output_buffer
bug Fixed seg-fault in newer compilers for the UNC joystick box
running under Linux.
6.03:
ftr Code to control the Zaber Serial Positioning Interface
linear actuators.
ftr vrpn_Analog_Remotes can now send requests to the server to
update the value. Used to control the Zaber and
other devices.
ftr New driver for Intersense trackers that uses their library
directly, rather than talking to the raw devices.
For IS600 and such, probably want to use the
Fastrak server still. You need to get their include
files and libraries to link, then define the proper
thing in the compiler VRPN_USE_ISENSE.
*ftr Java port of several of the VRPN remote objects. Still in
beta, but enables reading from trackers, buttons, and
analogs from Java applications. Also code to build
VRPN as a DLL so that it can be loaded by Java.
bug Serial port code changed on Windows to raise the DTR line when
the port is opened. When this was not done explicitly
on Windows XP, the TNG3 died because it uses this line
for power.
*bug TNG3 driver fixed. It used to hang forever on the read routine
because I made it loop while getting reports and the read
routine held out waiting for all of the characters. It
now polls.
*ftr Includes Phantom example programs (Tracker, Button, Forcedevice)
in client_src/haptic that show how to use VRPN with openGL
on SGIs.
*ftr Includes code from John Stone at Beckman Institute for driving
various versions of the Spaceball 6DOF controller with
buttons.
*bug 3Space driver orientation was decoded incorrectly for some
orientations. There is still a bug in the driver that will
make it only work on machines that have the same byte-order
as PCs.
bug Some IS900s report 54-byte status messages, which does not match
the 55-byte messages reported by Fastraks. This modifies
the Fastrak driver to accept messages of either length.
*bug Fixed a problem with the IS900 wand driver that prevented it from
ever reporting analog values (the mainloop() function in the
Analog_Server base class changed its behavior and the server
was not modified to match).
*ftr Modified project files to enable the compilation of the Phantom
server using a standard GHOST 3.1 installation, rather than
requiring the "external" system that we have at UNC.
bug Re-ordered unpacking of parameters to control button toggle
or momentary from the client. This re-enables client-side
control over whether a button is a toggle or momentary
*ftr Build files in vrpn_embedded to compile the client-side VRPN
library in Windows CE development environment. Currently
doesn't build the vrpn_print_devices file because of a link
problem, but the library does compile.
*ftr Program to display traces of tracker data is built into the
Vlib/openGL (vogl) library. Requires external UNC version
of Glut library to run.
ftr National Instruments D/A board server that will try to connect
to an analog server and will set the D/A channels to the
voltages that correspond to the Analog outputs.
ftr q_to_euler() function for quatlib to go directly to Euler angles
by Rich Holloway
clean Massive clean-up of Quatlib code by Rich Holloway.
6.02:
*bug Fixed a bug introduced by the "send all packets when a connection is
closing" fix reported below.
*bug Compiles the Phantom server with the same settings for all parts,
to avoid seg faults on print messages (the binary file was
bad last relese).
*bug Fixes the project file for the Phantom server so user-built ones will
also compile correctly.
bug Undosify run on the source files, so they will compile on Unix.
6.01:
ftr Upgraded to version 3.1 of GHOST library for Phantom server.
*bug Removed dynamic allocation of comm handles, which was causing seg
faults.
bug Added check for negative sensor number in callback for handler (this
happened when connected to a malfunctioning tracker server).
*bug Re-ordered the delivery of VRPN messages so that messages are packed
to endpoints before being delivered locally. This makes it be
the case that the messages are delivered in the same order on
the local and remote host if the callback handler for one message
sends a message of its own.
ftr Making error messages from more VRPN devices use vrpn_TEXT rather than
fprintf to stderr on the server machine when there is a
connection.
bug Making many serial devices keep reading in case there are multiple
reports in the serial buffer during one call to mainloop()
clean Refactoring serial trackers to put the main loop in the base class.
bug Making serial trackers read multiple reports if they are present during
a single call to mainloop().
bug Connections that are deleted send all of their pending messages
before shutting down. This is supposed to help stop race
conditions.
clean Removing un-called functions, adding comments, rearranging code
to be cleaner.
6.00:
bug Not a fix, but at least the Flock code now prints an error if you
try and open a Flock that has the transmitter set at other
than the first unit. A general solution will have to wait
until someone who wants it badly enough upgrades the driver,
or pays 3rdTech to.
*bug The timing code under Win32 tried to use the performance counter on
the Pentium chip to get timing resolution better than that
provided by _ftime() (which is about 6ms). Unfortunately,
the code was fragile and didn't work across all the flavors
(98, NT, and 2000). That code has been removed, so now the
resolution is about 6ms on Win32 (boo!), but at least it works
reliably.
*** Take not those who relied on better timing information!
*ftr Better client application for printing the output from devices.
vrpn_print_devices is given a list of devices and it will
print all common message types coming from them (tracker,
button, analog, dial, warning/error) or a subset of them.
User can select the frequency of tracker reports for each
sensor of each tracker -- reports from all sensors are
printed.
*ftr Includes a driver for the buttons on a mouse that is plugged into
a serial port (courtesy of Rob King at NRL)
*ftr Includes a driver for the buttons on a TNG3 (Totally Neat Gadget)
(again, courtesy of Rob King at NRL)
*bug Modified the various serial-device servers so that they check for
a valid record before checking for timeout. This prevents
infinite-reset loops, where one resets and causes the other
to time out, and then it returns the favor.
*ftr Includes a driver for PC joysticks under Linux, courtesy of
Harald Barth.
ftr Includes 3rdTech modifications to button code to enable use of
more general parallel port setups and button devices besides
the UNC Python parallel-port button.
*ftr Includes a driver for the 5DT glove (five fingers plus pitch and
roll are reported as analog values). The driver was written
by David Philippe from Direction de la Recherche in Paris.
ftr The Timecode generator server code has been combined into the
standard vrpn.C server code, guarded by INCLUDE_TIMECODE_SERVER
so that changes to the server will track. The project file
has been modified to look for the Adrienne code in a directory
at the same level as vrpn named Adrienne/AEX_DLL.
bug Fixed the driver for the UNC serial joysticks. Also, renamed it
vrpn_UNC_Joystick.[hC], rather than just vrpn_Joystick.[hC]
ftr Modified all of the message types to be legal "C" variable names.
This will enable auto-generation by PERL of the code to
handle them.
ftr Made it so that you can log both incoming and outgoing streams at
the server, requested by the client.
*ftr Added the ability to connect using only an outgoing TCP connection
to the server (to punch through a firewall or Network Address
Translation). When a connection is made this way, no data
is sent via UDP over that connection between the client and
server.
*bug Non-word-aligned code had sneaked back into the tracker drivers for
some devices. Now the vrpn_buffer() and vrpn_unbuffer()
routines have been changed to work for unaligned buffers as
well, so this should not recur. This should be fixed for
everything including the vrpn_float64 type now.
5.04:
ftr Adds a driver for the AEC PCI-LTC time-code reader board. Emits an
analog value for each connected board that has the current
timecode in seconds.
5.03:
ftr Adds a driver for the Wanda device, written by Brown University
ftr Code to handle Sierra video switches
*bug It turns out that ^C handlers in Windows are multithreaded, causing
printvals much confusion. Handling this properly fixes the
crash-at-the-end bug on 98/NT. HOWEVER, this does not work
properly when the program is run in at least some versions of
the Cygwin shell when run on Windows 98.
*bug Removed buggy clock-check code introduced in version 5.01
Now checks to see if it is Windows NT and disables if not
bug Cleaned up the gethostbyname() code on the NT version
bug Seg fault when using printvals to open file://stored.vrpn, where
file:stored.vrpn works.
bug Fixed vrpn_drain_output_buffer() to call drain rather than
flush. Should make Flock driver work better.
bug Made -millisleep 0 the default on vrpn_server again. Setting
it to 1 broke both the Radamac SPI and the Fastrak
*bug Removes code that causes a seg fault when a VRPN application
exits (due to multiple deletions of connections in the
system textprinter)
5.02:
ftr Clean-up of vrpn_Tracker.[hC]
Reduction of the number of register/unregister functions in vrpn_Tracker
Switching to the use of vrpn_buffer() and vrpn_unbuffer()
ftr Phantom button changed to button_filter to allow app to make it a toggle
*bug Fixes bugs in analogfly that caused it to seg fault
*ftr Driver for the Radamec Serial Position Interface camera tracker
bug Fixes deletion bug in printcereal
*ftr vrpn_AnalogFly now has to flavors: absolute and relative.
Also, added offset to the calculation chain
*** See new vrpn.cfg.SAMPLE file if you are using AnalogFly ***
5.01:
bug Zero-length VRPN messages were not logged.
bug If you deleted a vrpn_Connection with active Endpoints, they didn't close their sockets
*ftr Fastrak driver updated
*Support for InterSense 900 tracker (with Wand and/or Stylus) added to Fastrak driver
No longer issues "dangerous" commands during reset (dangerous to Isense)
Tries a fast reset first before doing full reset
Uses VRPN warning/error/info for many messages, rather than printf
bug Fixed gettimeofday() implementation on Win98 when perfcounter isn't close
bug Fixed some "const" declarations keeping it from compiling under Solaris
bug Buffer-send code to clear up space for new messages had been broken.
Fixing this allows sending gobs of data between calls to mainloop()
ftr Clipping/scaling analog server to map values to [-1..1]
*bug Fixes seg-fault on some architectures when reading from files
5.0:
bug Removed the mainloop() calls from within the ForceDevice methods that set
parameters. This will allow them to be used from within callback
handlers.
bug Modified "delete msgbuf" commands to become "delete [] msgbuf", which
matches the fact that they were created with "new char [len]".
*ftr The timeout parameter has been removed from the mainloop() functions of
the object classes (such as Analog) that had it. Waiting is more properly
done outside this function (using vrpn_SleepMsecs()).
*ftr Make it so that vrpn_Text messages don't get sent as the maximum-length text message
no matter how short the actual message is. THIS FEATURE MAKES THE CODE
NON-INTEROPERABLE WITH VERSION 4 OF VRPN. THIS FEATURE WILL BREAK ANY CODE
THAT USED vrpn_Text TO PASS STRINGS THAT CONTAINED THE NULL CHARACTER.
*bug Fixed the packing/unpacking of vrpn_Bool so that it uses the proper-length
byte ordering. THIS FEATURE MAY MAKE THE CODE NON-INTEROPERABLE WITH
VERSION 4 OF VRPN.
bug vrpn_Text send_message() should not call mainloop() inside it. Causes segfaults if
messages are send inside a callback handler.
*ftr vrpn_BaseClass object created, from which all object types should derive. Most
system object types now derive from this (clock, analog, button, dial,
forcedevice, sound, tracker, text). This pulls sender_id registration
and several other
functions together so that they are only implemented once. Also allows
extension of function (needed for the following features) by extending
only the vrpn_BaseClass object functions.
*ftr Text-handling code pulled into the vrpn_BaseClass object, so that all
objects can send text messages -- allows moving towards this way
of printing error messages from within objects.
*ftr vrpn_System_TextPrinter object created to print warnings and errors
from any created object (by default). User can change the ostream
that it uses, as well as adjust its level of verbosity. This should
allow all objects to print errors/warnings to the user console by
emitting VRPN text messages. This addresses a long-standing problem
with VRPN where you couldn't tell if there was a problem with the
server because its error messages go to some console on another
machine. Now they will go to both places for objects that are
derived from vrpn_BaseClass.
*ftr Handling the Ping/Pong messages that tell the client if the server is alive
The client warns of no hearbeat in 3 seconds, error if no heartbeat
in 10 second. Warn/error 1/second. Gets printed by vrpn_System_TextPrinter.
4.13: (This version was never released publicly, changes are in 5.0, except the Logitech Magellan,
look for it in 5.1 or email vrpn to get a beta driver).
*ftr Driver for the Logitech Magellan 6DOF motion controller. It is a button and
analog driver; you put the AnalogFly on top of its axes to make it
act as a tracker.
*ftr Multiple connections to the same server has been implemented. This allows
more than one client to connect to the same server at the same
time. Messages are unicast from the server to each client in this
version.
bug More general type/sender ID setup -- the old version didn't look at the
incoming index, but just assumed that they were sent in order.
bug Makes it so that logged messages from the client are not clock-adjusted
(they should never have been).
ftr Removes the endpointPtr() method from vrpn_Connection, since there can now be
more than one endpoint. This function provided a violation of encapsulation
in any case. Use the newconnection/droppedconnection messages to track
information on who is connected.
ftr Make it so that the server clears out all incoming requests when started
(in case client has been trying to call for a while). Also, bug fixed where
the client would pause for a second between a few calls, then request new
connections as fast as it could.
4.12: (This version was never released publicly, changes are in 5.0).
4.11:
Adds server and remote versions of vrpn_float64 and vrpn_int32
that allow easy sharing of information between networked
applications. Implemented to allow shared state for multiple
users of the nanoManipulator connected across a network.
Make sure the millisleep() works without busywait on Unix and NT
Shutdown/restart server w/o restarting app
If the client starts before the server, this is okay -- it will retry
If the server stops, the client will restore the connection later
If you are logging on the client, it logs before and after reconnect
The break is marked in the log file, in case we need to know
this for some reason.
Both fullsync and interval clock synchronization work
Fixes the code to control a raw SGI dial/button box. The old version would
write too fast and sometimes choke the box.
Fixing the output on the Intersense
It failed to send any line feed to the tracker
It sends add a cr/lf to the screen
Rearranged headers to get rid of vrpn_cygwin_hack.h.
Problem with Cygwin hanging on a packet with 0-byte payload fixed
Removing the quat directory from within server_src. Quat should now be
checked out separately from CVS, at the same level as the VRPN
main directory.
Fixed problems with the output buffers in all of the classes that buffer messages. This causes
seg faults on some architectures when it is not done. Switched all the classes
to using the vrpn_buffer() calls, which handle unaligned buffers.
Figured out what was making the unaligned unbuffer seg-fault happen on some machines when
reading. PROBABLY FOUND THIS -- the TCP buffer was allocated on the fly
based on the size of the message received. I've modified it to match the
UDP way, which allocates a float64 buffer and points the character buffer there.
The last two fixes should solve problems found on solaris, aix and older
SGI machines that were causing segmentation violations.
4.10:
Example classes (templates) for device drivers (server objects)
Make sure you can create/delete/create remotes [destructor unregister handlers]
test_vrpn code that verifies handler registration/unregistration
4.09:
Fixes to allow compilation on sparc_solaris
Client_and_server example program added
Added sleep commands to the extended Fastrak reset commands
Document the example vrpn.cfg on the web pages
Document client_and_server.C in the web pages
4.08:
Fastrak driver improved for clarity and simplicity, augmented to work with Intersense
CerealBox driver for analog, digital and encoder inputs
Example server configuration file (vrpn.cfg)
Making client not complain when it cannot find vrpn_Tracker.cfg file
AnalogFly device created to allow flying with CerealBox joysticks
|