From 2da08390b84683a0b3592e0b0f19e2606c0adc20 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Mon, 2 Apr 2007 15:02:21 +1000 Subject: [PATCH] Change sz count rate, remove obsolete code and do some cleaning r1782 | dcl | 2007-04-02 15:02:21 +1000 (Mon, 02 Apr 2007) | 2 lines --- .../config/motors/motor_configuration.tcl | 549 ++++-------------- 1 file changed, 99 insertions(+), 450 deletions(-) diff --git a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl index 15f4fdd4..63817bde 100644 --- a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.5 $ -# $Date: 2007-03-30 08:44:13 $ +# $Revision: 1.6 $ +# $Date: 2007-04-02 05:02:21 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: dcl $ @@ -42,6 +42,7 @@ set dz_home 7805000 #Measured or computed step rate for sz (Sample Raise) set szStepRate -116500 +set szCountRate [expr -(8192.0/5.0/0.932)] #Measured or computed slit motor steps per millimetre # 125 steps * 161:1 gears = 20125 @@ -360,7 +361,7 @@ Motor sz DMC2280 [params \ stepsPerX $szStepRate\ absEnc 1\ absEncHome $sz_home\ - cntsPerX [expr -8192/5]] + cntsPerX $szCountRate] sz softlowerlim 0 sz softupperlim 300.5 sz home 0 @@ -413,42 +414,6 @@ dz home 0 ############################ # -# Slit 1, lower -Motor ss1d DMC2280 [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis D\ - units mm\ - hardlowerlim [expr $ss1d_LoRange]\ - hardupperlim [expr $ss1d_HiRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss1d_Home] -ss1d softlowerlim $ss1d_LoRange -ss1d softupperlim $ss1d_HiRange -ss1d home 0 - -# Slit 1, upper -Motor ss1u DMC2280 [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis C\ - units mm\ - hardlowerlim [expr $ss1u_LoRange]\ - hardupperlim [expr $ss1u_HiRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss1u_Home] -ss1u softlowerlim $ss1u_LoRange -ss1u softupperlim $ss1u_HiRange -ss1u home 0 - # Slit 1, left Motor ss1l DMC2280 [params \ multichan mc3\ @@ -456,8 +421,8 @@ Motor ss1l DMC2280 [params \ port $dmc2280_controller3(port)\ axis A\ units mm\ - hardlowerlim [expr $ss1l_LoRange]\ - hardupperlim [expr $ss1l_HiRange]\ + hardlowerlim $ss1l_LoRange\ + hardupperlim $ss1l_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -474,8 +439,8 @@ Motor ss1r DMC2280 [params \ port $dmc2280_controller3(port)\ axis B\ units mm\ - hardlowerlim [expr $ss1r_LoRange]\ - hardupperlim [expr $ss1r_HiRange]\ + hardlowerlim $ss1r_LoRange\ + hardupperlim $ss1r_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -485,41 +450,41 @@ ss1r softlowerlim $ss1r_LoRange ss1r softupperlim $ss1r_HiRange ss1r home 0 -# Slit 2, lower -Motor ss2d DMC2280 [params \ +# Slit 1, upper +Motor ss1u DMC2280 [params \ multichan mc3\ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis H\ + axis C\ units mm\ - hardlowerlim [expr $ss2d_LoRange]\ - hardupperlim [expr $ss2d_HiRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss2d_Home] -ss2d softlowerlim $ss2d_LoRange -ss2d softupperlim $ss2d_HiRange -ss2d home 0 - -# Slit 2, upper -Motor ss2u DMC2280 [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis G\ - units mm\ - hardlowerlim [expr $ss2u_LoRange]\ - hardupperlim [expr $ss2u_HiRange]\ + hardlowerlim $ss1u_LoRange\ + hardupperlim $ss1u_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -$slitStepRate\ - motorHome $ss2u_Home] -ss2u softlowerlim $ss2u_LoRange -ss2u softupperlim $ss2u_HiRange -ss2u home 0 + motorHome $ss1u_Home] +ss1u softlowerlim $ss1u_LoRange +ss1u softupperlim $ss1u_HiRange +ss1u home 0 + +# Slit 1, lower +Motor ss1d DMC2280 [params \ + multichan mc3\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis D\ + units mm\ + hardlowerlim $ss1d_LoRange\ + hardupperlim $ss1d_HiRange\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX $slitStepRate\ + motorHome $ss1d_Home] +ss1d softlowerlim $ss1d_LoRange +ss1d softupperlim $ss1d_HiRange +ss1d home 0 # Slit 2, left Motor ss2l DMC2280 [params \ @@ -528,8 +493,8 @@ Motor ss2l DMC2280 [params \ port $dmc2280_controller3(port)\ axis E\ units mm\ - hardlowerlim [expr $ss2l_LoRange]\ - hardupperlim [expr $ss2l_HiRange]\ + hardlowerlim $ss2l_LoRange\ + hardupperlim $ss2l_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -546,8 +511,8 @@ Motor ss2r DMC2280 [params \ port $dmc2280_controller3(port)\ axis F\ units mm\ - hardlowerlim [expr $ss2r_LoRange]\ - hardupperlim [expr $ss2r_HiRange]\ + hardlowerlim $ss2r_LoRange\ + hardupperlim $ss2r_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -557,6 +522,49 @@ ss2r softlowerlim $ss2r_LoRange ss2r softupperlim $ss2r_HiRange ss2r home 0 +# Slit 2, upper +Motor ss2u DMC2280 [params \ + multichan mc3\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis G\ + units mm\ + hardlowerlim $ss2u_LoRange\ + hardupperlim $ss2u_HiRange\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -$slitStepRate\ + motorHome $ss2u_Home] +ss2u softlowerlim $ss2u_LoRange +ss2u softupperlim $ss2u_HiRange +ss2u home 0 + +# Slit 2, lower +Motor ss2d DMC2280 [params \ + multichan mc3\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis H\ + units mm\ + hardlowerlim $ss2d_LoRange\ + hardupperlim $ss2d_HiRange\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX $slitStepRate\ + motorHome $ss2d_Home] +ss2d softlowerlim $ss2d_LoRange +ss2d softupperlim $ss2d_HiRange +ss2d home 0 + +############################ +# Motor Controller 4 +# Motor Controller 4 +# Motor Controller 4 +############################ +# + # Slit 3, lower Motor ss3d DMC2280 [params \ multichan mc4\ @@ -564,8 +572,8 @@ Motor ss3d DMC2280 [params \ port $dmc2280_controller4(port)\ axis A\ units mm\ - hardlowerlim [expr $ss3d_LoRange]\ - hardupperlim [expr $ss3d_HiRange]\ + hardlowerlim $ss3d_LoRange\ + hardupperlim $ss3d_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -582,8 +590,8 @@ Motor ss3u DMC2280 [params \ port $dmc2280_controller4(port)\ axis B\ units mm\ - hardlowerlim [expr $ss3u_LoRange]\ - hardupperlim [expr $ss3u_HiRange]\ + hardlowerlim $ss3u_LoRange\ + hardupperlim $ss3u_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -600,8 +608,8 @@ Motor ss3l DMC2280 [params \ port $dmc2280_controller4(port)\ axis C\ units mm\ - hardlowerlim [expr $ss3l_LoRange]\ - hardupperlim [expr $ss3l_HiRange]\ + hardlowerlim $ss3l_LoRange\ + hardupperlim $ss3l_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -618,8 +626,8 @@ Motor ss3r DMC2280 [params \ port $dmc2280_controller4(port)\ axis D\ units mm\ - hardlowerlim [expr $ss3r_LoRange]\ - hardupperlim [expr $ss3r_HiRange]\ + hardlowerlim $ss3r_LoRange\ + hardupperlim $ss3r_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -636,8 +644,8 @@ Motor ss4d DMC2280 [params \ port $dmc2280_controller4(port)\ axis E\ units mm\ - hardlowerlim [expr $ss4d_LoRange]\ - hardupperlim [expr $ss4d_HiRange]\ + hardlowerlim $ss4d_LoRange\ + hardupperlim $ss4d_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -654,8 +662,8 @@ Motor ss4u DMC2280 [params \ port $dmc2280_controller4(port)\ axis F\ units mm\ - hardlowerlim [expr $ss4u_LoRange]\ - hardupperlim [expr $ss4u_HiRange]\ + hardlowerlim $ss4u_LoRange\ + hardupperlim $ss4u_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -672,8 +680,8 @@ Motor ss4l DMC2280 [params \ port $dmc2280_controller4(port)\ axis G\ units mm\ - hardlowerlim [expr $ss4l_LoRange]\ - hardupperlim [expr $ss4l_HiRange]\ + hardlowerlim $ss4l_LoRange\ + hardupperlim $ss4l_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -690,8 +698,8 @@ Motor ss4r DMC2280 [params \ port $dmc2280_controller4(port)\ axis H\ units mm\ - hardlowerlim [expr $ss4r_LoRange]\ - hardupperlim [expr $ss4r_HiRange]\ + hardlowerlim $ss4r_LoRange\ + hardupperlim $ss4r_HiRange\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ @@ -746,7 +754,6 @@ ss4r home 0 # return [lindex $l 1] #} -if {1} { proc get_gap_width {m1 m2} { return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] } @@ -807,363 +814,5 @@ make_gap_motors ss3hg ss3ho ss3r ss3l make_gap_motors ss4vg ss4vo ss4u ss4d make_gap_motors ss4hg ss4ho ss4r ss4l -} else { -#-------------------------------------------------------- -proc ss1widthscript {val} { - set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss1r]] + $diff/2] - set newD1L [expr [SplitReply [ss1l]] + $diff/2] - return "ss1r=$newD1R,ss1l=$newD1L" -} -publish ss1widthscript user -#------------------------------------------------------- -proc ss1readwidth {} { - return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] -} -publish ss1readwidth user -MakeConfigurableMotor ss1hg -ss1hg drivescript ss1widthscript -ss1hg readscript ss1readwidth - -#-------------------------------------------------------- -proc ss1horoffsetscript {val} { - set SR [SplitReply [ss1r]] - set SL [SplitReply [ss1l]] - set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1R [expr $SR + $diff] - set newD1L [expr $SL - $diff] - return "ss1r=$newD1R,ss1l=$newD1L" -} -publish ss1horoffsetscript user - -#------------------------------------------------------- -proc ss1readhoroffset {} { - set SR [SplitReply [ss1r]] - return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ] -} -publish ss1readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss1ho -ss1ho drivescript ss1horoffsetscript -ss1ho readscript ss1readhoroffset - -#------------------------------------------------------- -proc ss1heightscript {val} { - set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss1d]] + $diff/2] - set newD1T [expr [SplitReply [ss1u]] + $diff/2] - return "ss1d=$newD1B,ss1u=$newD1T" -} -publish ss1heightscript user - -#------------------------------------------------------- -proc ss1readheight {} { - return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] -} -publish ss1readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss1vg -ss1vg drivescript ss1heightscript -ss1vg readscript ss1readheight - -#-------------------------------------------------------- -proc ss1vertoffsetscript {val} { - set SU [SplitReply [ss1u]] - set SD [SplitReply [ss1d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss1u=$newD1U,ss1d=$newD1D" -} -publish ss1vertoffsetscript user - -#------------------------------------------------------- -proc ss1readvertoffset {} { - set SU [SplitReply [ss1u]] - return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ] -} -publish ss1readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss1vo -ss1vo drivescript ss1vertoffsetscript -ss1vo readscript ss1readvertoffset - -############################################### - -#-------------------------------------------------------- -proc ss2widthscript {val} { - set currentWidth [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss2r]] + $diff/2] - set newD1L [expr [SplitReply [ss2l]] + $diff/2] - return "ss2r=$newD1R,ss2l=$newD1L" -} -publish ss2widthscript user - -#------------------------------------------------------- -proc ss2readwidth {} { - return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] -} -publish ss2readwidth user -MakeConfigurableMotor ss2hg -ss2hg drivescript ss2widthscript -ss2hg readscript ss2readwidth - -#-------------------------------------------------------- -proc ss2horoffsetscript {val} { - set SR [SplitReply [ss2r]] - set SL [SplitReply [ss2l]] - set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1R [expr $SR + $diff] - set newD1L [expr $SL - $diff] - return "ss2r=$newD1R,ss2l=$newD1L" -} -publish ss2horoffsetscript user - -#------------------------------------------------------- -proc ss2readhoroffset {} { - set SR [SplitReply [ss2r]] - return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ] -} -publish ss2readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss2ho -ss2ho drivescript ss2horoffsetscript -ss2ho readscript ss2readhoroffset - -#-------------------------------------------------------- -#----------------------------------------------------- -proc ss2heightscript {val} { - set currentWidth [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss2d]] + $diff/2] - set newD1T [expr [SplitReply [ss2u]] + $diff/2] - return "ss2d=$newD1B,ss2u=$newD1T" -} -publish ss2heightscript user - -#------------------------------------------------------- -proc ss2readheight {} { - return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] -} -publish ss2readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss2vg -ss2vg drivescript ss2heightscript -ss2vg readscript ss2readheight - -#-------------------------------------------------------- -proc ss2vertoffsetscript {val} { - set SU [SplitReply [ss2u]] - set SD [SplitReply [ss2d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss2u=$newD1U,ss2d=$newD1D" -} -publish ss2vertoffsetscript user - -#------------------------------------------------------- -proc ss2readvertoffset {} { - set SU [SplitReply [ss2u]] - return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ] -} -publish ss2readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss2vo -ss2vo drivescript ss2vertoffsetscript -ss2vo readscript ss2readvertoffset - -############################################### - -#-------------------------------------------------------- -proc ss3widthscript {val} { - set currentWidth [expr [SplitReply [ss3r]] + [SplitReply [ss3l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss3r]] + $diff/2] - set newD1L [expr [SplitReply [ss3l]] + $diff/2] - return "ss3r=$newD1R,ss3l=$newD1L" -} -publish ss3widthscript user - -#------------------------------------------------------- -proc ss3readwidth {} { - return [expr [SplitReply [ss3r]] + [SplitReply [ss3l]]] -} -publish ss3readwidth user -MakeConfigurableMotor ss3hg -ss3hg drivescript ss3widthscript -ss3hg readscript ss3readwidth - -#----------------------------------------------------- -proc ss3heightscript {val} { - set currentWidth [expr [SplitReply [ss3u]] + [SplitReply [ss3d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss3d]] + $diff/2] - set newD1T [expr [SplitReply [ss3u]] + $diff/2] - return "ss3d=$newD1B,ss3u=$newD1T" -} -publish ss3heightscript user - -#------------------------------------------------------- -proc ss3readheight {} { - return [expr [SplitReply [ss3u]] + [SplitReply [ss3d]]] -} -publish ss3readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss3vg -ss3vg drivescript ss3heightscript -ss3vg readscript ss3readheight - -#-------------------------------------------------------- -proc ss3horoffsetscript {val} { - set SR [SplitReply [ss3r]] - set SL [SplitReply [ss3l]] - set currentoffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $SR + $diff] - set newd1l [expr $SL - $diff] - return "ss3r=$newd1r,ss3l=$newd1l" -} -publish ss3horoffsetscript user - -#------------------------------------------------------- -proc ss3readhoroffset {} { - set SR [SplitReply [ss3r]] - return [ expr $SR - ($SR + [SplitReply [ss3l]])/2.0 ] -} -publish ss3readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss3ho -ss3ho drivescript ss3horoffsetscript -ss3ho readscript ss3readhoroffset - -#-------------------------------------------------------- -proc ss3vertoffsetscript {val} { - set SU [SplitReply [ss3u]] - set SD [SplitReply [ss3d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss3u=$newD1U,ss3d=$newD1D" -} -publish ss3vertoffsetscript user - -#------------------------------------------------------- -proc ss3readvertoffset {} { - set SU [SplitReply [ss3u]] - return [ expr $SU - ($SU + [SplitReply [ss3d]])/2.0 ] -} -publish ss3readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss3vo -ss3vo drivescript ss3vertoffsetscript -ss3vo readscript ss3readvertoffset - -############################################### - -#-------------------------------------------------------- -proc ss4widthscript {val} { - set currentWidth [expr [SplitReply [ss4r]] + [SplitReply [ss4l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss4r]] + $diff/2] - set newD1L [expr [SplitReply [ss4l]] + $diff/2] - return "ss4r=$newD1R,ss4l=$newD1L" -} -publish ss4widthscript user - -#------------------------------------------------------- -proc ss4readwidth {} { - return [expr [SplitReply [ss4r]] + [SplitReply [ss4l]]] -} -publish ss4readwidth user -MakeConfigurableMotor ss4hg -ss4hg drivescript ss4widthscript -ss4hg readscript ss4readwidth - -#----------------------------------------------------- -proc ss4heightscript {val} { - set currentWidth [expr [SplitReply [ss4u]] + [SplitReply [ss4d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss4d]] + $diff/2] - set newD1T [expr [SplitReply [ss4u]] + $diff/2] - return "ss4d=$newD1B,ss4u=$newD1T" -} -publish ss4heightscript user - -#------------------------------------------------------- -proc ss4readheight {} { - return [expr [SplitReply [ss4u]] + [SplitReply [ss4d]]] -} -publish ss4readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss4vg -ss4vg drivescript ss4heightscript -ss4vg readscript ss4readheight - -#-------------------------------------------------------- -proc ss4horoffsetscript {val} { - set SR [SplitReply [ss4r]] - set SL [SplitReply [ss4l]] - set currentoffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $SR + $diff] - set newd1l [expr $SL - $diff] - return "ss4r=$newd1r,ss4l=$newd1l" -} -publish ss4horoffsetscript user - -#------------------------------------------------------- -proc ss4readhoroffset {} { - set SR [SplitReply [ss4r]] - return [ expr $SR - ($SR + [SplitReply [ss4l]])/2.0 ] -} -publish ss4readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss4ho -ss4ho drivescript ss4horoffsetscript -ss4ho readscript ss4readhoroffset - -#-------------------------------------------------------- -proc ss4vertoffsetscript {val} { - set SU [SplitReply [ss4u]] - set SD [SplitReply [ss4d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss4u=$newD1U,ss4d=$newD1D" -} -publish ss4vertoffsetscript user - -#------------------------------------------------------- -proc ss4readvertoffset {} { - set SU [SplitReply [ss4u]] - return [ expr $SU - ($SU + [SplitReply [ss4d]])/2.0 ] -} -publish ss4readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss4vo -ss4vo drivescript ss4vertoffsetscript -ss4vo readscript ss4readvertoffset -} +# END MOTOR CONFIGURATION