コード例 #1
0

class SC(ophyd.areadetector.cam.SimDetectorCam):
    pool_max_buffers = None


class IP(ophyd.ImagePlugin):
    pool_max_buffers = None


class Detector(ophyd.SimDetector):
    image1 = ophyd.Component(IP, 'image1:')
    cam = ophyd.Component(SC, 'cam1:')


pvproperty_with_rbv = get_pv_pair_wrapper(setpoint_suffix='',
                                          readback_suffix='_RBV')


# -- DetectorGroup --
class DetectorGroup(PVGroup):
    # configuration_names = pvproperty(name=None, dtype=str)

    class SimDetectorCamGroup(PVGroup):
        # configuration_names = pvproperty(name=None, dtype=str)
        array_counter = pvproperty_with_rbv(name='ArrayCounter', dtype=int)
        array_rate = pvproperty(name='ArrayRate_RBV',
                                dtype=float,
                                read_only=True)
        asyn_io = pvproperty(name='AsynIO', dtype=int)
        nd_attributes_file = pvproperty(name='NDAttributesFile',
                                        dtype=str,
コード例 #2
0
ファイル: mca_ioc.py プロジェクト: NSLS-II/ophyd
#!/usr/bin/env python3
from caproto.server import (pvproperty, PVGroup, ioc_arg_parser, run, SubGroup,
                            get_pv_pair_wrapper)
from caproto import ChannelType

pvproperty_with_rbv = get_pv_pair_wrapper(setpoint_suffix='',
                                          readback_suffix='_RBV')
unknown = int


class MCAROIGroup(PVGroup):
    label = pvproperty(value='label', name='NM')
    count = pvproperty(value=1, name='', read_only=True)
    net_count = pvproperty(name='N', dtype=unknown, read_only=True)
    preset_count = pvproperty(name='P', dtype=unknown)
    is_preset = pvproperty(name='IP', dtype=unknown)
    bkgnd_chans = pvproperty(name='BG', dtype=unknown)
    hi_chan = pvproperty(name='HI', dtype=unknown)
    lo_chan = pvproperty(name='LO', dtype=unknown)


class EpicsMCAGroup(PVGroup):
    stop_signal = pvproperty(name='Stop', dtype=unknown)
    preset_real_time = pvproperty(name='.PRTM', dtype=unknown)
    preset_live_time = pvproperty(name='.PLTM', dtype=unknown)
    elapsed_real_time = pvproperty(name='.ERTM', dtype=unknown, read_only=True)
    elapsed_live_time = pvproperty(name='.ELTM', dtype=unknown, read_only=True)
    spectrum = pvproperty(name='', dtype=float, read_only=True)
    background = pvproperty(name='.BG', dtype=unknown, read_only=True)
    mode = pvproperty(value='List', name='.MODE', dtype=str)