set port /dev/ttya0
#set port /dev/ttyS0
+set loco 1
+
set ch(funcsevery) 10
set ch(speeddirnevery) 30
set ch(scale) 1
}
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} {
# 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 {
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
}