VRPN 06.04

VRPN main page

Obtaining VRPN

VRPN Support

Installing and Testing

Compiling and Modifying

Client code

Server code



Logging and Playback

Shared Objects


Clock Synchronization

Text Messages

Doxygen documentation


Coming attractions & suggestions

UNC-specific information

Compiling and using VRPN on PDAs

Linux-based PDAs

Thorsten Scheuermann wrote the port for Linux-based PDAs. He writes:

If you want to experiment with VRPN on a PDA I would suggest using a Sharp Zaurus 5500, as it comes with Linux installed, and avoids the hassle of getting the iPaq to work under Linux. Developing for either of these PDAs is simple, as it uses a standard gcc cross-compiler and Qt/Embedded (free for non-commercial use) for the GUI. In fact, both the Zaurus and the iPaq can execute the same unmodified executable.

Getting VRPN to work on the PDA only required changes to the Makefile, not the source code itself. One thing to keep in mind is that these PDAs have standard serial ports, so theoretically it should be possible to hook them up to a serial tracker supported by VRPN and use them as a miniature tracker server.

Sharif Razzaque writes: The PDA talks to our network using a compact flash 802.11b card. We have been using the pda to control our VE system and it works very well, except that the batteries only last 60-90 minutes.

Russ says: To compile it, uncomment the line "#HW_OS := pc_linux_arm" in the Makefile and then use gmake to compile it.

Windows CE-based PDAs

There is a vrpn_embedded folder in the VRPN main folder that contains the workspace file to enable compiling VRPN on Windows CE-based machines (vrpn_embedded.vcw). This file was used to compile the library, but I was not able to get it to link any of the applications, so it is only a partial port at best. Hopefully it will be a start for someone who actually has a PDA running Windows CE to try it on.

The version of the Windows CE development environment I had did not support some of the network features (the TCP Nodelay for instance). Various source files have areas guarded by "#ifdef _WIN32_WCE" lines to enable the code to compile in this environment.