Controller devices
CompactERAS - CRIO + ERAS coupled devices
| 
 | A CompactERAS Soft IOC Ophyd device. | 
| 
 | A CompactERAS channel. | 
| 
 | 
- class sophys.common.devices.compacteras.CompactERAS(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]
- A CompactERAS Soft IOC Ophyd device. - The channels can be accessed via the CH{0..4} attributes. - Attributes - acquisition_bandwidth- EpicsSignalRO --- Suffix = AcquisitionBandwidth | Kind.normal - CH1- Channel --- Suffix = CH1 | Kind.normal - CH2- Channel --- Suffix = CH2 | Kind.normal - CH3- Channel --- Suffix = CH3 | Kind.normal - CH4- Channel --- Suffix = CH4 | Kind.normal - permanent_device_card- EpicsSignalRO --- Suffix = VoltageCard | Kind.normal - permanent_device_prefix- EpicsSignalRO --- Suffix = VoltageReaderPrefix | Kind.normal - sampling_rate- EpicsSignalRO --- Suffix = SamplingRate | Kind.normal - supported_devices- EpicsSignalRO --- Suffix = DevicesUsed | Kind.normal - variable_device_prefix- EpicsSignalRO --- Suffix = ScaleSwitcherPrefix | Kind.normal - version- EpicsSignalRO --- Suffix = Version | Kind.normal 
Channels are accessible via self.CH{x}, for x in {1, 2, 3, 4}.
- class sophys.common.devices.compacteras.Channel(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]
A CompactERAS channel. It is directly tied to a corresponding ERAS channel.
Attributes
associated_voltage_channelEpicsSignalRO --- Suffix = AssociatedVoltageChannel | Kind.omitted
currentEpicsSignalRO --- Suffix = Current | Kind.hinted
current_full_scale_labelEpicsSignalRO --- Suffix = GetCurrentFSLbl | Kind.config
current_sensitivity_labelEpicsSignalRO --- Suffix = GetCurrentSTLbl | Kind.config
measurement_typeEpicsSignal --- Suffix = MeasurementType | Kind.config
SC0Scale --- Suffix = SC0 | Kind.omitted
SC1Scale --- Suffix = SC1 | Kind.omitted
SC2Scale --- Suffix = SC2 | Kind.omitted
SC3Scale --- Suffix = SC3 | Kind.omitted
SC4Scale --- Suffix = SC4 | Kind.omitted
SC5Scale --- Suffix = SC5 | Kind.omitted
SC6Scale --- Suffix = SC6 | Kind.omitted
SC7Scale --- Suffix = SC7 | Kind.omitted
serial_numberEpicsSignal --- Suffix = SN | Kind.omitted
user_current_offsetEpicsSignal --- Suffix = UserCurrentOffset | Kind.omitted
user_voltage_offsetEpicsSignal --- Suffix = UserVoltageOffset | Kind.omitted
voltageEpicsSignalRO --- Suffix = Voltage | Kind.hinted
voltage_full_scaleEpicsSignal --- Suffix = VoltFS | Kind.omitted
voltage_scale_factorEpicsSignal --- Suffix = VoltageSF | Kind.omitted
Each channel has 8 scales, hardcoded at the time of writing. These are accessible via self.SC{x}, for x in {0..7}.
- class sophys.common.devices.compacteras.Scale(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]
Attributes
analog_bwEpicsSignal --- Suffix = AnalogBW | Kind.config
calibration_offsetEpicsSignal --- Suffix = CalibrationOffset | Kind.config
gain_correctionEpicsSignal --- Suffix = GainCorrection | Kind.config
ERAS - Ethernet Range Selector
| 
 | Ophyd abstraction for the Ethernet Range Selector device. | 
| 
 | A channel from ERAS. | 
| 
 | 
- class sophys.common.devices.eras.ERAS(*args, connection_timeout=<object object>, **kwargs)[source]
- Ophyd abstraction for the Ethernet Range Selector device. - Attributes - device_name- EpicsSignal --- Read = GetDev | Write = SetDev | Kind.normal - location- EpicsSignal --- Read = GetLoc | Write = SetLoc | Kind.normal - version- EpicsSignalRO --- Suffix = GetVer | Kind.normal 
Channels are accessible via self.channel_{x}, for x in {1, 2, 3, 4}.
- class sophys.common.devices.eras.Channel(*args, connection_timeout=<object object>, **kwargs)[source]
A channel from ERAS.
To control the currently selected scale, use current_scale. You can use scales[x] or scale_x to access any scale at any time.
Attributes
channel_nameEpicsSignal --- Read = GetCdv | Write = SetCdv | Kind.normal
num_scalesEpicsSignal --- Read = GetNumScl | Write = SetNumScl | Kind.normal
selected_scaleEpicsSignal --- Read = GetRng | Write = SetRng | Kind.normal
Each channel has n scales, with n given by the value of num_scales at the device initialization.
- class sophys.common.devices.eras.Scale(prefix='', *, name, kind=None, read_attrs=None, configuration_attrs=None, parent=None, child_name_separator='_', connection_timeout=<object object>, **kwargs)[source]
Attributes
full_scaleEpicsSignalRO --- Suffix = GetFS | Kind.normal
full_scale_labelEpicsSignal --- Read = GetFSLbl | Write = SetFSLbl | Kind.normal
sensitivityEpicsSignalRO --- Suffix = GetST | Kind.normal
sensitivity_labelEpicsSignal --- Read = GetSTLbl | Write = SetSTLbl | Kind.normal
TATU - Timing and Trigger Unit
| 
 | Base configuration and status PVs for a TATU Input port. | 
| 
 | Configuration and status PVs for a TATU Output port condition. | 
| 
 | Configuration and status PVs for a TATU V2 Output port condition. | 
| 
 | All the conditions PVs for a TATU Output port. | 
| 
 | All the conditions PVs for a TATU V2 Output port. | 
| 
 | Base device for the TATU software, which produces or a distribute digital signals to coordinate events and actions to achieve a synchronized operation at a beamline. | 
| 
 | TATU device adapted to work with the C-Series module 9401. | 
| 
 | TATU V2 device adapted to work with the C-Series module 9401. | 
| 
 | TATU device adapted to work with the C-Series module 9403. | 
- class sophys.common.devices.tatu.Tatu9401(prefix, **kwargs)[source]
- TATU device adapted to work with the C-Series module 9401. - This module consists of four high-speed TTL channels as an input and the other four high-speed TTL channels as an output. - Attributes - activate- EpicsSignal --- Read = TatuActive | Write = Activate | Kind.normal - input- Input --- Suffix = None | Kind.normal - master_mode- EpicsSignal --- Suffix = MasterMode | Kind.config - master_pulse- MasterPulse --- Suffix = None | Kind.normal - output- Output --- Suffix = None | Kind.normal - reset_pulses- EpicsSignal --- Suffix = Zeropulses | Kind.config - tatu_stop- EpicsSignal --- Suffix = Stop | Kind.config 
- class sophys.common.devices.tatu.Tatu9401V2(prefix, **kwargs)[source]
- TATU V2 device adapted to work with the C-Series module 9401. - This module consists of four high-speed TTL channels as an input and the other four high-speed TTL channels as an output. - Attributes - activate- EpicsSignal --- Read = TatuActive | Write = Activate | Kind.normal - file_name- EpicsSignal --- Suffix = {global_prefix}Filename | Kind.normal - input- Input --- Suffix = None | Kind.normal - master_mode- EpicsSignal --- Suffix = MasterMode | Kind.config - master_pulse- MasterPulse --- Suffix = None | Kind.normal - output- Output --- Suffix = None | Kind.normal - reset_pulses- EpicsSignal --- Suffix = Zeropulses | Kind.config - tatu_stop- EpicsSignal --- Suffix = Stop | Kind.config 
- class sophys.common.devices.tatu.Tatu9403(prefix, **kwargs)[source]
- TATU device adapted to work with the C-Series module 9403. - This module consists of four high-speed TTL channels as an input and the other four high-speed TTL channels as an output, - This same sequence is repeated for the other channels in the sequence, four inputs, four outputs, for the first 24 IO ports. - Attributes - activate- EpicsSignal --- Read = TatuActive | Write = Activate | Kind.normal - bi0- EpicsSignalRO --- Suffix = bi0 | Kind.normal - bi1- EpicsSignalRO --- Suffix = bi1 | Kind.normal - bi2- EpicsSignalRO --- Suffix = bi2 | Kind.normal - bi3- EpicsSignalRO --- Suffix = bi3 | Kind.normal - bi8- EpicsSignalRO --- Suffix = bi8 | Kind.normal - bi9- EpicsSignalRO --- Suffix = bi9 | Kind.normal - bi10- EpicsSignalRO --- Suffix = bi10 | Kind.normal - bi11- EpicsSignalRO --- Suffix = bi11 | Kind.normal - bi16- EpicsSignalRO --- Suffix = bi16 | Kind.normal - bi17- EpicsSignalRO --- Suffix = bi17 | Kind.normal - bi18- EpicsSignalRO --- Suffix = bi18 | Kind.normal - bi19- EpicsSignalRO --- Suffix = bi19 | Kind.normal - bo4- EpicsSignalWithRBV --- Suffix = bo4 | Kind.normal - bo5- EpicsSignalWithRBV --- Suffix = bo5 | Kind.normal - bo6- EpicsSignalWithRBV --- Suffix = bo6 | Kind.normal - bo7- EpicsSignalWithRBV --- Suffix = bo7 | Kind.normal - bo12- EpicsSignalWithRBV --- Suffix = bo12 | Kind.normal - bo13- EpicsSignalWithRBV --- Suffix = bo13 | Kind.normal - bo14- EpicsSignalWithRBV --- Suffix = bo14 | Kind.normal - bo15- EpicsSignalWithRBV --- Suffix = bo15 | Kind.normal - bo20- EpicsSignalWithRBV --- Suffix = bo20 | Kind.normal - bo21- EpicsSignalWithRBV --- Suffix = bo21 | Kind.normal - bo22- EpicsSignalWithRBV --- Suffix = bo22 | Kind.normal - bo23- EpicsSignalWithRBV --- Suffix = bo23 | Kind.normal - disable_file_close- EpicsSignal --- Suffix = {global_prefix}DisableFileClose | Kind.omitted - file_averaging_time- EpicsSignal --- Suffix = {global_prefix}FileAvgTime | Kind.config - input- Input --- Suffix = None | Kind.normal - input2- Input2 --- Suffix = None | Kind.normal - input3- Input3 --- Suffix = None | Kind.normal - master_mode- EpicsSignal --- Suffix = MasterMode | Kind.config - master_pulse- MasterPulse --- Suffix = None | Kind.normal - output- Output --- Suffix = None | Kind.normal - output2- Output2 --- Suffix = None | Kind.normal - output3- Output3 --- Suffix = None | Kind.normal - pv_averaging_time- EpicsSignal --- Suffix = {global_prefix}PvAvgTime | Kind.config - reset_pulses- EpicsSignal --- Suffix = Zeropulses | Kind.config - saving_to_file- EpicsSignalRO --- Suffix = {global_prefix}AnalogSaving2File | Kind.omitted - tatu_stop- EpicsSignal --- Suffix = Stop | Kind.config 
Each input and output are themselves Ophyd devices with some specific signals:
- class sophys.common.devices.tatu.TatuInput(prefix, input_number, **kwargs)[source]
Base configuration and status PVs for a TATU Input port.
Attributes
analog_assocEpicsSignal --- Suffix = {prefix}AnalogAssocCh{input_number} | Kind.normal
analog_thresholdEpicsSignal --- Suffix = {prefix}AnalogThresholdCh{input_number} | Kind.normal
current_valueEpicsSignal --- Suffix = {prefix}P{input_number} | Kind.normal
edges_to_triggerEpicsSignal --- Suffix = {prefix}EdgestoTrigIO{input_number} | Kind.normal
trigger_valueEpicsSignal --- Suffix = {prefix}InputTriggerIO{input_number} | Kind.normal
- class sophys.common.devices.tatu.TatuOutput(prefix, output_number, **kwargs)[source]
All the conditions PVs for a TATU Output port.
Attributes
c1TatuOutputCondition --- Suffix = {prefix}/{output_number} | Kind.normal
c2TatuOutputCondition --- Suffix = {prefix}/{output_number} | Kind.normal
c3TatuOutputCondition --- Suffix = {prefix}/{output_number} | Kind.normal
- class sophys.common.devices.tatu.TatuOutputV2(prefix, output_number, **kwargs)[source]
All the conditions PVs for a TATU V2 Output port.
Attributes
c1TatuOutputConditionV2 --- Suffix = {prefix}/{output_number} | Kind.normal
c2TatuOutputConditionV2 --- Suffix = {prefix}/{output_number} | Kind.normal
c3TatuOutputConditionV2 --- Suffix = {prefix}/{output_number} | Kind.normal
logicEpicsSignal --- Suffix = {prefix}OutputLogicIO{output_number} | Kind.normal
Each output condition, in turn, has its own signals:
- class sophys.common.devices.tatu.TatuOutputCondition(prefix, condition_number, **kwargs)[source]
Configuration and status PVs for a TATU Output port condition.
Attributes
changedEpicsSignal --- Suffix = {prefix}IO{output_number}changed | Kind.normal
conditionEpicsSignal --- Suffix = {prefix}ConditionIO{output_number}c{condition_number} | Kind.normal
condition_comboEpicsSignal --- Suffix = {prefix}ConditionComboIO{output_number}c{condition_number} | Kind.normal
delayEpicsSignal --- Suffix = {prefix}DelayIO{output_number}c{condition_number} | Kind.normal
outputEpicsSignal --- Suffix = {prefix}OutputIO{output_number}c{condition_number} | Kind.normal
output_copyEpicsSignal --- Suffix = {prefix}OutputCOPYIO{output_number}c{condition_number} | Kind.normal
pulseEpicsSignal --- Suffix = {prefix}PulseIO{output_number}c{condition_number} | Kind.normal
- class sophys.common.devices.tatu.TatuOutputConditionV2(prefix, condition_number, **kwargs)[source]
Configuration and status PVs for a TATU V2 Output port condition.
Attributes
changedEpicsSignal --- Suffix = {prefix}IO{output_number}changed | Kind.normal
conditionEpicsSignal --- Suffix = {prefix}ConditionIO{output_number}c{condition_number} | Kind.normal
condition_comboEpicsSignal --- Suffix = {prefix}ConditionComboIO{output_number}c{condition_number} | Kind.normal
delayEpicsSignal --- Suffix = {prefix}DelayIO{output_number}c{condition_number} | Kind.normal
highEpicsSignal --- Suffix = {prefix}HighPeriodIO{output_number}c{condition_number} | Kind.normal
lowEpicsSignal --- Suffix = {prefix}LowPeriodIO{output_number}c{condition_number} | Kind.normal
number_of_pulsesEpicsSignal --- Suffix = {prefix}NPulsesIO{output_number}c{condition_number} | Kind.normal
outputEpicsSignal --- Suffix = {prefix}OutputIO{output_number}c{condition_number} | Kind.normal
output_copyEpicsSignal --- Suffix = {prefix}OutputCOPYIO{output_number}c{condition_number} | Kind.normal