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