Added vertical and horizontal offset virtual motors for slits.
r988 | ffr | 2006-05-09 15:08:50 +1000 (Tue, 09 May 2006) | 2 lines
This commit is contained in:
committed by
Douglas Clowes
parent
ace9b91a96
commit
f30988ab02
@@ -1,5 +1,5 @@
|
||||
# $Revision: 1.1 $
|
||||
# $Date: 2006-05-08 22:31:50 $
|
||||
# $Revision: 1.2 $
|
||||
# $Date: 2006-05-09 05:08:50 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by: $Author: ffr $
|
||||
|
||||
@@ -472,7 +472,7 @@ proc SplitReply { text } {
|
||||
set l [split $text =]
|
||||
return [lindex $l 1]
|
||||
}
|
||||
# virtual motor d1(h)orizontal (width)
|
||||
# virtual motor ss1(h)orizontal (width)
|
||||
#--------------------------------------------------------
|
||||
proc widthscript {val} {
|
||||
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
||||
@@ -487,11 +487,35 @@ proc readwidth {} {
|
||||
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
||||
}
|
||||
publish readwidth user
|
||||
#-------------------------------------------------------
|
||||
MakeConfigurableMotor ss1hg
|
||||
ss1hg drivescript widthscript
|
||||
ss1hg readscript readwidth
|
||||
# virtual motor d1v(ertical), height
|
||||
|
||||
# virtual motor ss1(h)orizontal (offset)
|
||||
#--------------------------------------------------------
|
||||
proc horoffsetscript {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 horoffsetscript user
|
||||
#-------------------------------------------------------
|
||||
proc readhoroffset {} {
|
||||
set SR [SplitReply [ss1r]]
|
||||
return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ]
|
||||
}
|
||||
publish readhoroffset user
|
||||
|
||||
#-------------------------------------------------------
|
||||
MakeConfigurableMotor ss1ho
|
||||
ss1ho drivescript horoffsetscript
|
||||
ss1ho readscript readhoroffset
|
||||
|
||||
# virtual motor ss1v(ertical), height
|
||||
#-----------------------------------------------------
|
||||
proc heightscript {val} {
|
||||
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
|
||||
@@ -511,3 +535,26 @@ MakeConfigurableMotor ss1vg
|
||||
ss1vg drivescript heightscript
|
||||
ss1vg readscript readheight
|
||||
|
||||
# virtual motor ss1(v)ertical (offset)
|
||||
#--------------------------------------------------------
|
||||
proc vertoffsetscript {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 vertoffsetscript user
|
||||
#-------------------------------------------------------
|
||||
proc readvertoffset {} {
|
||||
set SU [SplitReply [ss1u]]
|
||||
return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ]
|
||||
}
|
||||
publish readvertoffset user
|
||||
|
||||
#-------------------------------------------------------
|
||||
MakeConfigurableMotor ss1vo
|
||||
ss1vo drivescript vertoffsetscript
|
||||
ss1vo readscript readvertoffset
|
||||
|
||||
Reference in New Issue
Block a user