Change stepsPerX and CountsPerX calculations to floating point

r1843 | dcl | 2007-04-10 09:56:18 +1000 (Tue, 10 Apr 2007) | 2 lines
This commit is contained in:
Douglas Clowes
2007-04-10 09:56:18 +10:00
parent 36dab66dc7
commit 466e1bf4a9

View File

@@ -1,5 +1,5 @@
# $Revision: 1.7 $ # $Revision: 1.8 $
# $Date: 2007-04-02 07:33:11 $ # $Date: 2007-04-09 23:56:18 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au) # Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $ # Last revision by: $Author: dcl $
@@ -61,23 +61,23 @@ set ss4h_Gap 12.1
set ss4v_Gap 23.6 set ss4v_Gap 23.6
#Calculate the Home (zero) position as being in the middle of the gap #Calculate the Home (zero) position as being in the middle of the gap
set ss1r_Home [expr $ss1h_Gap/2*$slitStepRate] set ss1r_Home [expr $ss1h_Gap/2.0*$slitStepRate]
set ss1l_Home [expr $ss1h_Gap/2*$slitStepRate] set ss1l_Home [expr $ss1h_Gap/2.0*$slitStepRate]
set ss1u_Home [expr $ss1v_Gap/2*$slitStepRate] set ss1u_Home [expr $ss1v_Gap/2.0*$slitStepRate]
set ss1d_Home [expr $ss1v_Gap/2*$slitStepRate] set ss1d_Home [expr $ss1v_Gap/2.0*$slitStepRate]
set ss2r_Home [expr $ss2h_Gap/2*$slitStepRate] set ss2r_Home [expr $ss2h_Gap/2.0*$slitStepRate]
set ss2l_Home [expr $ss2h_Gap/2*$slitStepRate] set ss2l_Home [expr $ss2h_Gap/2.0*$slitStepRate]
set ss2u_Home [expr $ss2v_Gap/2*$slitStepRate] set ss2u_Home [expr $ss2v_Gap/2.0*$slitStepRate]
set ss2d_Home [expr $ss2v_Gap/2*$slitStepRate] set ss2d_Home [expr $ss2v_Gap/2.0*$slitStepRate]
set ss3r_Home [expr $ss3h_Gap/2*$slitStepRate] set ss3r_Home [expr $ss3h_Gap/2.0*$slitStepRate]
set ss3l_Home [expr $ss3h_Gap/2*$slitStepRate] set ss3l_Home [expr $ss3h_Gap/2.0*$slitStepRate]
set ss3u_Home [expr $ss3v_Gap/2*$slitStepRate] set ss3u_Home [expr $ss3v_Gap/2.0*$slitStepRate]
set ss3d_Home [expr $ss3v_Gap/2*$slitStepRate] set ss3d_Home [expr $ss3v_Gap/2.0*$slitStepRate]
set ss4r_Home [expr $ss4h_Gap/2*$slitStepRate] set ss4r_Home [expr $ss4h_Gap/2.0*$slitStepRate]
set ss4l_Home [expr $ss4h_Gap/2*$slitStepRate] set ss4l_Home [expr $ss4h_Gap/2.0*$slitStepRate]
set ss4u_Home [expr $ss4v_Gap/2*$slitStepRate] set ss4u_Home [expr $ss4v_Gap/2.0*$slitStepRate]
set ss4d_Home [expr $ss4v_Gap/2*$slitStepRate] set ss4d_Home [expr $ss4v_Gap/2.0*$slitStepRate]
#Default upper and lower ranges for vertical slits #Default upper and lower ranges for vertical slits
set vSlitHome 0 set vSlitHome 0
@@ -151,10 +151,10 @@ Motor bz DMC2280 [params \
maxSpeed 5\ maxSpeed 5\
maxAccel 1\ maxAccel 1\
maxDecel 1\ maxDecel 1\
stepsPerX [expr -25000/6]\ stepsPerX [expr -25000.0/6.0]\
absEnc 1\ absEnc 1\
absEncHome $bz_home\ absEncHome $bz_home\
cntsPerX [expr -8192/6]] cntsPerX [expr -8192.0/6.0]]
bz softlowerlim 0 bz softlowerlim 0
bz softupperlim 275 bz softupperlim 275
bz home 0 bz home 0
@@ -171,10 +171,10 @@ Motor c1ht DMC2280 [params \
maxSpeed 10\ maxSpeed 10\
maxAccel 1\ maxAccel 1\
maxDecel 1\ maxDecel 1\
stepsPerX [expr 25000/5]\ stepsPerX [expr 25000.0/5.0]\
absEnc 1\ absEnc 1\
absEncHome $c1ht_home\ absEncHome $c1ht_home\
cntsPerX [expr -8192/5]] cntsPerX [expr -8192.0/5.0]]
c1ht softlowerlim 0 c1ht softlowerlim 0
c1ht softupperlim 1065 c1ht softupperlim 1065
c1ht home 0 c1ht home 0
@@ -194,7 +194,7 @@ Motor m1ro DMC2280 [params \
stepsPerX 275000\ stepsPerX 275000\
absEnc 1\ absEnc 1\
absEncHome $m1ro_home\ absEncHome $m1ro_home\
cntsPerX [expr -262144/360]] cntsPerX [expr -262144.0/360.0]]
m1ro softlowerlim -3.5 m1ro softlowerlim -3.5
m1ro softupperlim 3.5 m1ro softupperlim 3.5
m1ro home 0 m1ro home 0
@@ -211,10 +211,10 @@ Motor bat DMC2280 [params \
maxSpeed 1\ maxSpeed 1\
maxAccel 1\ maxAccel 1\
maxDecel 1\ maxDecel 1\
stepsPerX [expr 25000/16]\ stepsPerX [expr 25000.0/16.0]\
absEnc 1\ absEnc 1\
absEncHome $bat_home\ absEncHome $bat_home\
cntsPerX [expr 8192/16]] cntsPerX [expr 8192.0/16.0]]
bat softlowerlim 0 bat softlowerlim 0
bat softupperlim 200 bat softupperlim 200
bat home 0 bat home 0
@@ -319,10 +319,10 @@ Motor sx DMC2280 [params \
maxSpeed 10\ maxSpeed 10\
maxAccel 1\ maxAccel 1\
maxDecel 1\ maxDecel 1\
stepsPerX [expr 25000/5]\ stepsPerX [expr 25000.0/5.0]\
absEnc 1\ absEnc 1\
absEncHome $sx_home\ absEncHome $sx_home\
cntsPerX [expr 8192/5]] cntsPerX [expr 8192.0/5.0]]
sx softlowerlim 0 sx softlowerlim 0
sx softupperlim 730 sx softupperlim 730
sx home 0 sx home 0
@@ -367,6 +367,7 @@ sz softlowerlim 0
sz softupperlim 280.0 sz softupperlim 280.0
sz home 0 sz home 0
sz speed 2 sz speed 2
sth precision 0.001
# Detector Translation, Linear Y (Not Motorized) # Detector Translation, Linear Y (Not Motorized)
#Motor dy DMC2280 [params \ #Motor dy DMC2280 [params \
@@ -403,7 +404,7 @@ Motor dz DMC2280 [params \
stepsPerX -25000\ stepsPerX -25000\
absEnc 1\ absEnc 1\
absEncHome $dz_home\ absEncHome $dz_home\
cntsPerX [expr -8192/5]] cntsPerX [expr -8192.0/5.0]]
dz softlowerlim 0 dz softlowerlim 0
dz softupperlim 1351 dz softupperlim 1351
dz home 0 dz home 0
@@ -762,8 +763,8 @@ proc get_gap_width {m1 m2} {
proc set_gap_width {m1 m2 val} { proc set_gap_width {m1 m2 val} {
set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]] set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]]
set diff [expr $val - $currentWidth] set diff [expr $val - $currentWidth]
set newD1R [expr [SplitReply [$m1]] + $diff/2] set newD1R [expr [SplitReply [$m1]] + $diff/2.0]
set newD1L [expr [SplitReply [$m2]] - $diff/2] set newD1L [expr [SplitReply [$m2]] - $diff/2.0]
return "$m1=$newD1R,$m2=$newD1L" return "$m1=$newD1R,$m2=$newD1L"
} }