From dd3b19352626d06fe83b5a94f9dc7a9d8b52b038 Mon Sep 17 00:00:00 2001 From: ian Date: Sat, 14 Jan 2006 19:57:26 +0000 Subject: [PATCH] control train 1 --- hostside/stopgap-controller | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hostside/stopgap-controller b/hostside/stopgap-controller index b2c2276..1375f1f 100755 --- a/hostside/stopgap-controller +++ b/hostside/stopgap-controller @@ -7,6 +7,8 @@ set testonly 0 set port /dev/ttya0 #set port /dev/ttyS0 +set loco 1 + set ch(funcsevery) 10 set ch(speeddirnevery) 30 set ch(scale) 1 @@ -376,20 +378,22 @@ proc onreadp {} { } proc newspeeddirn {} { + global loco set b1 0x[randbyte] 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" + return "speed126 $loco $speed $dirn" } proc newfuncs {} { + global loco set b3 0x[randbyte] set value [expr {($b3 & 127) * 16}] debug "funcs b3=$b3 value=[format %x $value]" - return "funcs5to8 2 $value" + return "funcs5to8 $loco $value" } proc maybechange {thing force} { @@ -484,7 +488,7 @@ proc setup_complete {} { # for keyboard control proc ask_speed {updown} { - global speeddirn_fixed askspeeds askspeedix + global speeddirn_fixed askspeeds askspeedix loco set ll [llength $askspeeds] if {![info exists askspeedix]} { set askspeedix [expr { @@ -496,7 +500,7 @@ proc ask_speed {updown} { if {$askspeedix >= $ll} { set askspeedix [expr {$ll - 1}] } } set speed [lindex $askspeeds $askspeedix] - set speeddirn_fixed [list speed126 2 $speed 0] + set speeddirn_fixed [list speed126 $loco $speed 0] maybechange speeddirn 1 } -- 2.30.2