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
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# $Revision: 1.5 $
|
# $Revision: 1.6 $
|
||||||
# $Date: 2007-03-30 08:44:13 $
|
# $Date: 2007-04-02 05:02:21 $
|
||||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||||
# Last revision by: $Author: dcl $
|
# Last revision by: $Author: dcl $
|
||||||
|
|
||||||
@@ -42,6 +42,7 @@ set dz_home 7805000
|
|||||||
|
|
||||||
#Measured or computed step rate for sz (Sample Raise)
|
#Measured or computed step rate for sz (Sample Raise)
|
||||||
set szStepRate -116500
|
set szStepRate -116500
|
||||||
|
set szCountRate [expr -(8192.0/5.0/0.932)]
|
||||||
|
|
||||||
#Measured or computed slit motor steps per millimetre
|
#Measured or computed slit motor steps per millimetre
|
||||||
# 125 steps * 161:1 gears = 20125
|
# 125 steps * 161:1 gears = 20125
|
||||||
@@ -360,7 +361,7 @@ Motor sz DMC2280 [params \
|
|||||||
stepsPerX $szStepRate\
|
stepsPerX $szStepRate\
|
||||||
absEnc 1\
|
absEnc 1\
|
||||||
absEncHome $sz_home\
|
absEncHome $sz_home\
|
||||||
cntsPerX [expr -8192/5]]
|
cntsPerX $szCountRate]
|
||||||
sz softlowerlim 0
|
sz softlowerlim 0
|
||||||
sz softupperlim 300.5
|
sz softupperlim 300.5
|
||||||
sz home 0
|
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
|
# Slit 1, left
|
||||||
Motor ss1l DMC2280 [params \
|
Motor ss1l DMC2280 [params \
|
||||||
multichan mc3\
|
multichan mc3\
|
||||||
@@ -456,8 +421,8 @@ Motor ss1l DMC2280 [params \
|
|||||||
port $dmc2280_controller3(port)\
|
port $dmc2280_controller3(port)\
|
||||||
axis A\
|
axis A\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss1l_LoRange]\
|
hardlowerlim $ss1l_LoRange\
|
||||||
hardupperlim [expr $ss1l_HiRange]\
|
hardupperlim $ss1l_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -474,8 +439,8 @@ Motor ss1r DMC2280 [params \
|
|||||||
port $dmc2280_controller3(port)\
|
port $dmc2280_controller3(port)\
|
||||||
axis B\
|
axis B\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss1r_LoRange]\
|
hardlowerlim $ss1r_LoRange\
|
||||||
hardupperlim [expr $ss1r_HiRange]\
|
hardupperlim $ss1r_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -485,41 +450,41 @@ ss1r softlowerlim $ss1r_LoRange
|
|||||||
ss1r softupperlim $ss1r_HiRange
|
ss1r softupperlim $ss1r_HiRange
|
||||||
ss1r home 0
|
ss1r home 0
|
||||||
|
|
||||||
# Slit 2, lower
|
# Slit 1, upper
|
||||||
Motor ss2d DMC2280 [params \
|
Motor ss1u DMC2280 [params \
|
||||||
multichan mc3\
|
multichan mc3\
|
||||||
host $dmc2280_controller3(host)\
|
host $dmc2280_controller3(host)\
|
||||||
port $dmc2280_controller3(port)\
|
port $dmc2280_controller3(port)\
|
||||||
axis H\
|
axis C\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss2d_LoRange]\
|
hardlowerlim $ss1u_LoRange\
|
||||||
hardupperlim [expr $ss2d_HiRange]\
|
hardupperlim $ss1u_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]\
|
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
stepsPerX -$slitStepRate\
|
stepsPerX -$slitStepRate\
|
||||||
motorHome $ss2u_Home]
|
motorHome $ss1u_Home]
|
||||||
ss2u softlowerlim $ss2u_LoRange
|
ss1u softlowerlim $ss1u_LoRange
|
||||||
ss2u softupperlim $ss2u_HiRange
|
ss1u softupperlim $ss1u_HiRange
|
||||||
ss2u home 0
|
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
|
# Slit 2, left
|
||||||
Motor ss2l DMC2280 [params \
|
Motor ss2l DMC2280 [params \
|
||||||
@@ -528,8 +493,8 @@ Motor ss2l DMC2280 [params \
|
|||||||
port $dmc2280_controller3(port)\
|
port $dmc2280_controller3(port)\
|
||||||
axis E\
|
axis E\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss2l_LoRange]\
|
hardlowerlim $ss2l_LoRange\
|
||||||
hardupperlim [expr $ss2l_HiRange]\
|
hardupperlim $ss2l_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -546,8 +511,8 @@ Motor ss2r DMC2280 [params \
|
|||||||
port $dmc2280_controller3(port)\
|
port $dmc2280_controller3(port)\
|
||||||
axis F\
|
axis F\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss2r_LoRange]\
|
hardlowerlim $ss2r_LoRange\
|
||||||
hardupperlim [expr $ss2r_HiRange]\
|
hardupperlim $ss2r_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -557,6 +522,49 @@ ss2r softlowerlim $ss2r_LoRange
|
|||||||
ss2r softupperlim $ss2r_HiRange
|
ss2r softupperlim $ss2r_HiRange
|
||||||
ss2r home 0
|
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
|
# Slit 3, lower
|
||||||
Motor ss3d DMC2280 [params \
|
Motor ss3d DMC2280 [params \
|
||||||
multichan mc4\
|
multichan mc4\
|
||||||
@@ -564,8 +572,8 @@ Motor ss3d DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis A\
|
axis A\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss3d_LoRange]\
|
hardlowerlim $ss3d_LoRange\
|
||||||
hardupperlim [expr $ss3d_HiRange]\
|
hardupperlim $ss3d_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -582,8 +590,8 @@ Motor ss3u DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis B\
|
axis B\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss3u_LoRange]\
|
hardlowerlim $ss3u_LoRange\
|
||||||
hardupperlim [expr $ss3u_HiRange]\
|
hardupperlim $ss3u_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -600,8 +608,8 @@ Motor ss3l DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis C\
|
axis C\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss3l_LoRange]\
|
hardlowerlim $ss3l_LoRange\
|
||||||
hardupperlim [expr $ss3l_HiRange]\
|
hardupperlim $ss3l_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -618,8 +626,8 @@ Motor ss3r DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis D\
|
axis D\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss3r_LoRange]\
|
hardlowerlim $ss3r_LoRange\
|
||||||
hardupperlim [expr $ss3r_HiRange]\
|
hardupperlim $ss3r_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -636,8 +644,8 @@ Motor ss4d DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis E\
|
axis E\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss4d_LoRange]\
|
hardlowerlim $ss4d_LoRange\
|
||||||
hardupperlim [expr $ss4d_HiRange]\
|
hardupperlim $ss4d_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -654,8 +662,8 @@ Motor ss4u DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis F\
|
axis F\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss4u_LoRange]\
|
hardlowerlim $ss4u_LoRange\
|
||||||
hardupperlim [expr $ss4u_HiRange]\
|
hardupperlim $ss4u_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -672,8 +680,8 @@ Motor ss4l DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis G\
|
axis G\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss4l_LoRange]\
|
hardlowerlim $ss4l_LoRange\
|
||||||
hardupperlim [expr $ss4l_HiRange]\
|
hardupperlim $ss4l_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -690,8 +698,8 @@ Motor ss4r DMC2280 [params \
|
|||||||
port $dmc2280_controller4(port)\
|
port $dmc2280_controller4(port)\
|
||||||
axis H\
|
axis H\
|
||||||
units mm\
|
units mm\
|
||||||
hardlowerlim [expr $ss4r_LoRange]\
|
hardlowerlim $ss4r_LoRange\
|
||||||
hardupperlim [expr $ss4r_HiRange]\
|
hardupperlim $ss4r_HiRange\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
@@ -746,7 +754,6 @@ ss4r home 0
|
|||||||
# return [lindex $l 1]
|
# return [lindex $l 1]
|
||||||
#}
|
#}
|
||||||
|
|
||||||
if {1} {
|
|
||||||
proc get_gap_width {m1 m2} {
|
proc get_gap_width {m1 m2} {
|
||||||
return [expr [SplitReply [$m1]] - [SplitReply [$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 ss4vg ss4vo ss4u ss4d
|
||||||
make_gap_motors ss4hg ss4ho ss4r ss4l
|
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
|
|
||||||
|
|
||||||
#-------------------------------------------------------
|
# END MOTOR CONFIGURATION
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user