From 317c7398ca3b9c945332ebdaab9c253408d8d9b8 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Mon, 29 Oct 2007 13:59:58 +1100 Subject: [PATCH] Move functions to motor_utility r2199 | dcl | 2007-10-29 13:59:58 +1100 (Mon, 29 Oct 2007) | 2 lines --- .../config/motors/motor_configuration.tcl | 64 +---------------- .../config/motors/motor_configuration.tcl | 64 +---------------- .../config/motors/motor_configuration.tcl | 68 +------------------ .../config/motors/motor_configuration.tcl | 54 +-------------- 4 files changed, 11 insertions(+), 239 deletions(-) diff --git a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl index 99ad486c..b47b2df4 100644 --- a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl @@ -1,7 +1,7 @@ -# $Revision: 1.16 $ -# $Date: 2007-08-16 06:36:59 $ +# $Revision: 1.17 $ +# $Date: 2007-10-29 02:59:15 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: ffr $ +# Last revision by: $Author: dcl $ # START MOTOR CONFIGURATION @@ -633,64 +633,6 @@ sicslist setatt sth klass sample sicslist setatt sth units degrees sicslist setatt sth long_name half_azimuthal_angle -proc get_gap_width {m1 m2} { - return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] -} - -proc set_gap_width {m1 m2 val} { - set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [$m1]] + $diff/2] - set newD1L [expr [SplitReply [$m2]] - $diff/2] - return "$m1=$newD1R,$m2=$newD1L" -} - -proc get_gap_offset {m1 m2} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - return [ expr ($S1 + $S2)/2.0 ] -} - -proc set_gap_offset {m1 m2 val} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - set currentoffset [expr ($S1 + $S2)/2.0 ] - set diff [expr $val - $currentoffset] - set newD1R [expr $S1 + $diff] - set newD1L [expr $S2 + $diff] - return "$m1=$newD1R,$m2=$newD1L" -} - -# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} { - eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" - set v {$var} - eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" - MakeConfigurableMotor $vm1 - $vm1 readscript get_$vm1 - $vm1 drivescript set_$vm1 -publish get_$vm1 user -publish set_$vm1 user - - eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }" - set v {$var} - eval "proc set_$vm2 {var} { set_gap_offset $m1 $m2 $v }" - MakeConfigurableMotor $vm2 - $vm2 readscript get_$vm2 - $vm2 drivescript set_$vm2 -publish get_$vm2 user -publish set_$vm2 user - -sicslist setatt $vm1 units $aunits -sicslist setatt $vm1 klass aperture -sicslist setatt $vm1 long_name $vm1_name -sicslist setatt $vm1 group $agroup -sicslist setatt $vm2 units $aunits -sicslist setatt $vm2 klass aperture -sicslist setatt $vm2 long_name $vm2_name -sicslist setatt $vm2 group $agroup -} - make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup diff --git a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl index d389b363..7f06b7c7 100644 --- a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl @@ -1,7 +1,7 @@ -# $Revision: 1.19 $ -# $Date: 2007-08-16 06:37:45 $ +# $Revision: 1.20 $ +# $Date: 2007-10-29 02:59:58 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: ffr $ +# Last revision by: $Author: dcl $ # START MOTOR CONFIGURATION @@ -658,64 +658,6 @@ sicslist setatt sth klass sample sicslist setatt sth units degrees sicslist setatt sth long_name half_azimuthal_angle -proc get_gap_width {m1 m2} { - return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] -} - -proc set_gap_width {m1 m2 val} { - set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [$m1]] + $diff/2] - set newD1L [expr [SplitReply [$m2]] - $diff/2] - return "$m1=$newD1R,$m2=$newD1L" -} - -proc get_gap_offset {m1 m2} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - return [ expr ($S1 + $S2)/2.0 ] -} - -proc set_gap_offset {m1 m2 val} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - set currentoffset [expr ($S1 + $S2)/2.0 ] - set diff [expr $val - $currentoffset] - set newD1R [expr $S1 + $diff] - set newD1L [expr $S2 + $diff] - return "$m1=$newD1R,$m2=$newD1L" -} - -# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} { - eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" - set v {$var} - eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" - MakeConfigurableMotor $vm1 - $vm1 readscript get_$vm1 - $vm1 drivescript set_$vm1 -publish get_$vm1 user -publish set_$vm1 user - - eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }" - set v {$var} - eval "proc set_$vm2 {var} { set_gap_offset $m1 $m2 $v }" - MakeConfigurableMotor $vm2 - $vm2 readscript get_$vm2 - $vm2 drivescript set_$vm2 -publish get_$vm2 user -publish set_$vm2 user - -sicslist setatt $vm1 units $aunits -sicslist setatt $vm1 klass aperture -sicslist setatt $vm1 long_name $vm1_name -sicslist setatt $vm1 group $agroup -sicslist setatt $vm2 units $aunits -sicslist setatt $vm2 klass aperture -sicslist setatt $vm2 long_name $vm2_name -sicslist setatt $vm2 group $agroup -} - make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup diff --git a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl index 5d2f8a33..b05f10a7 100644 --- a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl @@ -1,7 +1,7 @@ -# $Revision: 1.21 $ -# $Date: 2007-10-23 03:59:36 $ +# $Revision: 1.22 $ +# $Date: 2007-10-29 02:59:58 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: ffr $ +# Last revision by: $Author: dcl $ # START MOTOR CONFIGURATION @@ -825,68 +825,6 @@ ss4r home 0 # return [lindex $l 1] #} -proc get_gap_width {m1 m2} { - return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] -} - -proc set_gap_width {m1 m2 val} { - set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [$m1]] + $diff/2.0] - set newD1L [expr [SplitReply [$m2]] - $diff/2.0] - return "$m1=$newD1R,$m2=$newD1L" -} - -proc get_gap_offset {m1 m2} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - return [ expr ($S1 + $S2)/2.0 ] -} - -proc set_gap_offset {m1 m2 val} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - set currentoffset [expr ($S1 + $S2)/2.0 ] - set diff [expr $val - $currentoffset] - set newD1R [expr $S1 + $diff] - set newD1L [expr $S2 + $diff] - return "$m1=$newD1R,$m2=$newD1L" -} - -# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} { - eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" - set v {$var} - eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" - MakeConfigurableMotor $vm1 - $vm1 readscript get_$vm1 - $vm1 drivescript set_$vm1 -publish get_$vm1 user -sicslist setatt get_$vm1 privilege internal -publish set_$vm1 user -sicslist setatt set_$vm1 privilege internal - - eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }" - set v {$var} - eval "proc set_$vm2 {var} { set_gap_offset $m1 $m2 $v }" - MakeConfigurableMotor $vm2 - $vm2 readscript get_$vm2 - $vm2 drivescript set_$vm2 -publish get_$vm2 user -sicslist setatt get_$vm2 privilege internal -publish set_$vm2 user -sicslist setatt set_$vm2 privilege internal - -sicslist setatt $vm1 units $aunits -sicslist setatt $vm1 klass aperture -sicslist setatt $vm1 long_name $vm1_name -sicslist setatt $vm1 group $agroup -sicslist setatt $vm2 units $aunits -sicslist setatt $vm2 klass aperture -sicslist setatt $vm2 long_name $vm2_name -sicslist setatt $vm2 group $agroup -} - make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup diff --git a/site_ansto/instrument/sans/config/motors/motor_configuration.tcl b/site_ansto/instrument/sans/config/motors/motor_configuration.tcl index 407d8e21..40bc1e95 100644 --- a/site_ansto/instrument/sans/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/sans/config/motors/motor_configuration.tcl @@ -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