From 1c79c0d9159c5c17a48dca30982691916e848bf9 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 1 Jan 2006 13:05:53 +0000 Subject: [PATCH] final version from nye --- hostside/stopgap-controller | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/hostside/stopgap-controller b/hostside/stopgap-controller index ace2905..99f3516 100755 --- a/hostside/stopgap-controller +++ b/hostside/stopgap-controller @@ -1,11 +1,13 @@ #!/usr/bin/tclsh8.2 +# used like this: +# liberator:hostside> ssh bessar 'cd things/trains-bessar/hostside && ./stopgap-controller' | ./gui-displayer - set testonly 0 #set testonly 1 set port /dev/ttya0 set ch(funcsevery) 10 -set ch(speeddirnevery) 12 +set ch(speeddirnevery) 30 set ch(scale) 1 set ch(minint) 5000 @@ -19,10 +21,12 @@ set polmsg(x) 90f802 set polmsg(y) 90807c set pname l set m {} +set nmradiv 0 set segs {xx yy} set segsasgot {xx yy} set pq {} ;# unset: cdu charged and waiting -set speeddirn ff7f +#set speeddirn ff7f +set speeddirn ffff80c3fbcced7f #set speeddirn_fixed {speed126 2 80 0} set funcs ff7f # unset pointpos($point) @@ -271,19 +275,23 @@ proc pm_detect {seg} { } proc tellnmra {m} { - global nmrawhich speeddirn funcs - set m 0x$m - for {set i 0} {$i < $m} {incr i} { - tellpic_q [lindex [list $speeddirn $funcs] $nmrawhich] - set nmrawhich [expr {!$nmrawhich}] - } +# global nmrawhich speeddirn funcs +# set m 0x$m +# for {set i 0} {$i < $m} {incr i} { +# tellpic_q [lindex [list $speeddirn $funcs] $nmrawhich] +# set nmrawhich [expr {!$nmrawhich}] +# } } proc watchdog {} { - global watchdog testonly + global watchdog testonly speeddirn funcs nmradiv catch { after cancel $watchdog } set watchdog [after 50 watchdog] tellpic_q 9808 ;# 128ms + if {[incr nmradiv] > 35} { + tellpic_q $speeddirn$funcs + set nmradiv 0 + } } proc pm_hello {} { @@ -342,6 +350,7 @@ proc newspeeddirn {} { set speed [expr {round(($b1 * $b1) / 65535.0 * 100.0 + 26.0)}] set b2 0x[randbyte] set dirn [expr {$b2 / 128}] + set dirn 0 debug "speeddirn b1=$b1 speed=$speed b2=$b2 dirn=$dirn" return "speed126 2 $speed $dirn" } -- 2.30.2