find_comms_params
author A.M. Thurnherr <ant@ldeo.columbia.edu>
Tue, 14 Sep 2010 13:34:39 -0400
changeset 4 fda11de1826e
parent 0 648bde652211
permissions -rwxr-xr-x
version left on Poseidon at end of P403

#!/usr/bin/expect -f
#======================================================================
#                    F I N D _ C O M M S _ P A R A M S 
#                    doc: Mon Mar  8 02:57:35 2004
#                    dlm: Tue Oct  3 12:41:59 2006
#                    (c) 2004 A.M. Thurnherr
#                    uE-Info: 83 0 NIL 0 0 72 2 2 8 NIL ofnI
#======================================================================

proc try {ttydev speed parity data stop} {
	if {$parity == "N"} {
		set pflag {-n};
	} elseif {$parity == "E"} {
		set pflag {-e};
	} elseif {$parity == "O"} {
		set pflag {-o};
	} else {
		error "illegal parity $parity specified";
	}

	send_user [format "trying %6d baud --- %s/%d/%d..." $speed $parity $data $stop];
	spawn ttycat -B -b $speed $pflag -d $data -s $stop $ttydev;
	expect {
		timeout {
			exec kill [exp_pid];
			send_user "\n";
		}
		-timeout 1 "Version" {
			send_user "OK\n";
			exit;
		}
	}
}

#======================================================================
# MAIN
#======================================================================

log_user 0;

if {$argc != 1} {
	send_error "Usage: $argv0 <tty special file>\n";
	exit 1;
}
set ttydev [lindex $argv 0];

try $ttydev    300 "N" 8 1;
try $ttydev    300 "E" 7 1;
try $ttydev    300 "O" 7 1;

try $ttydev   1200 "N" 8 1;
try $ttydev   1200 "E" 7 1;
try $ttydev   1200 "O" 7 1;

try $ttydev   2400 "N" 8 1;
try $ttydev   2400 "E" 7 1;
try $ttydev   2400 "O" 7 1;

try $ttydev   4800 "N" 8 1;
try $ttydev   4800 "E" 7 1;
try $ttydev   4800 "O" 7 1;

try $ttydev   9600 "N" 8 1;
try $ttydev   9600 "E" 7 1;
try $ttydev   9600 "O" 7 1;

try $ttydev  19200 "N" 8 1;
try $ttydev  19200 "E" 7 1;
try $ttydev  19200 "O" 7 1;

try $ttydev  38400 "N" 8 1;
try $ttydev  38400 "E" 7 1;
try $ttydev  38400 "O" 7 1;

try $ttydev  57600 "N" 8 1;
try $ttydev  57600 "E" 7 1;
try $ttydev  57600 "O" 7 1;

try $ttydev 115200 "N" 8 1;
try $ttydev 115200 "E" 7 1;
try $ttydev 115200 "O" 7 1;