From 776d8ea77cd9d9afcaffc44344046dfb5beaf94d Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 18 Apr 2008 21:15:16 +0000 Subject: [PATCH] also measure stopping distances --- hostside/measure-speeds | 49 +++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/hostside/measure-speeds b/hostside/measure-speeds index b881fc0..ea5bf79 100755 --- a/hostside/measure-speeds +++ b/hostside/measure-speeds @@ -31,7 +31,9 @@ proc startup {} { set last_fast_speed 0 set noise {} for {set i 0} {$i < 256} {incr i} { append noise \\x [hbytes random 1] } - foreach f {funcs0to4 funcs5to8} { +# foreach f {funcs0to4 funcs5to8} { +# } + foreach f {funcs5to8} { set m [exec ./hostside-old -s/dev/stdout $f $loco 0x1fff] set m [hbytes raw2h $m] lappend funcs_msgs ffff$m {} @@ -194,17 +196,36 @@ proc goto-slow-start-position {speed} { instruct-stop-for 1000 } -proc slow-speed-test {speed} { +proc begin-slow-test {speed} { debug "==================== $speed S ====================" goto-slow-start-position $speed run-until $speed 9804 +} + +proc slow-speed-test {speed} { + begin-slow-test $speed timing-start run-until $speed 980a record-mm-per-s S $speed 231 [timing-finish] instruct-stop-for 100 } -proc fast-speed-test {speed} { +proc slow-stop-test {speed} { + begin-slow-test $speed + finish-stop-test +} + +proc finish-stop-test {} { + global forever + after 10000 { + send-now 10 + exit 0 + } + run-until 0 {} + vwait forever +} + +proc prepare-fast-test {speed} { global last_fast_speed debug "==================== $speed F ====================" set start [now-ms] @@ -221,6 +242,10 @@ proc fast-speed-test {speed} { if {$deficit < 0} break } set last_fast_speed $speed +} + +proc fast-speed-test {speed} { + prepare-fast-test $speed set ms 0; set mm 0 set mslaps 0; set mmlaps 0 while {$ms < 2000} { @@ -244,11 +269,17 @@ proc fast-speed-test {speed} { if {$mslaps} { record-mm-per-s L $speed $mmlaps $mslaps } } -proc speed-test {speed} { +proc fast-stop-test {speed} { + prepare-fast-test $speed + run-until $speed 9804 + finish-stop-test +} + +proc run-test {how speed} { if {$speed<50} { - slow-speed-test $speed + slow-$how-test $speed } else { - fast-speed-test $speed + fast-$how-test $speed } } @@ -259,7 +290,11 @@ set reverse [lindex $argv 2] startup foreach s [lrange $argv 3 end] { - speed-test $s + if {[regexp {^s(\d+)} $s dummy s]} { + run-test stop $s + } else { + run-test speed $s + } } instruct-stop-for 1000 send-now 10 -- 2.30.2