Exemplo n.º 1
0
class Slit2D(Device):
    "Center and gap with virtual motors"
    xc = Cpt(Slit2DCenter, '12-Ax:X}')
    yc = Cpt(Slit2DCenter, '12-Ax:Y}')
    xg = Cpt(Slit2DGap, '12-Ax:X}')
    yg = Cpt(Slit2DGap, '12-Ax:Y}')
Exemplo n.º 2
0
class HxnZP_OSA(NamedDevice):
    zposax = Cpt(EpicsMotor, 'XF:03IDC-ES{ANC350:5-Ax:0}Mtr', doc='coarse x')
    zposay = Cpt(EpicsMotor, 'XF:03IDC-ES{ANC350:5-Ax:1}Mtr', doc='coarse y')
    zposaz = Cpt(EpicsMotor, 'XF:03IDC-ES{ANC350:5-Ax:2}Mtr', doc='coarse z')
Exemplo n.º 3
0
class VirtualMotorCenterAndGap(Device):
    "Center and gap with virtual motors"
    x_cntr = Cpt(VirtualCenter, '-Ax:X}')
    y_cntr = Cpt(VirtualCenter, '-Ax:Y}')
    x_gap = Cpt(VirtualGap, '-Ax:X}')
    y_gap = Cpt(VirtualGap, '-Ax:Y}')
Exemplo n.º 4
0
class SRXSlits2(Device):
    inb = Cpt(EpicsMotor, 'I}Mtr')
    out = Cpt(EpicsMotor, 'O}Mtr')
Exemplo n.º 5
0
class Agilent53210A(BaseInterface, Device):
    """
    Agililent 53210A frequency counter class.

    For use with IOC ioc/common/agilent5322.
    """
    protocol = Cpt(EpicsSignal, ':PROTOCOL_RBV', write_pv=':PROTOCOL',
                   kind='omitted')

    freq_rbck = Cpt(EpicsSignalRO, ':FREQ_RBCK', kind='normal')
    freq_rbck_raw = Cpt(EpicsSignalRO, ':FREQ_RBCK_RAW', kind='omitted')

    auto_level = Cpt(EpicsSignal, ':GET_AUTO_LEVEL',
                     write_pv=':SET_AUTO_LEVEL', kind='config')

    coupling = Cpt(EpicsSignal, ':GET_COUPLING', write_pv=':SET_COUPLING',
                   kind='config')

    impedance = Cpt(EpicsSignal, ':GET_IMPEDANCE', write_pv=':SET_IMPEDANCE',
                    kind='config')

    noise_rej = Cpt(EpicsSignal, ':GET_NOISE_REJ', write_pv=':SET_NOISE_REJ',
                    kind='config')

    trig_level = Cpt(EpicsSignal, ':GET_TRIG_LEVEL',
                     write_pv=':SET_TRIG_LEVEL', kind='config')

    trig_percent = Cpt(EpicsSignal, ':GET_TRIG_PERCENT',
                       write_pv=':SET_TRIG_PERCENT', kind='config')

    identity = Cpt(EpicsSignalRO, ':IDENTITY', kind='omitted')

    reset = Cpt(EpicsSignal, ':RESET', kind='config')
    set_metadata(reset, dict(variety='command-proc', value=1))
Exemplo n.º 6
0
class SRXHFM(Device):
    x = Cpt(EpicsMotor, 'X}Mtr')
    y = Cpt(EpicsMotor, 'Y}Mtr')
    pitch = Cpt(EpicsMotor, 'P}Mtr')
    bend = Cpt(EpicsMotor, 'Bend}Mtr')
Exemplo n.º 7
0
class SRXM3(Device):
    x = Cpt(EpicsMotor, 'X}Mtr')
    pitch = Cpt(EpicsMotor, 'P}Mtr')
Exemplo n.º 8
0
class Navigator(AgilentSerial):
    """
    Class for Navigator Pump controlled via serial

    """
    low_speed = Cpt(EpicsSignalRO, ':LOW_SPEED_RBV', kind='omitted')
    low_speed_freq = Cpt(EpicsSignalRO, ':LOW_SPEED_FREQ_RBV', kind='omitted')
    sp_power = Cpt(EpicsSignalRO, ':SP_POWER_RBV', kind='omitted')
    sp_time = Cpt(EpicsSignalRO, ':SP_TIME_RBV', kind='omitted')
    sp_normal = Cpt(EpicsSignalRO, ':SP_NORMAL_RBV', kind='omitted')
    sp_pressure = Cpt(EpicsSignalRO, ':SP_PRESSURE_RBV', kind='omitted')
    vent_open_time = Cpt(EpicsSignalRO, ':VENT_OPEN_TIME_RBV', kind='omitted')
    vent_open_time_raw = Cpt(EpicsSignalRO,
                             ':VENT_OPEN_TIME_RAW_RBV',
                             kind='omitted')
    power_limit = Cpt(EpicsSignalRO, ':POWER_LIMIT_RBV', kind='omitted')
    gas_load_type = Cpt(EpicsSignalRO, ':GAS_LOAD_TYPE_RBV', kind='omitted')
    press_read_corr = Cpt(EpicsSignalRO,
                          ':PRESS_READ_CORR_RBV',
                          kind='omitted')
    sp_press_unit = Cpt(EpicsSignalRO, ':SP_PRESS_UNIT_RBV', kind='omitted')
    sp_write_press_unit = Cpt(EpicsSignalRO,
                              ':SP_WRITE_PRESS_UNIT_RBV',
                              kind='omitted')
    stop_speed_reading = Cpt(EpicsSignalRO,
                             ':STOP_SPEED_READING_RBV',
                             kind='omitted')
    ctrl_heatsink_temp = Cpt(EpicsSignalRO,
                             ':CTRL_HEATSINK_TEMP_RBV',
                             kind='omitted')
    ctrl_air_temp = Cpt(EpicsSignalRO, ':CTRL_AIR_TEMP_RBV', kind='omitted')
Exemplo n.º 9
0
class QPCPCT(GammaPCT):
    """
    Class for Quad Pump Controller accessed via ethernet

    """
    do_reset = Cpt(EpicsSignal, ':DO_RESET', kind='omitted')
Exemplo n.º 10
0
class PTMPLC(Device):
    """
    Class for PLC-controlled Turbo Pump

    """
    switch_pump_on = Cpt(EpicsSignalWithRBV, ':RUN_SW', kind='omitted')
    reset_fault = Cpt(EpicsSignalWithRBV, ':RST_SW', kind='normal')
    run_do = Cpt(EpicsSignalRO, ':RUN_DO_RBV', kind='normal')
    pump_at_speed = Cpt(EpicsSignalRO, ':AT_SPD_RBV', kind='omitted')
    pump_accelerating = Cpt(EpicsSignalRO, ':ACCEL_RBV', kind='normal')
    pump_speed = Cpt(EpicsSignalRO, ':SPEED_RBV', kind='normal')
    fault = Cpt(EpicsSignalRO, ':FAULT_RBV', kind='normal')
    warn = Cpt(EpicsSignalRO, ':WARN_RBV', kind='normal')
    alarm = Cpt(EpicsSignalRO, ':ALARM_RBV', kind='normal')
    bp_sp = Cpt(EpicsSignalWithRBV, ':BP_SP', kind='omitted')
    ip_sp = Cpt(EpicsSignalWithRBV, ':IP_SP', kind='omitted')
    interlock_status = Cpt(EpicsSignalRO,
                           ':ILK_STATUS_RBV',
                           kind='normal',
                           doc='interlock  is ok when true')
Exemplo n.º 11
0
class AgilentSerial(Device):
    """
    Class for Agilent Turbo Pump controlled via serial

    """
    run = Cpt(EpicsSignal, ':RUN', kind='omitted')
    config = Cpt(EpicsSignal, ':CONFIG', kind='omitted')
    softstart = Cpt(EpicsSignal, ':SOFTSTART', kind='omitted')
    sp_type = Cpt(EpicsSignal, ':SP_TYPE', kind='omitted')
    sp_calcdis = Cpt(EpicsSignal, ':SP_CALCDIS', kind='omitted')
    sp_dis = Cpt(EpicsSignal, ':SP_DIS', kind='omitted')
    sp_writeval = Cpt(EpicsSignal, ':SP_WRITEVAL', kind='omitted')
    sp_freq = Cpt(EpicsSignal, ':SP_FREQ', kind='omitted')
    sp_current = Cpt(EpicsSignal, ':SP_CURRENT', kind='omitted')
    sp_time = Cpt(EpicsSignal, ':SP_TIME', kind='omitted')
    sp_delay = Cpt(EpicsSignal, ':SP_DELAY', kind='omitted')
    sp_polarity = Cpt(EpicsSignal, ':SP_POLARITY', kind='omitted')
    sp_hys = Cpt(EpicsSignal, ':SP_HYS', kind='omitted')
    water_cooling = Cpt(EpicsSignal, ':WATER_COOLING', kind='normal')
    active_stop = Cpt(EpicsSignal, ':ACTIVE_STOP', kind='normal')
    interlock_type = Cpt(EpicsSignal, ':INTERLOCK_TYPE', kind='omitted')
    ao_type = Cpt(EpicsSignal, ':AO_TYPE', kind='omitted')
    rot_freq = Cpt(EpicsSignal, ':ROT_FREQ', kind='normal')
    vent_valve = Cpt(EpicsSignal, ':VENT_VALVE', kind='omitted')
    vent_valve_operation = Cpt(EpicsSignal,
                               ':VENT_VALVE_OPERATION',
                               kind='omitted')
    vent_valve_delay = Cpt(EpicsSignal, ':VENT_VALVE_DELAY', kind='omitted')
    vent_valve_raw = Cpt(EpicsSignal, ':VENT_VALVE_RAW', kind='omitted')
    pump_current = Cpt(EpicsSignalRO, ':PUMP_CURRENT_RBV', kind='omitted')
    pump_voltage = Cpt(EpicsSignalRO, ':PUMP_VOLTAGE_RBV', kind='normal')
    pump_power = Cpt(EpicsSignalRO, ':PUMP_POWER_RBV', kind='normal')
    pump_drive_freq = Cpt(EpicsSignalRO, ':PUMP_DRIVE_FREQ_RBV', kind='normal')
    pump_temp = Cpt(EpicsSignalRO, ':PUMP_TEMP_RBV', kind='normal')
    pump_status = Cpt(EpicsSignalRO, ':PUMP_STATUS_RBV', kind='normal')
    pump_error = Cpt(EpicsSignalRO, ':PUMP_ERROR_RBV', kind='normal')
Exemplo n.º 12
0
class Acromag(BaseInterface, Device):
    """
    Class for Acromag analog input/ouput signals.

    Parameters
    ----------
    prefix : str
        The EPICS base PV of the Acromag.

    name : str
        A name to refer to the Acromag.
    """

    # Components for each channel
    # Output channels
    ao1_0 = Cpt(EpicsSignal, ":ao1:0", kind='normal')
    ao1_1 = Cpt(EpicsSignal, ":ao1:1", kind='normal')
    ao1_2 = Cpt(EpicsSignal, ":ao1:2", kind='normal')
    ao1_3 = Cpt(EpicsSignal, ":ao1:3", kind='normal')
    ao1_4 = Cpt(EpicsSignal, ":ao1:4", kind='normal')
    ao1_5 = Cpt(EpicsSignal, ":ao1:5", kind='normal')
    ao1_6 = Cpt(EpicsSignal, ":ao1:6", kind='normal')
    ao1_7 = Cpt(EpicsSignal, ":ao1:7", kind='normal')
    ao1_8 = Cpt(EpicsSignal, ":ao1:8", kind='normal')
    ao1_9 = Cpt(EpicsSignal, ":ao1:9", kind='normal')
    ao1_10 = Cpt(EpicsSignal, ":ao1:10", kind='normal')
    ao1_11 = Cpt(EpicsSignal, ":ao1:11", kind='normal')
    ao1_12 = Cpt(EpicsSignal, ":ao1:12", kind='normal')
    ao1_13 = Cpt(EpicsSignal, ":ao1:13", kind='normal')
    ao1_14 = Cpt(EpicsSignal, ":ao1:14", kind='normal')
    ao1_15 = Cpt(EpicsSignal, ":ao1:15", kind='normal')

    # Input channels
    ai1_0 = Cpt(EpicsSignalRO, ":ai1:0", kind='normal')
    ai1_1 = Cpt(EpicsSignalRO, ":ai1:1", kind='normal')
    ai1_2 = Cpt(EpicsSignalRO, ":ai1:2", kind='normal')
    ai1_3 = Cpt(EpicsSignalRO, ":ai1:3", kind='normal')
    ai1_4 = Cpt(EpicsSignalRO, ":ai1:4", kind='normal')
    ai1_5 = Cpt(EpicsSignalRO, ":ai1:5", kind='normal')
    ai1_6 = Cpt(EpicsSignalRO, ":ai1:6", kind='normal')
    ai1_7 = Cpt(EpicsSignalRO, ":ai1:7", kind='normal')
    ai1_8 = Cpt(EpicsSignalRO, ":ai1:8", kind='normal')
    ai1_9 = Cpt(EpicsSignalRO, ":ai1:9", kind='normal')
    ai1_10 = Cpt(EpicsSignalRO, ":ai1:10", kind='normal')
    ai1_11 = Cpt(EpicsSignalRO, ":ai1:11", kind='normal')
    ai1_12 = Cpt(EpicsSignalRO, ":ai1:12", kind='normal')
    ai1_13 = Cpt(EpicsSignalRO, ":ai1:13", kind='normal')
    ai1_14 = Cpt(EpicsSignalRO, ":ai1:14", kind='normal')
    ai1_15 = Cpt(EpicsSignalRO, ":ai1:15", kind='normal')

    tab_component_names = True
Exemplo n.º 13
0
class CRL(Device):
    x = Cpt(EpicsMotor, '-Ax:X}Mtr')
    y = Cpt(EpicsMotor, '-Ax:Y}Mtr')
    th = Cpt(EpicsMotor, '-Ax:P}Mtr')
Exemplo n.º 14
0
class Slit2DBlades(Device):
    top = Cpt(EpicsMotor, '1-Ax:T}Mtr')
    bottom = Cpt(EpicsMotor, '2-Ax:B}Mtr')
    outboard = Cpt(EpicsMotor, '1-Ax:O}Mtr')
    inboard = Cpt(EpicsMotor, '2-Ax:I}Mtr')
Exemplo n.º 15
0
class SRXSSAVG(PVPositionerPC):
    setpoint = Cpt(EpicsSignal, 'Y}size')
    readback = Cpt(EpicsSignalRO, 'Y}t2.C')
Exemplo n.º 16
0
class PIPSerial(Device):
    """
    Class for Positive Ion Pump controlled via serial

    """
    imon = Cpt(EpicsSignalRO, ':IMON_RBV', kind='hinted')
    pmon = Cpt(EpicsSignalRO, ':PMON_RBV', kind='hinted')
    pmonlog = Cpt(EpicsSignalRO, ':PMONLOG_RBV', kind='normal')
    vmon = Cpt(EpicsSignalRO, ':VMON_RBV', kind='normal')
    statusraw = Cpt(EpicsSignalRO, ':STATUSRAW_RBV', kind='omitted')
    statuscalc = Cpt(EpicsSignalRO, ':STATUSCALC_RBV', kind='omitted')
    status = Cpt(EpicsSignalRO, ':STATUS_RBV', kind='normal')
    statuscodecl = Cpt(EpicsSignalRO, ':STATUSCODECL_RBV', kind='omitted')
    statuscode = Cpt(EpicsSignalRO, ':STATUSCODE_RBV', kind='omitted')
    pumpsizedes = Cpt(EpicsSignal, ':PUMPSIZEDES', kind='omitted')
    pumpsize = Cpt(EpicsSignal, ':PUMPSIZE', kind='omitted')
    calfactordes = Cpt(EpicsSignal, ':CALFACTORDES', kind='omitted')
    calfactor = Cpt(EpicsSignal, ':CALFACTOR', kind='omitted')
    aomodedes = Cpt(EpicsSignal, ':AOMODEDES', kind='omitted')
    aomode = Cpt(EpicsSignal, ':AOMODE', kind='omitted')
    statedes = Cpt(EpicsSignal, ':STATEDES', kind='omitted')
    statemon = Cpt(EpicsSignalRO, ':STATEMON_RBV', kind='normal')
    dispdes = Cpt(EpicsSignal, ':DISPDES', kind='omitted')
    pname = Cpt(EpicsSignalRO, ':PNAME_RBV', kind='normal')
    pnamedes = Cpt(EpicsSignal, ':PNAMEDES', kind='omitted')
    vpcname = Cpt(EpicsSignal, ':VPCNAME', kind='omitted')
Exemplo n.º 17
0
class SRXSSAVC(PVPositionerPC):
    setpoint = Cpt(EpicsSignal, 'Y}center')
    readback = Cpt(EpicsSignalRO, 'Y}t2.D')
Exemplo n.º 18
0
class IonPumpBase(Device, BaseInterface):
    """
%s
    """
    __doc__ = (__doc__ % IonPump_base).replace('Ion Pump',
                                               'Ion Pump Base Class')

    _pressure = Cpt(EpicsSignalRO, ':PMON', kind='hinted')
    _egu = Cpt(EpicsSignalRO, ':PMON.EGU', kind='omitted')
    current = Cpt(EpicsSignalRO, ':IMON', kind='normal')
    voltage = Cpt(EpicsSignalRO, ':VMON', kind='normal')
    status_code = Cpt(EpicsSignalRO, ':STATUSCODE', kind='normal', string=True)
    status = Cpt(EpicsSignalRO, ':STATUS', kind='normal')
    # check if this work as its an enum
    state = Cpt(EpicsSignal,
                ':STATEMON',
                write_pv=':STATEDES',
                kind='normal',
                string=True)
    # state_cmd = Cpt(EpicsSignal, ':STATEDES', kind='normal')

    pumpsize = Cpt(EpicsSignal,
                   ':PUMPSIZEDES',
                   write_pv=':PUMPSIZE',
                   kind='omitted')
    controllername = Cpt(EpicsSignal, ':VPCNAME', kind='omitted')
    hvstrapping = Cpt(EpicsSignal, ':VDESRBCK', kind='omitted')
    supplysize = Cpt(EpicsSignalRO, ':SUPPLYSIZE', kind='omitted')

    aomode = Cpt(EpicsSignal, ':AOMODEDES', write_pv=':AOMODE', kind='config')
    calfactor = Cpt(EpicsSignal,
                    ':CALFACTORDES',
                    write_pv=':CALFACTOR',
                    kind='config')

    tab_whitelist = ['on', 'off', 'info', 'pressure']
    tab_component_names = True

    def on(self):
        self.state.put(1)

    def off(self):
        self.state.put(0)

    def info(self):
        outString = ('%s is an ion pump with base PV %s which is %s \n' %
                     (self.name, self.prefix, self.state.get()))
        if self.state.get() == 'ON':
            outString += 'Pressure: %g \n' % self.pressure()
            outString += 'Current: %g \n' % self.current.get()
            outString += 'Voltage: %g' % self.voltage.get()
        return outString

    def pressure(self):
        if self.state.get() == 'ON':
            return self._pressure.get()
        else:
            return -1.

    def egu(self):
        return self._egu.get()
Exemplo n.º 19
0
class SRXM2(Device):
    x = Cpt(EpicsMotor, 'X}Mtr')
    y = Cpt(EpicsMotor, 'Y}Mtr')
    pitch = Cpt(EpicsMotor, 'P}Mtr')
    roll = Cpt(EpicsMotor, 'R}Mtr')
    yaw = Cpt(EpicsMotor, 'Yaw}Mtr')
Exemplo n.º 20
0
class FMXMercury(Mercury1, SoftDXPTrigger):
    count_time = Cpt(Signal, value=None)
Exemplo n.º 21
0
class SRXBPM(Device):
    y = Cpt(EpicsMotor, 'YFoil}Mtr')
    diode_x = Cpt(EpicsMotor, 'XDiode}Mtr')
    diode_y = Cpt(EpicsMotor, 'YDiode}Mtr')
Exemplo n.º 22
0
class SelectorBoxValvePair(SelectorBoxValve):
    valve01 = Cpt(SelectorBoxValve, ':VLV:01')
    valve02 = Cpt(SelectorBoxValve, ':VLV:02')
Exemplo n.º 23
0
class SAXSPindiode(Device):
    x = Cpt(EpicsMotor, 'OBB}Mtr')
    y = Cpt(EpicsMotor, 'OBM}Mtr')
Exemplo n.º 24
0
class SelectorBoxReservoir(SelectorBoxReservoirStates):
    res = Cpt(SelectorBoxReservoirStates, ':RES')
    res1 = Cpt(SelectorBoxReservoirStates, ':RES:1')
    res2 = Cpt(SelectorBoxReservoirStates, ':RES:2')
    res3 = Cpt(SelectorBoxReservoirStates, ':RES:3')
    res4 = Cpt(SelectorBoxReservoirStates, ':RES:4')
    res5 = Cpt(SelectorBoxReservoirStates, ':RES:5')
    res6 = Cpt(SelectorBoxReservoirStates, ':RES:6')
    res7 = Cpt(SelectorBoxReservoirStates, ':RES:7')
    res8 = Cpt(SelectorBoxReservoirStates, ':RES:8')
    res9 = Cpt(SelectorBoxReservoirStates, ':RES:9')
    res10 = Cpt(SelectorBoxReservoirStates, ':RES:10')
Exemplo n.º 25
0
class HxnZPSample(NamedDevice):
    # Zoneplate module fine sample stage axes (closed on cap
    # sensors/interferometer)
    zpssx = Cpt(EpicsMotor, 'XF:03IDC-ES{Ppmac:1-zpssx}Mtr', doc='fine x')
    zpssy = Cpt(EpicsMotor, 'XF:03IDC-ES{Ppmac:1-zpssy}Mtr', doc='fine y')
    zpssz = Cpt(EpicsMotor, 'XF:03IDC-ES{Ppmac:1-zpssz}Mtr', doc='fine z')

    # rotary underneath sample
    zpsth = Cpt(EpicsMotor, 'XF:03IDC-ES{SC210:1-Ax:1}Mtr', doc='theta')
    # PI controller underneath smarpod
    zpsx = Cpt(EpicsMotor, 'XF:03IDC-ES{ZpPI:1-zpsx}Mtr', doc='coarse x')
    zpsz = Cpt(EpicsMotor, 'XF:03IDC-ES{ZpPI:1-zpsz}Mtr', doc='coarse z')

    smarx = Cpt(SmarpodTranslationAxis, axis=2, doc='smarpod x')
    smary = Cpt(SmarpodTranslationAxis, axis=3, doc='smarpod y')
    smarz = Cpt(SmarpodTranslationAxis, axis=1, doc='smarpod z')
    smarthx = Cpt(SmarpodRotationAxis, axis=2, doc='smarpod theta around x')
    smarthy = Cpt(SmarpodRotationAxis, axis=3, doc='smarpod theta around y')
    smarthz = Cpt(SmarpodRotationAxis, axis=1, doc='smarpod theta around z')

    kill = Cpt(EpicsSignal, 'XF:03IDC-ES{Ppmac:1-ZP}Kill-Cmd.PROC')
    zero = Cpt(EpicsSignal, 'XF:03IDC-ES{Ppmac:1-ZP}Zero-Cmd.PROC')
    mode = Cpt(EpicsSignal, 'XF:03IDC-ES{Ppmac:1-ZP}Mode-I')
Exemplo n.º 26
0
class Proportionair(Device):
    chA = Cpt(GX_readback, ':01')
    chB = Cpt(GX_readback, ':02')
Exemplo n.º 27
0
class VirtualCenter(PVPositioner):
    readback = Cpt(EpicsSignalRO, 't2.D')
    setpoint = Cpt(EpicsSignal, 'center')
    done = Cpt(EpicsSignalRO, 'DMOV')
    done_value = 1
Exemplo n.º 28
0
class HPLC(Device):
    status_setpoint = Cpt(EpicsSignal, ':Run')
    status_value = Cpt(EpicsSignalRO, ':Status')
    flowrate_setpoint = Cpt(EpicsSignal, ':SetFlowRate')
    flowrate_value = Cpt(EpicsSignalRO, ':FlowRate')
    flowrate_setpoint_value = Cpt(EpicsSignalRO, ':FlowRateSP')
    max_pressure_setpoint = Cpt(EpicsSignal, ':SetMaxPress')
    max_pressure = Cpt(EpicsSignalRO, ':MaxPress')
    min_pressure_setpoint = Cpt(EpicsSignal, ':SetMinPress')
    min_pressure = Cpt(EpicsSignalRO, ':MinPress')
    error_state = Cpt(EpicsSignalRO, ':Error')
    error_process = Cpt(EpicsSignal, ':ClearError.PROC')

    #    def __init__(self, *args, **kwargs, inFlowrate = 0.0, inStatus=1):
    #        super().__init__(*args, **kwargs)
    #        self.pressure_setpoint = inPressure
    #        self.status = inStatus

    def set_flowrate_setpoint(self, inFlowrate):
        if inFlowrate >= 0.1:
            print(
                "The units are mL/min so verify you really want this flowrate")
        if inFlowrate < 0:
            print(
                "Stop being stupid, flowrate shouldn't be negative.  Setting the flowrate to 0"
            )
            inFlowrate = 0
        self.flowrate_setpoint.put(inFlowrate)
        return self.flowrate_setpoint_value.get()

    def set_status(self, inStatus):
        self.status_setpoint.put(inStatus)
        return self.status_value.get()

    def set_pressure_limit(self, inLimit):
        self.limit_setpoint.put(inLimit)
        return self.limit_value.get()

    def clear_error(self):
        state = self.error_process.get()
        if state == 1:
            self.error_process.put(0)
        else:
            self.error_process.put(1)
        return self.error_state.get()

    def hplc2_resume(self):
        self.clear_error()
        self.set_status(1)
        return self.status_value.get()
Exemplo n.º 29
0
class VirtualGap(PVPositioner):
    readback = Cpt(EpicsSignalRO, 't2.C')
    setpoint = Cpt(EpicsSignal, 'size')
    done = Cpt(EpicsSignalRO, 'DMOV')
    done_value = 1
Exemplo n.º 30
0
class Slit2DCenter(PVPositionerPC):
    readback = Cpt(EpicsSignalRO, 't2.D')
    setpoint = Cpt(EpicsSignal, 'center')
    done = Cpt(EpicsSignalRO, 'DMOV')
    done_value = 1