What is it?
PsiONtrack lets you mount your Psion palmtop as a filesystem ('device')
under BeOS.
In other words you
can open the directories on your Psion as Tracker windows, and drag and drop
files in either direction. You can also use shell commands on the files from
a Terminal of course if you like.
Previous releases were only comnpatible with the Series 5 machines
(other EPOC-based units as well, probably), but this version adds support
for the Series 3.
The package was built on a beach (grin)...Michael Pieper's "PalmBeach" for the Psion Series 3 machines, to be precise. It is essentially a revised edition of that program, with somewhat updated packaging as well. The "revisions" involved a large scale rewrite of the filesystem module for EPOC as well as the serial communications. The user interface is almost unchanged. The "new packaging" is mostly the new name that I had the gall to give the progam: I felt that "PalmBeach" has the wrong connotations these days.
What's New?
As mentioned above, a filesystem for Series 3 machines is now included.
A separate document gives details.
Otherwise. this 1.2 release is mainly bug fixes — including a nasty
kernel crash that was rare on the 5, but annoyingly frequent on the 3!
A possible deadlock in message passing was also cured.
The files in the 'add-ons' folder are unchanged from the previous version.
The 1.1 release included a new add-on, 'server-client', that makes it possible for other programs to talk to servers on the Psion through PsiONtrack. The 'EXTRAS' folder (unchanged from 1.1) contains a couple of facilities for transferring Psion Contacts entries to BeOS 'Person' files, one of which uses server-client. There is also a demo of access to the Psion's built-in RPCS server.
Installation
This folder — assuming that you have successfully unzipped the package and
are reading this from there...— can be placed anywhere convenient, but its
internal organization should be kept intact. In other words, don't move the
application itself out of the folder — make a link to it instead. A good
place for the folder is probably /boot/home/config/apps, but put it where you
usually keep such things. /boot/home is not recommended, and certainly not
/boot/apps. It is best to make sure the folder is in its final home before
doing the rest of the install.
The filesystems themselves (here in the folder 'filesys') must be moved to the specific location
Setup
Before you can actually connect to your Psion, you need to specify the serial
port and the data rate. Double-click on PsiONtrack to start it, and in the
control panel that appears click on the 'Settings' tab. Select the desired
settings from the popups and click 'Save Settings'.
(Immediately after installation, when no 'settings' file yet exixts,
you will have to quit PsiONtrack and restart it after saving the settings,
before the 'Connect' button is enabled. I suppose this is a bug.)
You will have to determine which serial port (of the two usually present) is appropriate. (If all else fails, try each one in turn!) The normal default data rate on a Series 5 is 115200, so you should select this unless you have reason to choose another. The Series 3 is slower — 19200 is the fastest you can use for that.
Connecting
[These paragraphs refer mostly to Series 5 machines. See the
Series 3 document for those units.]
First, of course, you have to physically connect your Psion to the serial-port Just use the cable that came with your Psion, and plug it in as described in your PsiWin Guide. You also have to turn on the Psion's Serial Link: open the 'Remote Link' option from the System Screen menu (under 'Tools' on the 5mx) and select 'Cable' in the panel that appears. You should then see a 'Baud Rate' field. This should show '115200'; if it doesn't, either reset it to that value or adjust the PsiONtrack settings (above) to match. (If you have left the Remote Link enabled, there is no need to actually switch the Psion on: clicking 'Connect' is enough to tell the unit to switch on, as long as the cable is connected:.)
Once the above preliminaries are complete, just click 'Connect' in the PsiONtrack window, and you should see two or more 'palmtop' icons appear on your desktop. One should be labelled 'Internal', and the other, 'RomDrive'. Forget about the latter for now — it contains the fixed programs provided by your Psion, and you can't do much except list them. If you have a Compact Flash plugged into your unit, it will also show on the desktop, labelled as whatever you have named it.
You can now access your Psion just as you would any other volume in your BeOS system. Double click on the 'Internal' icon to get a window with the folders it contains, and proceed from there.
When you are done with the session, you should click 'Disconnect' in the PsiONtrack panel, and turn off the Psion itself. ('Disconnect' automatically unmounts the filesystem, closing any open Psion folders on the way.) You probably should also turn off the Remote Link (through the System Menu option) to avoid wasting battery power.
The Close gadget of the PsiONtrack window is how you finally quit the program, You must of course disconnect first — if you're still connected, the window will minimize, but PsiONtrack keeps running.
What You Can — and Can't — Do
PsiONtrack is probably most useful for backing up your Psion work. Drag
files or folders back and forth to copy them. You will see various icons on
the files (courtesy of Michael Pieper) representing most of the Psion file
types, which will be retained when you copy them to BeOS. In the other
direction, non-Psion files will initially keep their BeOS attributes (most of
them), but will lose them the moment that window is closed (because of
course the Psion doesn't know about attributes).
Be aware that some files will not be visible in the folder window, or be copyable, if they are currently opened by some program on the Psion. This seems to be the case for Sheet and Jotter files for example, but on the other hand an active Agenda file can be seen and copied. If you want to back up everything you should close all active Psion apps first. Also, if you add or remove files at the Psion end, rather than from the BeOS window, the change will not be visible to BeOS until you close and reopen the relevant window. (The Psion has no notification mechanism to say things have changed.)
The mime-types used for Psion Series 5 files are currently simply ported from the equivalent Series 3 ones — Sound files are still labelled 'WVE' for instance — and some don't have specific types assigned yet at all. These just show up as 'Generic Psion'. Files on the Psion that are not EPOC specific get no type assigned at all when the folder is opened. You can use Tracker's 'Identify' on them (at least if they're meaningful to BeOS) to give them a BeOS type and icon that will be valid as long as the folder remains open.
You can also run BeOS programs (where useful) on files in the Psion. You can, for example, use zip/unzip for archiving, rather than dragging files and folders around. A couple of xicon scripts to back up and restore the Psion drive have been included in the package; they are described in a later section. You might also use an editor on any plain text files you might have there. (Not on Word files of course — they have their own structure.)
The most obvious thing you can't do with Psion files is... much else! There are few conversion utilities available under BeOS — though the 'psiconv' package is available (see below). There are some conversion facilities in the built-in apps (Word->text, for instance) but there's nothing you can do with Sheet or Agenda files. As noted, though, this release includes utilities to copy Contacts data into BeOS Person files.
One point you must be aware of. If the Psion turns itself off, you lose your connection. Turning it back on will not restore it (because the Psion does not remember its connection state). You will need to click 'Disconnect' and then 'Connect' again, with a corresponding unmount and remount of the filesystem. Any attempt to access an open Psion window after switch off will unmount the filesystem in any case.
Although the Last-modified-time of a file is preserved when a file is copied in either direction, PsiONtrack currently takes no notice of time zones. The Psion keeps local time, but your BeOS will probably be working from UT/GMT (suitably adjusted for your location). So a file transferred from Psion to BeOS will show an offset from its original timestamp (unless you live in England...) but if you copy it back to the Psion it will once again have its original time.
PsiONtrack Window
The control window for PsiONtrack has three tabs. The 'Settings' one you
have already used to configure for your system. The left-hand tab, ''State',
shows the currently active components of the application. On a successful
connection, you should see both 'NCP' and 'SYS$RFSV.*', the former being the
basic serial channel protocol used to talk to the Psion, and the latter
how it refers to the filesystem itself. If the second does not appear the
connection has not been made — perhaps the Psion Remote Link is off, or the
filesystem module has not been properly installed.
Other entries may appear (and disappear) in these fields when other facilities are activated. If the new Server Client is invoked, it needs to start the 'LINK.*' server on the Psion before it can regixter its target server, so this entry will appear. The target of server-client is normally only active while the invoking application runs, so it will pop up momentarily in the window too.
The right-hand 'Add-Ons' tab shows the modules that are available to the application. There is little to concern you here. Only the (built-in) NCP module, the filesystem mounter, and the Server Client are present. (There were a couple of others relevant to a Series 3, but they are not applicable to the Series 5 and of very limited utility under BeOS for a Series 3 either, so they are not included here.)
'Backup' and 'Restore' Scripts
If you have xicon you can try the
two simple scripts for the Series 5 provided in the package.
They can also be run, a bit less
conveniently, as shell scripts from a Terminal. (They aren't useful in their
provided form for the Series 3, as the directory names are wrong. You could
probably edit them suitably.]
'Backup' will run zip to create an archive of the Psion Internal drive in the 'BACKUPS' subdirectory of the folder that the script is in — creating that if necessary. (Assuming that xicon is installed) just double-click on the 'Backup' icon, after starting PsiONtrack and connecting of course. You should also make sure that you've closed down all the apps that might be running before starting the backup, or the open files won't be copied.
'Restore' does the reverse, unzipping a previously generated backup file back into the Psion's drive. It will only copy files that are missing from the Psion or are newer than the ones there. Again, connect with PsiONtrack first, and turn off all running Psion apps.
One warning...: as noted, the Backup script saves everything off the Internal drive, including System data. Restore uses the '-u- option of unzip, so it shouldn't overwrite anything that has been changed since the backup, but I suggest you take care in any case if you're trying to do a partial restore.
These are both pretty trivial scripts, and one could certainly do better. If you know anything about shell scripts, you can rewrite them to suit yourself.
Components
For those interested — skip this if you're not — here are some semi-technical details.
The main PsiONtrack program manages the serial connection with the Psion and provides the interface for the user. An add-on (in the 'add-ons' subdirectory of this folder) named 'psionfs-mount' actually sets up the filesystem-level connection and mounts the filesystem.
A second add-on — 'server-client' — appears in this release. The name may sound a bit like a tautology, but in fact it provides a simple (BMessage) interface for other applications to talk to servers on the Psion. See the EXTRAS folder for more.
Supplied in the 'filesys' subfolder, but moved as described under 'Installation', are the filesystem modules themselves, 'psion5fs' and 'psion3fs'. These are add-ons to the BeOS kernel that map all the Psion filesystem operations (over the serial link) into appropriate BeOS ones. The appropriate one of these is loaded by the kernel when psionfs-mount makes its mount requests. (Each volume is a separate instance of the filesystem.)
Configuration settings (serial port and data rate), once set, are saved in /boot/home/config/settings/PsiONtrack.
In case you're wondering, 'NCP' stands for 'Network Control Protocol', and is used by Psion machines to manage multichannel communication. The filesystem talks over just one of these channels, and other functions can simultaneously work over others (such as the RCPS protocol used by 'server-client'). NCP in turn uses a low-level 'Psion Link Protocol' that transmits and receives over good-old RS-232 serial wires.
Sundry other terms that you may run into: 'RFSV' is Psion's name for the filesystem protocol itself ('Remote File SerVices'). 'EPOC' is the 32-bit operating system used by the Series 5 and Revo, 'SIBO' is the 16-bit OS of the Series 3. [No, I don't know what they stand for...]
psiconv
psiconv is a package distributed under GPL, intended to let platforms other
than Windows do useful things with EPOC files. Its abilities are a bit
limited as yet, but it can do things like produce respectable HTML from Word
files.
I haven't done much with it so far, except to verify that it compiles and runs
under BeOS. It is a work [hopefully still!] in progress, and should
eventually convert Word to RTF, Sheet to at least CSV, and so on. A typical
GPL package, it is probably a bit daunting. Sometime, I expect I will put
together an executable package for BeOS, but for now, I'll leave you to
pursue it on your own. You can find it at
http://huizen.dds.nl/~frodol/psiconv/index.html.
Series 3 support
A separate document gives details...
Bugs
I hope that the nasties that occasionally popped up with the previous version
have now been banished. This version is still too new to really be sure.
See the Series 3 page regarding the lower stability
of that system.
Compatibility
PsiONtrack should work on any BeOS 5 x86 system. (I'm assuming that anyone
running BeOS these days isn't still using any earlier version!) There is no
PPC version at the moment, as I have no particular need (though my trusty
BeBox continues to hum along...). I may yet try to recompile on that system.
I believe it should work with any EPOC (32-bit) palmtop, such as a Revo, and now with any Series 3/3-LINK setup as well. Please let me know your experiences, good or bad.
Copyrights, Credits, and Acknowledgments
The original PalmBeach code for Series 3 Psions is Copyright 1999-2000 by Michael Pieper.
The PsiONtrack modifications for Series 5 machines are Copyright 2002-2005 Peter J. Goodeve.
This project would not even have started without the existence of PalmBeach.
It would not have been possible even then without the vital documentation by a
couple of Alexanders:
Alexander Thoukydides has written a very thorough description of all the Psion
communication protocols that showed me how to do the Right Thing when talking
to the Psion.
http://www.btinternet.com/~thouky/software/psifs/plp.html
Alexander G. M. Smith provided a document detailing the otherwise hard-to-find workings of the BeOS filesystem calls.
http://members.rogers.com/agmsmith/beos/FileSystemAPINotes20020112.zip
The GPL code from the 'plptools' project for Linux was also helpful in figuring out the Psion link. However "No Gnu was harmed during the making of this Program" — i.e. I didn't use any GPL'd code in the project. http://plptools.sourceforge.net/
Contact this author at:
pete.goodeve@computer.org