Move functions to motor_utility

r2199 | dcl | 2007-10-29 13:59:58 +1100 (Mon, 29 Oct 2007) | 2 lines
This commit is contained in:
Douglas Clowes
2007-10-29 13:59:58 +11:00
parent 506bb5febc
commit 317c7398ca
4 changed files with 11 additions and 239 deletions

View File

@@ -1,5 +1,5 @@
# $Revision: 1.12 $
# $Date: 2007-10-26 00:59:12 $
# $Revision: 1.13 $
# $Date: 2007-10-29 02:59:58 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
@@ -942,56 +942,6 @@ proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION
proc set_virtual_1 { phys1 posit } {
set units [expr [SplitReply [$phys1 posit2unit $posit]]]
return "$phys1=$units"
}
proc set_virtual_2 { phys1 phys2 posit } {
set unit1 [expr [SplitReply [$phys1 posit2unit $posit]]]
set unit2 [expr [SplitReply [$phys2 posit2unit $posit]]]
return "$phys1=$unit1,$phys2=$unit2"
}
proc get_virtual_1 { phys1 } {
set p1 [expr [SplitReply [$phys1 posit]]]
return $p1
}
proc get_virtual_2 { phys1 phys2 } {
set p1 [expr [SplitReply [$phys1 posit]]]
set p2 [expr [SplitReply [$phys2 posit]]]
return [expr ($p1 + $p2) / 2.0]
}
publish set_virtual_1 user
publish set_virtual_2 user
publish get_virtual_1 user
publish get_virtual_2 user
proc make_coll_motor_1 { vm1 vm1_name pm1 aunits } {
eval "proc get_$vm1 {} { get_virtual_1 $pm1 }"
set v {$var}
eval "proc set_$vm1 {var} { set_virtual_1 $pm1 $v }"
MakeConfigurableMotor $vm1
$vm1 readscript get_$vm1
$vm1 drivescript set_$vm1
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass collimator
sicslist setatt $vm1 long_name $vm1_name
}
proc make_coll_motor_2 { vm1 vm1_name pm1 pm2 aunits } {
eval "proc get_$vm1 {} { get_virtual_2 $pm1 $pm2 }"
set v {$var}
eval "proc set_$vm1 {var} { set_virtual_2 $pm1 $pm2 $v }"
MakeConfigurableMotor $vm1
$vm1 readscript get_$vm1
$vm1 drivescript set_$vm1
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass collimator
sicslist setatt $vm1 long_name $vm1_name
}
# According to http://www.nexusformat.org/Design units must conform to
# http://www.unidata.ucar.edu/software/udunits/udunits-1/udunits.txt
# So we use "count" for dimensionless decimal numbers