selectslave_slave $slave
}
-proc xmit_s {b} {
+proc xmit_slave {slave b} {
xmit "$b | 0x80"
- selectslave_s
+ selectslave_slave $slave
recv 1
}
+proc xmit_s {b} {
+ global slave
+ xmit_slave $slave $b
+}
+
proc pause {t} {
global pause_var
catch { unset pause_var }
proc p {s} { puts -nonewline $s }
-proc ms_reset {arg} {
+proc reset_s {val min max} {
+ for {set slave $min} {$slave < $max} {incr slave} {
+ xmit_slave $slave $val
+ }
+}
+
+proc reset_m {arg} {
if {[regexp {^(\d+)\.(\d+)} $arg min max]} {
} elseif {[regexp {^(\d+)} $arg max]} {
set min 1
error "--reset arg $arg wrong"
}
setup_m
- xmit 0x89
- for {set slave $min} {$slave < $max} {incr slave} {
- selectslave_slave $slave
- recv 1
- }
+ reset_s 0x00 $min $max
+ reset_s 0x00 $min $max
+ reset_s 0x09 $min $max
xmit 0x09
}
fconfigure stdout -buffering none
if {![string compare reset $map]} {
- ms_reset $picno
+ reset_m $slave
+ exit 0
}
set m [open $map]