From 03b08f52cf396db32351c69e6178ca4b3dcb1281 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 20 Jan 2008 23:28:23 +0000 Subject: [PATCH] works somewhat better... --- hostside/measure-speeds | 56 +++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/hostside/measure-speeds b/hostside/measure-speeds index c372546..05da951 100755 --- a/hostside/measure-speeds +++ b/hostside/measure-speeds @@ -141,18 +141,6 @@ proc xmit {nmral} { xmit-now } -proc goto-slow-start-position {speed} { - global last_fast_speed - if {$last_fast_speed >= 0} { - run-until -100 {980a 9809} - set last_fast_speed -1 - } - run-until -40 9804 - run-until-not -40 980a 100 - instruct-speed-for -40 [expr {$speed*$speed}] - instruct-stop-for 1000 -} - proc record-mm-per-s {speed distance start finish} { debug "S $speed: $distance / ( $finish-$start = [expr {$finish-$start}] )" set mmpers [expr {$distance*1.0/($finish-$start)}] @@ -160,20 +148,47 @@ proc record-mm-per-s {speed distance start finish} { } proc now-ms {} { - set now [clock clicks -milliseconds] - if {[catch { exec dd if=/bin/ls of=/dev/dsp count=1 } m]} { debug "?? $m" } + clock clicks -milliseconds +} + +proc now-ms-click {} { + set now [now-ms] + if {[catch { + exec dd if=/bin/ls of=/dev/dsp count=1 > /dev/null + } m]} { debug $m } return $now } +proc timing-start {} { + global start + set start [now-ms-click] +} +proc timing-finish {speed distance} { + global start + set finish [now-ms-click] + record-mm-per-s $speed $distance $start $finish +} + +proc goto-slow-start-position {speed} { + global last_fast_speed + if {$last_fast_speed >= 0} { + run-until -100 {9804 980a} + set last_fast_speed -1 + } + run-until -40 9802 + run-until-not -40 9804 100 + instruct-speed-for -40 [expr {$speed*$speed}] + instruct-stop-for 1000 +} + proc slow-speed-test {speed} { debug "==================== $speed S ====================" goto-slow-start-position $speed + run-until $speed 9804 + timing-start run-until $speed 980a - set start [now-ms] - run-until $speed 9809 - set finish [now-ms] + timing-finish $speed 231 instruct-stop-for 100 - record-mm-per-s $speed 252 $start $finish } proc fast-speed-test {speed} { @@ -194,10 +209,9 @@ proc fast-speed-test {speed} { } set last_fast_speed $speed run-until $speed 9804 - set start [now-ms] + timing-start run-until $speed 9809 - set finish [now-ms] - record-mm-per-s $speed 483 $start $finish + timing-finish $speed 483 } proc speed-test {speed} { -- 2.30.2