Files
sea/tcl/startup/tscan.tcl
2022-08-18 15:04:28 +02:00

80 lines
1.6 KiB
Tcl

proc writeline line {
global filename
set fil [open $filename a]
puts $fil [concat $line]
close $fil
}
if {[string equal notfound [sicsdescriptor filenumber]]} {
makeobject filenumber string
filenumber = 0
}
proc newfile {} {
global filename
set n [result filenumber]
incr n
filenumber = $n
set num [format %4.4d $n]
set filename "[lindex [split [result exe batchpath] :] 0]/$num.txt"
writeline "#T X Y"
}
proc tscan {args} {
global filename
writeline "#T X Y (freq=[result la])"
# tt controlmode 1
foreach t $args {
clientput "drive to $t"
drive tt $t
set res "[result tt] [result la x] [result la y]"
clientput $res
writeline $res
}
}
proc tramp {start step end} {
global filename
writeline "#T X Y (freq=[result la])"
# tt controlmode 1
if {$step == 0} {
return
}
set n [expr round(double(($end - $start) / $step))]
if {$n < 0} {
set n [expr -$n]
set step [expr -$step]
}
for {set i 0} {$i <= $n} {incr i} {
set t [expr $start + $i * $step]
clientput "drive to $t"
drive tt $t
set res "[result tt] [result la x] [result la y]"
clientput $res
writeline $res
}
}
proc recondense {mode} {
switch $mode {
start {
tt controlmode 0
tt set 40
clientput "after 15 min. enter: recondense stop"
}
stop {
tt set 0
tt controlmode 1
}
default {
clientput "Usage: recondense start"
clientput " recondense stop"
}
}
}
publishLazy newfile
publishLazy tscan
publishLazy tramp
publishLazy recondense