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 $
|
# $Revision: 1.2 $
|
||||||
# $Date: 2006-05-08 22:31:50 $
|
# $Date: 2006-05-09 05:08:50 $
|
||||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||||
# Last revision by: $Author: ffr $
|
# Last revision by: $Author: ffr $
|
||||||
|
|
||||||
@@ -472,7 +472,7 @@ 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)
|
# virtual motor ss1(h)orizontal (width)
|
||||||
#--------------------------------------------------------
|
#--------------------------------------------------------
|
||||||
proc widthscript {val} {
|
proc widthscript {val} {
|
||||||
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
||||||
@@ -487,11 +487,35 @@ proc readwidth {} {
|
|||||||
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
||||||
}
|
}
|
||||||
publish readwidth user
|
publish readwidth user
|
||||||
#-------------------------------------------------------
|
|
||||||
MakeConfigurableMotor ss1hg
|
MakeConfigurableMotor ss1hg
|
||||||
ss1hg drivescript widthscript
|
ss1hg drivescript widthscript
|
||||||
ss1hg readscript readwidth
|
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} {
|
proc heightscript {val} {
|
||||||
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
|
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
|
||||||
@@ -511,3 +535,26 @@ MakeConfigurableMotor ss1vg
|
|||||||
ss1vg drivescript heightscript
|
ss1vg drivescript heightscript
|
||||||
ss1vg readscript readheight
|
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