From: Ian Jackson Date: Mon, 3 Jan 2011 18:28:28 +0000 (+0000) Subject: hostside/measure-speeds: make fastest "slow" speed a command line option, rather... X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=f7344a0a97b2f38d13405016a36ad454f8b0f556;p=trains.git hostside/measure-speeds: make fastest "slow" speed a command line option, rather than hardwiring 50 --- diff --git a/hostside/measure-speeds b/hostside/measure-speeds index 8312602..3b8f20e 100755 --- a/hostside/measure-speeds +++ b/hostside/measure-speeds @@ -1,14 +1,15 @@ #!/usr/bin/tclsh8.3 # Put loco on track segment X5 ish, facing anticlockwise -# ./measure-speeds /dev/railway AX speed 2 0 `seq 1 126` |tee santafe.speeds -# loco^ ^reverse +# ./measure-speeds /dev/railway AX speed 2 50 0 `seq 1 126` |tee santafe.speeds +# loco^ ^. ^reverse +# `-fastest "slow" speed # For stop distance at speed (say) 126, # Put loco on track segment X5 ish, facing ANTICLOCKWISE -# ./measure-speeds /dev/railway AX stop 2 0 40 +# ./measure-speeds /dev/railway AX stop 2 50 0 40 # OR put on track segment or C7 ish, facing CLOCKWISE -# ./measure-speeds /dev/railway C stop 2 0 40 +# ./measure-speeds /dev/railway C stop 2 50 0 40 # debugging: # ./measure-speeds [stuff] 2>&1 | perl -pe '$|=1; s/\r/\n/g' | 3<&0 tclsh8.3 <(echo 'set f [open /dev/fd/3]; proc cm {} { clock clicks -milliseconds }; set z [cm]; while {[gets $f l]>=0} { puts [format "%-10s %s" [expr {[cm]-$z}] $l] }') @@ -330,18 +331,18 @@ proc fast-stop-test {speed} { } proc run-test {how speed} { - global track + global track fastestslow if {[string compare $track AX] && [string compare $how stop]} { error "$track $how ?" } - if {$speed<50} { + if {$speed<=$fastestslow} { slow-$how-test $speed } else { fast-$how-test $speed } } -manyset $argv port track how loco reverse +manyset $argv port track how loco fastestslow reverse define-segments startup @@ -349,7 +350,7 @@ normalise_$track send-now 11 vwait pointed -foreach s [lrange $argv 5 end] { +foreach s [lrange $argv 6 end] { run-test $how $s } instruct-stop-for 1000