diff --git a/docs/source/upcoming_release_notes/1085-Add_blades_to_LusiSlits.rst b/docs/source/upcoming_release_notes/1085-Add_blades_to_LusiSlits.rst new file mode 100644 index 00000000000..8cede7fcf8a --- /dev/null +++ b/docs/source/upcoming_release_notes/1085-Add_blades_to_LusiSlits.rst @@ -0,0 +1,30 @@ +1085 Add blades to LusiSlits +################# + +API Changes +----------- +- N/A + +Features +-------- +- N/A + +Device Updates +-------------- +- Update LusiSlits to include individual blade controls. + +New Devices +----------- +- N/A + +Bugfixes +-------- +- N/A + +Maintenance +----------- +- N/A + +Contributors +------------ +- espov, tangkong diff --git a/pcdsdevices/slits.py b/pcdsdevices/slits.py index 507d01a02a9..27536a3e003 100644 --- a/pcdsdevices/slits.py +++ b/pcdsdevices/slits.py @@ -29,7 +29,7 @@ from .areadetector.detectors import PCDSAreaDetectorTyphosTrigger from .device import GroupDevice from .device import UpdateComponent as UpCpt -from .epics_motor import BeckhoffAxis, BeckhoffAxisNoOffset +from .epics_motor import BeckhoffAxis, BeckhoffAxisNoOffset, PCDSMotorBase from .interface import (BaseInterface, FltMvInterface, LightpathInOutCptMixin, LightpathMixin, MvInterface) from .pmps import TwinCATStatePMPS @@ -424,12 +424,19 @@ class LusiSlits(SlitsBase): xcenter = Cpt(LusiSlitPositioner, '', slit_type='XCENTER', kind='normal') ycenter = Cpt(LusiSlitPositioner, '', slit_type='YCENTER', kind='normal') + # Individual blade aliases + blade_top = Cpt(PCDSMotorBase, ':TOP', kind='normal') + blade_bottom = Cpt(PCDSMotorBase, ':BOTTOM', kind='normal') + blade_north = Cpt(PCDSMotorBase, ':NORTH', kind='normal') + blade_south = Cpt(PCDSMotorBase, ':SOUTH', kind='normal') + # Local PVs blocked = Cpt(EpicsSignalRO, ':BLOCKED', kind='omitted') open_cmd = Cpt(EpicsSignal, ':OPEN', kind='omitted') close_cmd = Cpt(EpicsSignal, ':CLOSE', kind='omitted') block_cmd = Cpt(EpicsSignal, ':BLOCK', kind='omitted') + tab_whitelist = ['blade_top', 'blade_bottom', 'blade_north', 'blade_south'] lightpath_cpts = ['xwidth.readback', 'ywidth.readback'] def open(self):