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
This commit is contained in:
Ferdi Franceschini
2006-05-22 15:00:36 +10:00
committed by Douglas Clowes
parent 4a00d8b17f
commit ce18b581f2

View File

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