I've ported the packetlogger program to Linux. At the moment the only interface that I have hooked up is the Lawicel CAN-USB, as I plan to use the Actisense interface on Microsoft Windows and thus have no need (yet) for it to run on Linux.
It turns out that the Lawicel (like the Actisense) uses an FTDI chip to interface to USB. I could not get the FTDI D2xx libraries to work properly on Debian (Lenny). The workaround was simple: interface to the pseudo serial port directly, that works fine and is just about the same amount of work. It also means there is less interference of additional layers of software. My code uses a separate process to do the reading anyway, and uses the UNIX pipe mechanism to transport the data to further processing layers.
Now I shall have to start implementing the real application, which is storing the data permanently in a database on a USB stick and upload the same data to a server on the Internet. It will have to use some sort of configuration file that tells the code what data needs to be stored, and how often.
heading: every 300 seconds or 10 degree course change
location: every 300 seconds or 100 m change
location: every 300 seconds or 100m change