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)}]
}
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} {
}
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} {