-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Description of the device
Previously, we had a an ophyd implementation of this device (listed below) that was removed when ophyd support was dropped in favor of ophyd-async. If we get a request for this again, we should convert to an ophyd-async device. Was not migrated because the device was not available.
Justification
Not sure if it is. We should decide if this is worth keeping.
Special Requirements
EPICS Module Documentation
Existing Implementation
import logging
from ophyd import Device, EpicsSignal, EpicsSignalRO
from ophyd import FormattedComponent as FCpt
log = logging.getLogger(__name__)
class NHQ203MChannel(Device):
"""A single channel on a controllable power supply."""
ch_num: int
# Device components
potential = FCpt(
EpicsSignal,
name="potential",
suffix="{prefix}:Volt{ch_num}_rbv",
write_pv="{prefix}:SetVolt{ch_num}",
tolerance=2,
)
current = FCpt(EpicsSignalRO, name="current", suffix="{prefix}:Curr{ch_num}_rbv")
ramp_rate = FCpt(
EpicsSignal,
name="ramp_rate",
suffix="{prefix}:RampSpeed{ch_num}",
write_pv="{prefix}:RampSpeed{ch_num}_rbv",
)
status = FCpt(EpicsSignalRO, name="status", suffix="{prefix}:ModStatus{ch_num}_rbv")
def __init__(
self,
prefix: str,
ch_num: int,
name: str,
labels={"power_supplies"},
*args,
**kwargs,
):
self.ch_num = ch_num
super().__init__(prefix=prefix, name=name, labels=labels, *args, **kwargs)Additional context
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels