Installation: ser_asc and ser_bin should be owned by root and the suid bit should be set; this allows them to lock memory and use realtime scheduling. They will use their suid root privilege only for this purpose, and then drop it. chmod u+s ser_asc ser_bin They will write lock files in /var/lock, and they will not take advantage of their suid privilege to do so. Therefore, /var/lock needs to be world-writable (or writable by whoever is running ser_*), and the serial port also needs to be readable and writable by the user. Usage: ser_asc [options] [string1] [string2] ... string1 and string2 are the initial parts of each of up to 10 desired messages. These initial string segments to be matched can be any length, but will typically be something like "$GPGGA". The match always starts at the beginning of the string. ser_bin [options] --------------------------------------------------------------- Options common to ser_asc and ser_bin. -------------------------------------- b : Baud rate, e.g. 9600 p : Port number; if port is /dev/ttyS1, port number is 1. Don t use this. Instead, use: P : Port name, e.g. ttyS1. At present, this must not include the full path, and the path /dev/ is assumed. i : Input pipe name. Not a user option. o : Output pipe name. Not a user option. d : Directory in which data will be logged. f : Prefix of filename for logging. e : Extension of data log file. m : /* 0: decimal day; 1: seconds; 2: hhmmss; 3: .jyd */ File naming method. M : Start a new file at integral multiple of this number of minutes. H : Same, but hours. c : Require valid checksum for RDI raw (NB, BB, or OS) or for NMEA, if ascii F Flush out each block immediately instead of buffering y yearbase for file naming T long integer argument, unix time: use this time for naming the first file. Options specific to ascii files. --------------------------------- s : skip; -s 5 means keep every 5th line a : Log all lines. t : Preceed each line with a time tag message. Options specific to binary files. --------------------------------- I : Initiate pinging. This gives the command to start pinging; the type of command depends on the instrument, which is OS or BB if the O option is given, otherwise NB. The r option must also be given. l : Write a log file with each data file. O : Include this if and only if logging OS or BB raw data. S Sontek t : Floating point number; pause in seconds between serial data streams for sequential pings. B : Minimum data block size in bytes. Reject smaller chunks. Should be needed only if logging via evesdropping on a serial line when the instrument is controlled by VMDAS, or other program that requests each ping. r : RDI raw (NB, BB, or OS), not DAS ensemble E : Log errors. ? : t timeout (floating point argument, seconds) select timeout for ending a data block default is 0.1 s if raw, 2 s if ensemble v cc_vmin (integer) min number of characters default is 0 for raw, 128 for ensemble V cc_vtime (integer, 1/10ths of second) inter-character timer (if vmin > 0) or timeout (if vmin = 0) default is 1 Note: you should use one and only one of the -M and -H options. If you use either, the default is equivalent to -H2, but is better to be explicit.