id4_common.devices.scaler_dual_ctr8 =================================== .. py:module:: id4_common.devices.scaler_dual_ctr8 .. autoapi-nested-parse:: Setup for two CTR8 devices used together Module Contents --------------- .. py:data:: NUMCHANNELS :value: 8 .. py:data:: PREFIX1 :value: '4idCTR8_1:scaler1' .. py:data:: PREFIX2 :value: '4idCTR8_1:scaler2' .. py:class:: LocalScalerChannel(*args, ch_num=0, **kwargs) Bases: :py:obj:`ophyd.scaler.ScalerChannel` ScalerChannel subclass that tracks which physical scaler board owns this channel. .. py:function:: make_channels() Build an OrderedDict of 15 combined channels across two CTR8 scaler boards. .. py:class:: DualCTR8Scaler(prefix1, prefix2, **kwargs) Bases: :py:obj:`ophyd.Device` Combined scaler device aggregating two CTR8 boards into a single 15-channel interface. .. py:attribute:: prefix1 .. py:attribute:: prefix2 .. py:attribute:: channels .. py:attribute:: scaler1 .. py:attribute:: scaler2 .. py:attribute:: freq .. py:attribute:: preset_time :value: None .. py:attribute:: preset_monitor .. py:method:: match_names() Sync each channel's Python name to the EPICS channel-name PV value. .. py:method:: select_channels(chan_names=None) Select channels based on the EPICS name PV :param chan_names: The names (as reported by the ``channel.chname`` signal) of the channels to select. If ``None``, select **all** channels named in the EPICS scaler. :type chan_names: Iterable[str] or None .. py:property:: trigger_scaler Return scaler1 as the hardware trigger source for both boards. .. py:method:: trigger() Trigger acquisition on scaler1; the second board follows via hardware connection. .. py:property:: channels_name_map Return a dict mapping EPICS channel names to component attribute names. .. py:method:: select_plot_channels(chan_names=None) Set the Kind of each channel to hinted (in chan_names) or normal (others). .. py:method:: select_read_channels(chan_names=None) Select channels based on the EPICS name PV. :param chan_names: The names (as reported by the channel.chname signal) of the channels to select. If *None*, select all channels named in the EPICS scaler. :type chan_names: Iterable[str] or None .. py:property:: monitor Return the EPICS name of the currently selected monitor channel. .. py:property:: plot_options Return a list of all named scaler channel names available for plotting. .. py:method:: select_plot(channels) Set hinted kind for the given channel list, delegating to select_plot_channels. .. py:method:: default_settings() Initialize monitor, read channels, plot channels, and scaler delays.