added slit posgap
This commit is contained in:
+17
-8
@@ -196,6 +196,15 @@ components = [
|
||||
"desc": "Bernina beamline reference laser before KBs",
|
||||
"type": "eco.xoptics.reflaser:RefLaser_Aramis",
|
||||
},
|
||||
{
|
||||
"name": "slitAtt_test",
|
||||
"args": ["SAROP21-OAPU136"],
|
||||
"kwargs": {},
|
||||
"z_und": 136,
|
||||
"desc": "Slits behind attenuator",
|
||||
"type": "eco.xoptics.slits:SlitPosWidth",
|
||||
"lazy":False,
|
||||
},
|
||||
{
|
||||
"name": "slitAtt",
|
||||
"args": ["SAROP21-OAPU136"],
|
||||
@@ -244,14 +253,14 @@ components = [
|
||||
"type": "eco.xoptics.KBhor:KBhor",
|
||||
"kwargs": {},
|
||||
},
|
||||
{
|
||||
"name": "slitKb",
|
||||
"args": [],
|
||||
"kwargs": {"Id": "SARES20"},
|
||||
"z_und": 141,
|
||||
"desc": "Slits behind Kb",
|
||||
"type": "eco.xoptics.slits:SlitBladesJJ_old",
|
||||
},
|
||||
# {
|
||||
# "name": "slitKb",
|
||||
# "args": [],
|
||||
# "kwargs": {"Id": "SARES20"},
|
||||
# "z_und": 141,
|
||||
# "desc": "Slits behind Kb",
|
||||
# "type": "eco.xoptics.slits:SlitBladesJJ_old",
|
||||
# },
|
||||
{
|
||||
"args": [],
|
||||
"name": "gps",
|
||||
|
||||
+18
-17
@@ -1,6 +1,7 @@
|
||||
from ..devices_general.motors import MotorRecord
|
||||
from ..devices_general.adjustable import AdjustableVirtual
|
||||
from ..aliases import Alias, append_object_to_object
|
||||
from functools import partial
|
||||
|
||||
|
||||
class SlitBlades:
|
||||
@@ -100,7 +101,7 @@ class SlitPosWidth:
|
||||
append_object_to_object(self, MotorRecord, pvname + ":MOTOR_W", name="hgap")
|
||||
append_object_to_object(self, MotorRecord, pvname + ":MOTOR_H", name="vgap")
|
||||
|
||||
def getup(pos,gap):
|
||||
def getblade(pos,gap,direction=1):
|
||||
return pos + direction*gap/2
|
||||
|
||||
def setblade(bde,pos,gap,direction=1):
|
||||
@@ -127,38 +128,38 @@ class SlitPosWidth:
|
||||
append_object_to_object(
|
||||
self,
|
||||
AdjustableVirtual,
|
||||
[self.right, self.left],
|
||||
getgap,
|
||||
setwidth,
|
||||
[self.vpos, self.vgap],
|
||||
partial(getblade,direction=1),
|
||||
partial(setblade,direction=1),
|
||||
set_current_value=True,
|
||||
name="hgap",
|
||||
name="up"
|
||||
)
|
||||
append_object_to_object(
|
||||
self,
|
||||
AdjustableVirtual,
|
||||
[self.down, self.up],
|
||||
getgap,
|
||||
setheight,
|
||||
[self.vpos, self.vgap],
|
||||
partial(getblade,direction=-1),
|
||||
partial(setblade,direction=-1),
|
||||
set_current_value=True,
|
||||
name="vgap",
|
||||
name="down"
|
||||
)
|
||||
append_object_to_object(
|
||||
self,
|
||||
AdjustableVirtual,
|
||||
[self.right, self.left],
|
||||
getpos,
|
||||
sethpos,
|
||||
[self.hpos, self.hgap],
|
||||
partial(getblade,direction=1),
|
||||
partial(setblade,direction=1),
|
||||
set_current_value=True,
|
||||
name="hpos",
|
||||
name="left"
|
||||
)
|
||||
append_object_to_object(
|
||||
self,
|
||||
AdjustableVirtual,
|
||||
[self.down, self.up],
|
||||
getpos,
|
||||
setvpos,
|
||||
[self.hpos, self.hgap],
|
||||
partial(getblade,direction=-1),
|
||||
partial(setblade,direction=-1),
|
||||
set_current_value=True,
|
||||
name="vpos",
|
||||
name="right"
|
||||
)
|
||||
|
||||
def __call__(self, *args):
|
||||
|
||||
Reference in New Issue
Block a user