From ce18b581f2e26759751f19c717640b7caa1d3eac Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Mon, 22 May 2006 15:00:36 +1000 Subject: [PATCH] Using same naming convention as HRPD after confirmation from Andrew Studer. Set controller addresses and corrected slit mm to steps conversion. r1000 | ffr | 2006-05-22 15:00:36 +1000 (Mon, 22 May 2006) | 3 lines --- .../instrument/hipd/hipd_configuration.tcl | 731 ++++++++++++------ 1 file changed, 486 insertions(+), 245 deletions(-) diff --git a/site_ansto/instrument/hipd/hipd_configuration.tcl b/site_ansto/instrument/hipd/hipd_configuration.tcl index 4b67b47f..3395ddc5 100644 --- a/site_ansto/instrument/hipd/hipd_configuration.tcl +++ b/site_ansto/instrument/hipd/hipd_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.1 $ -# $Date: 2006-05-08 22:31:50 $ +# $Revision: 1.2 $ +# $Date: 2006-05-22 05:00:36 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -12,10 +12,10 @@ proc params {args} { eval "array set x [list $args]" } -ServerOption statusfile log/status.tcl -ServerOption RedirectFile log/stdout -ServerOption LogFileBaseName log/serverlog -ServerOption LogFileDir log +ServerOption statusfile /home/sics/SICS/log/status.tcl +ServerOption RedirectFile /home/sics/SICS/log/stdout +ServerOption LogFileBaseName /home/sics/SICS/log/serverlog +ServerOption LogFileDir /home/sics/SICS/log ServerOption QuieckPort 60004 ServerOption ServerPort 60003 ServerOption InterruptPort 60002 @@ -27,9 +27,9 @@ ServerOption ReadTimeOut 10 SicsUser manager ansto 1 SicsUser user sydney 2 SicsUser spy 007 3 -MakeDataNumber SicsDataNumber data/DataNumber +MakeDataNumber SicsDataNumber /home/sics/SICS/data/DataNumber VarMake SicsDataPath Text Internal -SicsDataPath data/ +SicsDataPath /home/sics/SICS/data/ SicsDataPath lock VarMake SicsDataPrefix Text Internal SicsDataPrefix smp @@ -44,7 +44,7 @@ VarMake starttime Text User VarMake currentfile Text User VarMake batchroot Text User VarMake Instrument Text Internal -Instrument HRPD +Instrument Wombat Instrument lock MakeDrive #END SERVER CONFIGURATION SECTION @@ -52,15 +52,19 @@ MakeDrive ######################################## # INSTRUMENT SPECIFIC CONFIGURATION -#XXX WHICH CONTROLLER DO ECHI AND EPHI BELONG TO +#xxxx WHICH CONTROLLER DO ECHI AND EPHI BELONG TO #Motor echi DMC2280 [params \ -# host hhh\ -# port ppp\ +# host xxxx\ +# port xxxx\ # axis A\ -# stepsPerX XXX\ +# units xxxx\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx\ # absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] +# absEncHome xxxx\ +# cntsPerX xxxx] #echi hardlowerlim 0 #echi hardupperlim 360 #echi softlowerlim 0 @@ -68,13 +72,17 @@ MakeDrive #echi home 0 #Motor ephi DMC2280 [params \ -# host hhh\ -# port ppp\ -# axis A?\ -# stepsPerX XXX\ +# host xxxx\ +# port xxxx\ +# axis xxxx\ +# units xxxx\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx\ # absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] +# absEncHome xxxx\ +# cntsPerX xxxx] #ephi hardlowerlim 0 #ephi hardupperlim 360 #ephi softlowerlim 0 @@ -82,173 +90,218 @@ MakeDrive #ephi home 0 # Setup addresses of Galil DMC2280 controllers. -set dmc2280_controller1(host) 137.157.201.66 +set dmc2280_controller1(host) 137.157.201.130 set dmc2280_controller1(port) 1034 -set dmc2280_controller2(host) localhost -#set dmc2280_controller2(host) 137.157.201.67 1034 +set dmc2280_controller2(host) 137.157.201.131 set dmc2280_controller2(port) 1034 -set dmc2280_controller3(host) localhost -#set dmc2280_controller3(host) 137.157.201.67 -set dmc2280_controller3(port) 1035 -#set dmc2280_controller3(port) 1034 +set dmc2280_controller3(host) 137.157.201.132 +set dmc2280_controller3(port) 1034 -set dmc2280_controller4(host) 137.157.201.68 +set dmc2280_controller4(host) 137.157.201.133 set dmc2280_controller4(port) 1034 -#Motor mth DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mth hardlowerlim -180 -#mth hardupperlim 180 -#mth softlowerlim -180 -#mth softupperlim 180 -#mth home 0 -# -#Motor mom DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mom hardlowerlim -180 -#mom hardupperlim 180 -#mom softlowerlim -180 -#mom softupperlim 180 -#mom home 0 -# -#Motor mtth DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mtth hardlowerlim 85 -#mtth hardupperlim 155 -#mtth softlowerlim 85 -#mtth softupperlim 155 -#mtth home 120 -# -#Motor mchi DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mchi hardlowerlim 70 -#mchi hardupperlim 110 -#mchi softlowerlim 70 -#mchi softupperlim 110 -#mchi home 90 -# -#Motor mphi DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mphi hardlowerlim -20 -#mphi hardupperlim 20 -#mphi softlowerlim -20 -#mphi softupperlim 20 -#mphi home 0 -# -#Motor mx DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mx hardlowerlim -20 -#mx hardupperlim 20 -#mx softlowerlim -20 -#mx softupperlim 20 -#mx home 0 -# -#Motor my DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#my hardlowerlim -20 -#my hardupperlim 20 -#my softlowerlim -20 -#my softupperlim 20 -#my home 0 -# -#Motor mr DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis X?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#mr hardlowerlim HLL -#mr hardupperlim HUL -#mr softlowerlim SLL -#mr softupperlim SUL -#mr home 0 -# -#Motor pc1 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis F\ -# stepsPerX XXX] -#pc1 hardlowerlim HLL -#pc1 hardupperlim HUL -#pc1 softlowerlim SLL -#pc1 softupperlim SUL -#pc1 home 0 -# -#Motor pc2 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis G\ -# stepsPerX XXX] -#pc2 hardlowerlim HLL -#pc2 hardupperlim HUL -#pc2 softlowerlim SLL -#pc2 softupperlim SUL -#pc2 home 0 -# -#Motor sth DMC2280 [params \ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis A?\ -# stepsPerX XXX\ -# absEnc 1\ -# absEncHome YYY\ -# cntsPerX ZZZ] -#sth hardlowerlim -180 -#sth hardupperlim 180 -#sth softlowerlim -180 -#sth softupperlim 180 -#sth home 0 +Motor mth DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mth hardlowerlim -180 +mth hardupperlim 180 +mth softlowerlim -180 +mth softupperlim 180 +mth home 0 + +Motor mom DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mom hardlowerlim -180 +mom hardupperlim 180 +mom softlowerlim -180 +mom softupperlim 180 +mom home 0 + +Motor mtth DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mtth hardlowerlim 85 +mtth hardupperlim 155 +mtth softlowerlim 85 +mtth softupperlim 155 +mtth home 120 + +Motor mchi DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mchi hardlowerlim 70 +mchi hardupperlim 110 +mchi softlowerlim 70 +mchi softupperlim 110 +mchi home 90 + +Motor mphi DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mphi hardlowerlim -20 +mphi hardupperlim 20 +mphi softlowerlim -20 +mphi softupperlim 20 +mphi home 0 + +Motor mx DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mx hardlowerlim -20 +mx hardupperlim 20 +mx softlowerlim -20 +mx softupperlim 20 +mx home 0 + +Motor my DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +my hardlowerlim -20 +my hardupperlim 20 +my softlowerlim -20 +my softupperlim 20 +my home 0 + +Motor mr DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mr hardlowerlim xxxx +mr hardupperlim xxxx +mr softlowerlim xxxx +mr softupperlim xxxx +mr home 0 + +Motor pc1 DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx] +pc1 hardlowerlim xxxx +pc1 hardupperlim xxxx +pc1 softlowerlim xxxx +pc1 softupperlim xxxx +pc1 home 0 + +Motor pc2 DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis G\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx] +pc2 hardlowerlim xxxx +pc2 hardupperlim xxxx +pc2 softlowerlim xxxx +pc2 softupperlim xxxx +pc2 home 0 + +Motor sth DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +sth hardlowerlim -180 +sth hardupperlim 180 +sth softlowerlim -180 +sth softupperlim 180 +sth home 0 Motor som DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis B\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX 25000\ absEnc 1\ absEncHome 17694127\ @@ -263,8 +316,11 @@ Motor stth DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis A\ + units degrees\ + maxSpeed 0.2\ + maxAccel 0.2\ + maxDecel 0.2\ stepsPerX 125000\ - motorHome 11250000\ absEnc 1\ absEncHome 6559259\ cntsPerX -93207] @@ -278,8 +334,11 @@ Motor schi DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis E\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -25000\ - motorHome 500000\ absEnc 1\ absEncHome 7581355\ cntsPerX -8192] @@ -292,8 +351,11 @@ Motor sphi DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis F\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -25000\ - motorHome 500000\ absEnc 1\ absEncHome 7934290\ cntsPerX -8192] @@ -307,6 +369,10 @@ Motor sx DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -25000\ absEnc 1\ absEncHome 7562793\ @@ -321,6 +387,10 @@ Motor sy DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -25000\ absEnc 1\ absEncHome 7562793\ @@ -335,7 +405,11 @@ Motor ss1u DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis C\ - stepsPerX -20000\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 2040518] ss1u hardlowerlim 0 ss1u hardupperlim 50 @@ -347,7 +421,11 @@ Motor ss1d DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis D\ - stepsPerX -20000\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 2040518] ss1d hardlowerlim 0 ss1d hardupperlim 50 @@ -359,7 +437,11 @@ Motor ss1l DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis A\ - stepsPerX -20000\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 542093] ss1l hardlowerlim 0 ss1l hardupperlim 50 @@ -371,7 +453,11 @@ Motor ss1r DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis B\ - stepsPerX -20000\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 542093] ss1r hardlowerlim 0 ss1r hardupperlim 50 @@ -379,95 +465,250 @@ ss1r softlowerlim 0 ss1r softupperlim 50 ss1r home 0 -#Motor ss2u DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis F?\ -# stepsPerX -20000\ -# motorHome 2043085] -#ss2u hardlowerlim 0 -#ss2u hardupperlim 50 -#ss2u softlowerlim 0 -#ss2u softupperlim 50 -#ss2u home 0 -# -#Motor ss2d DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis F?\ -# stepsPerX -20000\ -# motorHome 2043085] -#ss2d hardlowerlim 0 -#ss2d hardupperlim 50 -#ss2d softlowerlim 0 -#ss2d softupperlim 50 -#ss2d home 0 -# -#Motor ss2l DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis F?\ -# stepsPerX -20000\ -# motorHome 500000] -#ss2l hardlowerlim 0 -#ss2l hardupperlim 50 -#ss2l softlowerlim 0 -#ss2l softupperlim 50 -#ss2l home 0 -# -#Motor ss2r DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis F?\ -# stepsPerX -20000\ -# motorHome 500000] -#ss2r hardlowerlim 0 -#ss2r hardupperlim 50 -#ss2r softlowerlim 0 -#ss2r softupperlim 50 -#ss2r home 0 +Motor ss2u DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2043085] +ss2u hardlowerlim 0 +ss2u hardupperlim 50 +ss2u softlowerlim 0 +ss2u softupperlim 50 +ss2u home 0 + +Motor ss2d DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2043085] +ss2d hardlowerlim 0 +ss2d hardupperlim 50 +ss2d softlowerlim 0 +ss2d softupperlim 50 +ss2d home 0 + +Motor ss2l DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis A\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 500000] +ss2l hardlowerlim 0 +ss2l hardupperlim 50 +ss2l softlowerlim 0 +ss2l softupperlim 50 +ss2l home 0 + +Motor ss2r DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis B\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 500000] +ss2r hardlowerlim 0 +ss2r hardupperlim 50 +ss2r softlowerlim 0 +ss2r softupperlim 50 +ss2r home 0 proc SplitReply { text } { set l [split $text =] return [lindex $l 1] } -# virtual motor d1(h)orizontal (width) + #-------------------------------------------------------- -proc widthscript {val} { +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 widthscript user +publish ss1widthscript user + #------------------------------------------------------- -proc readwidth {} { +proc ss1readwidth {} { return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] } -publish readwidth user -#------------------------------------------------------- +publish ss1readwidth user MakeConfigurableMotor ss1hg -ss1hg drivescript widthscript -ss1hg readscript readwidth -# virtual motor d1v(ertical), height +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 heightscript {val} { +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 heightscript user +publish ss1heightscript user + #------------------------------------------------------- -proc readheight {} { +proc ss1readheight {} { return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] } -publish readheight user +publish ss1readheight user + #--------------------------------------------------------- MakeConfigurableMotor ss1vg -ss1vg drivescript heightscript -ss1vg readscript readheight +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