From e0f0e4c947a23b3b0ab36f76d1c3e3b168de6186 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Fri, 1 Dec 2006 15:08:36 +1100 Subject: [PATCH] Update Motor Controller 2 (sample + detector) from floor observations r1337 | dcl | 2006-12-01 15:08:36 +1100 (Fri, 01 Dec 2006) | 2 lines --- .../instrument/hrpd/motor_configuration.tcl | 564 +++++++++--------- 1 file changed, 296 insertions(+), 268 deletions(-) diff --git a/site_ansto/instrument/hrpd/motor_configuration.tcl b/site_ansto/instrument/hrpd/motor_configuration.tcl index 3b6f3bd8..1ac863a0 100644 --- a/site_ansto/instrument/hrpd/motor_configuration.tcl +++ b/site_ansto/instrument/hrpd/motor_configuration.tcl @@ -23,240 +23,256 @@ set dmc2280_controller4(port) pmc4-echidna # dmc_close dmc2280_controller4 #} +############################ +# Motor Controller 1 +############################ +#:TP at HOME +# + # Monochromator phi, Tilt 1, upper Motor mphi DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis A\ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis A\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -25000\ - absEnc 1\ - absEncHome 7414753\ - cntsPerX -8192] -setHomeandRange -motor mphi -home 0 -lowrange 5 -uprange 5 + stepsPerX -25000\ + absEnc 1\ + absEncHome 7414753\ + cntsPerX -8192] +setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15 mphi speed 1 mphi precision 0.01 # Monochromator chi, Tilt 2, lower Motor mchi DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis B\ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis B\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7818915\ - cntsPerX 8192] -setHomeandRange -motor mchi -home 90 -lowrange 5 -uprange 5 + stepsPerX 25000\ + absEnc 1\ + absEncHome 7818915\ + cntsPerX 8192] +setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15 mchi speed 1 mchi precision 0.01 # Monochromator Trans 1, upper Motor my DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis C\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7781680\ - cntsPerX 8192] -setHomeandRange -motor my -home 0 -lowrange 5 -uprange 5 + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7781680\ + cntsPerX 8192] +setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20 my speed 1 my precision 0.01 # Monochromator Trans 2, lower Motor mx DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis D\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7562793\ - cntsPerX 8192] -setHomeandRange -motor mx -home 0 -lowrange 5 -uprange 5 + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7562793\ + cntsPerX 8192] +setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20 mx speed 1 mx precision 0.01 # Monochromator omega, rotate Motor mom DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis E\ - units degrees\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -12500\ - absEnc 1\ - absEncHome 17694127\ - cntsPerX -8192] -setHomeandRange -motor mom -home 0 -lowrange 15 -uprange 15 + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis E\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -12500\ + absEnc 1\ + absEncHome 17694127\ + cntsPerX -8192] +setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180 mom speed 1 mom precision 0.01 # Monochromator two-theta, flight-tube rotate Motor mtth DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis F\ - units degrees\ - maxSpeed 0.5\ - maxAccel 0.2\ - maxDecel 0.2\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 10299428\ - cntsPerX 93207] + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units degrees\ + maxSpeed 0.5\ + maxAccel 0.2\ + maxDecel 0.2\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 10299428\ + cntsPerX 93207] mtth hardlowerlim 85 -mtth hardupperlim 135 +mtth hardupperlim 155 mtth softlowerlim 85 -mtth softupperlim 135 -mtth home 87.635 +mtth softupperlim 155 +mtth home 120 mtth speed 0.5 mtth precision 0.01 # Primary Collimator 1 #Motor pc1 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis G\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx] +# host $dmc2280_controller1(host)\ +# port $dmc2280_controller1(port)\ +# axis G\ +# units xxxx\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx] #setHomeandRange -motor pc1 -home 0 -lowrange 0 -uprange 0 #pc1 speed 1 #pc1 precision 0.01 # Primary Collimator 2 #Motor pc2 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis H\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx] +# host $dmc2280_controller1(host)\ +# port $dmc2280_controller1(port)\ +# axis H\ +# units xxxx\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx] #setHomeandRange -motor pc2 -home 0 -lowrange 0 -uprange 0 #pc2 speed 1 #pc2 precision 0.01 -# Sample Tilt 1, upper +############################ +# Motor Controller 2 +############################ +#:TP at HOME +# 7924507, 7542917, 7626584, 24029910, 24984596, 14530407, 22369621, 22369621 + +# Sample Tilt 1, upper, phi Motor sphi DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis A\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis A\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -25000\ - absEnc 1\ - absEncHome 7924166\ - cntsPerX -8192] -setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5 + stepsPerX -25000\ + absEnc 1\ + absEncHome 7924507\ + cntsPerX -8192] +setHomeandRange -motor sphi -home 0 -lowrange 20 -uprange 20 sphi speed 1 sphi precision 0.01 -# Sample Tilt 2, lower +# Sample Tilt 2, lower, chi Motor schi DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis B\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis B\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7543198\ - cntsPerX 8192] -setHomeandRange -motor schi -home 90 -lowrange 5 -uprange 5 + stepsPerX 25000\ + absEnc 1\ + absEncHome 7542917\ + cntsPerX 8192] +setHomeandRange -motor schi -home 90 -lowrange 20 -uprange 20 schi speed 1 schi precision 0.01 -# Sample Trans 1 (upper) +# Sample Trans 1, upper, y Motor sy DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis C\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis C\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7625856\ - cntsPerX 8192] -setHomeandRange -motor sy -home 0 -lowrange 5 -uprange 5 + stepsPerX 25000\ + absEnc 1\ + absEncHome 7626584\ + cntsPerX 8192] +setHomeandRange -motor sy -home 0 -lowrange 20 -uprange 20 sy speed 1 sy precision 0.01 -# Sample Trans2 (lower) +# Sample Trans2. lower, x Motor sx DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis D\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis D\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 24034020\ - cntsPerX 8192] -setHomeandRange -motor sx -home 0 -lowrange 5 -uprange 5 + stepsPerX -25000\ + absEnc 1\ + absEncHome 24029910\ + cntsPerX -8192] +setHomeandRange -motor sx -home 0 -lowrange 20 -uprange 20 sx speed 1 sx precision 0.01 # Sample Omega, rotate Motor som DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis E\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis E\ units degrees\ - maxSpeed 4\ + maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX 12500\ - absEnc 1\ - absEncHome 24982987\ - cntsPerX 4096] -setHomeandRange -motor som -home 0 -lowrange 140 -uprange 205 -som speed 2 + stepsPerX 12500\ + absEnc 1\ + absEncHome 24984596\ + cntsPerX 4096] +setHomeandRange -motor som -home 0 -lowrange 142 -uprange 218 +som speed 1 som precision 0.01 # Sample two-theta, detector rotate Motor stth DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis F\ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis F\ units degrees\ maxSpeed 0.2\ maxAccel 0.2\ maxDecel 0.2\ - stepsPerX 125000\ - absEnc 1\ - absEncHome 6559259\ - cntsPerX 93207] -setHomeandRange -motor stth -home 120 -lowrange 15 -uprange 15 -stth speed 0.5 + stepsPerX 125000\ + absEnc 1\ + absEncHome 14530407\ + cntsPerX -93207] +stth hardlowerlim -74 +stth hardupperlim 74 +stth softlowerlim -70 +stth softupperlim 70 +stth home 0 +stth speed 0.2 stth precision 0.01 #Default upper and lower ranges for vertical slits @@ -267,145 +283,157 @@ set vertSlitUpRange 95 set horSlitLowRange 20 set horSlitUpRange 25 +############################ +# Motor Controller 3 +############################ +#:TP at HOME +# + # Monochromator radius, focus #Motor mr DMC2280 [params \ -# host $dmc2280_controller3(host)\ -# port $dmc2280_controller3(port)\ -# axis A\ -# units xxxx\ +# host $dmc2280_controller3(host)\ +# port $dmc2280_controller3(port)\ +# axis A\ +# units degrees\ # maxSpeed xxxx\ # maxAccel xxxx\ # maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#setHomeandRange -motor mr -home 0 -lowrange 0 -uprange 0 +# stepsPerX xxxx\ +# absEnc 1\ +# absEncHome xxxx\ +# cntsPerX xxxx] +#setHomeandRange -motor mr -home 0 -lowrange 0 -uprange 360 #mr speed 1 #mr precision 0.01 Motor ss1u DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis E\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis E\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -20125\ + stepsPerX -20125\ motorHome 2100893] setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss1d DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis F\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis F\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -20125\ + stepsPerX -20125\ motorHome 2100893] setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss1r DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis G\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis G\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -20125\ + stepsPerX -20125\ motorHome 592406] setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange Motor ss1l DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis H\ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis H\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -20125\ + stepsPerX -20125\ motorHome 592406] setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange -#xxxx WHICH CONTROLLER DO ECHI AND EPHI BELONG TO -#Motor echi DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis A\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#setHomeandRange -motor echi -home 0 -lowrange 0 -uprange 360 +############################ +# Motor Controller 4 +############################ +#:TP at HOME +# +# Little is known about the Eularian Cradle #Motor ephi DMC2280 [params \ -# host $dmc2280_controller4(host)\ -# port $dmc2280_controller4(port)\ -# axis B\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#setHomeandRange -motor ephi -home 0 -lowrange 0 -uprange 360 +# host $dmc2280_controller4(host)\ +# port $dmc2280_controller4(port)\ +# axis A\ +# units degrees\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx\ +# absEnc 1\ +# absEncHome xxxx\ +# cntsPerX xxxx] +#setHomeandRange -motor ephi -home 0 -lowrange 180 -uprange 180 + +#Motor echi DMC2280 [params \ +# host $dmc2280_controller4(host)\ +# port $dmc2280_controller4(port)\ +# axis B\ +# units degrees\ +# maxSpeed xxxx\ +# maxAccel xxxx\ +# maxDecel xxxx\ +# stepsPerX xxxx\ +# absEnc 1\ +# absEncHome xxxx\ +# cntsPerX xxxx] +#setHomeandRange -motor echi -home 0 -lowrange 180 -uprange 180 Motor ss2u DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis E\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 2053148] setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss2d DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 2053148] setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss2r DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis G\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis G\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 530188] setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange Motor ss2l DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis H\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis H\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ motorHome 530188] setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange @@ -427,17 +455,17 @@ sth drivescript sthSet #-------------------------------------------------------- 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" + 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]]] + return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] } publish ss1readwidth user MakeConfigurableMotor ss1hg @@ -448,18 +476,18 @@ 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" + 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 ] + return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ] } publish ss1readhoroffset user @@ -470,17 +498,17 @@ 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" + 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]]] + return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] } publish ss1readheight user @@ -493,18 +521,18 @@ 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" + 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 ] + return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ] } publish ss1readvertoffset user @@ -517,17 +545,17 @@ 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" + 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]]] + return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] } publish ss2readwidth user MakeConfigurableMotor ss2hg @@ -538,18 +566,18 @@ 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" + 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 ] + return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ] } publish ss2readhoroffset user @@ -560,17 +588,17 @@ 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" + 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]]] + return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] } publish ss2readheight user @@ -583,18 +611,18 @@ 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" + 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 ] + return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ] } publish ss2readvertoffset user