move dxp.py temporarilty to local dir to avoid git error messages

This commit is contained in:
gac-x07mb
2024-11-20 08:27:23 +01:00
parent 2da6af2b50
commit 42ec7d64f2
6 changed files with 506 additions and 110 deletions

View File

@ -47,7 +47,7 @@ PH_Dummy:
# #
############################ ############################
ScanX: MA1_ScanX:
readoutPriority: baseline readoutPriority: baseline
description: 'Vertical sample position ES-MA1.ScanX' description: 'Vertical sample position ES-MA1.ScanX'
deviceClass: ophyd.EpicsMotor deviceClass: ophyd.EpicsMotor
@ -58,10 +58,10 @@ ScanX:
- phoenix_devices.yaml - phoenix_devices.yaml
- class EpicsMotor - class EpicsMotor
onFailure: retry onFailure: retry
enabled: true enabled: false
readOnly: false readOnly: false
ScanY: MA1_ScanY:
readoutPriority: baseline readoutPriority: baseline
description: 'Horizontal sample position ES-MA1.ScanY' description: 'Horizontal sample position ES-MA1.ScanY'
deviceClass: ophyd.EpicsMotor deviceClass: ophyd.EpicsMotor
@ -72,15 +72,163 @@ ScanY:
- phoenix_devices.yaml - phoenix_devices.yaml
- class EpicsMotor - class EpicsMotor
onFailure: retry onFailure: retry
enabled: true enabled: false
readOnly: false readOnly: false
softwareTrigger: false softwareTrigger: false
MA1_ROT:
readoutPriority: baseline
description: 'Horizontal sample position ES-MA1.ROT'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:ROT'
deviceTags:
- ES-MA1.ROT
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
MA1_TRZ1:
readoutPriority: baseline
description: 'position ES-MA1.ROT'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:TRZ1'
deviceTags:
- ES-MA1.TRZ1
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
MA1_TRX1:
readoutPriority: baseline
description: 'position ES-MA1.TRX1'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:TRX1'
deviceTags:
- ES-MA1.TRX1
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
#
# #
# #
# DIODES from ES1 ADC # DIODES from ES1 ADC
# #
# #
SAI_01_MEAN:
readoutPriority: monitored
description: DIODE SAI01
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_01:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_02_MEAN:
readoutPriority: monitored
description: DIODE SAI02
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_02:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_03_MEAN:
readoutPriority: monitored
description: DIODE SAI03
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_03:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_04_MEAN:
readoutPriority: monitored
description: DIODE SAI04
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_04:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_05_MEAN:
readoutPriority: monitored
description: DIODE SAI05
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_05:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_06_MEAN:
readoutPriority: monitored
description: DIODE SAI06
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_06:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_07_MEAN: SAI_07_MEAN:
readoutPriority: monitored readoutPriority: monitored
description: DIODE SAI07 description: DIODE SAI07
@ -116,104 +264,19 @@ SAI_08_MEAN:
# #
# END OF STANDARD CONFIG # END OF STANDARD CONFIG
# #
#
# Configuration XMAP MA1_TRZ1:
# readoutPriority: baseline
xmap: description: 'Horizontal sample position ES-MA1.ROT'
description: XMAP detector x-ray fluoresence deviceClass: ophyd.EpicsMotor
deviceClass: phoenix_bec.devices.phoenix_xmap.XMAPPhoenix
deviceConfig: deviceConfig:
prefix: 'X07MB-XMAP:' prefix: 'X07MB-ES-MA1:TRZ1'
deviceTags: deviceTags:
- phoenix - ES-MA1.TRZ1
- xmap - phoenix_devices.yaml
- phoenix_bec/device_configs/phoenix_xmap.yaml - class EpicsMotor
- class XMAPPhoenix onFailure: retry
- file phoenix_xmap enabled: false
onFailure: buffer readOnly: false
enabled: true
readoutPriority: async
softwareTrigger: false
#
# Configuration XMAP
#
xmap:
description: XMAP detector x-ray fluoresence
deviceClass: phoenix_bec.devices.phoenix_xmap.XMAPPhoenix
deviceConfig:
prefix: 'X07MB-XMAP:'
deviceTags:
- phoenix
- xmap
- phoenix_bec/device_configs/phoenix_xmap.yaml
- class XMAPPhoenix
- file phoenix_xmap
onFailure: buffer
enabled: true
readoutPriority: async
softwareTrigger: false
#
# falcon without hdf5
#
falcon:
description: Falcon detector x-ray fluoresence with hdf5 plugin from device class phoenix_bec.devices. falcon_phoenix.FalconPhoenix
deviceClass: phoenix_bec.devices.phoenix_falcon.FalconPhoenix
deviceConfig:
prefix: 'X07MB-SITORO:'
deviceTags:
- phoenix
- falcon
- with hdf5
- phoenix_falcon.yaml
- class FalconPhoenix
- file:phoenix_falcon.py
onFailure: buffer
enabled: true
readoutPriority: async
softwareTrigger: false
#
# END FALCON with HDF5
#
#
# falcon without hdf5
#
falcon:
description: Falcon detector x-ray fluoresence with hdf5 plugin from device class phoenix_bec.devices. falcon_phoenix.FalconPhoenix
deviceClass: phoenix_bec.devices.phoenix_falcon.FalconPhoenix
deviceConfig:
prefix: 'X07MB-SITORO:'
deviceTags:
- phoenix
- falcon
- with hdf5
- phoenix_falcon.yaml
- class FalconPhoenix
- file:phoenix_falcon.py
onFailure: buffer
enabled: true
readoutPriority: async
softwareTrigger: false
#
# END FALCON with HDF5
##
# Configuration XMAP
#
xmap:
description: XMAP detector x-ray fluoresence
deviceClass: phoenix_bec.devices.phoenix_xmap.XMAPPhoenix
deviceConfig:
prefix: 'X07MB-XMAP:'
deviceTags:
- phoenix
- xmap
- phoenix_bec/device_configs/phoenix_xmap.yaml
- class XMAPPhoenix
- file phoenix_xmap
onFailure: buffer
enabled: true
readoutPriority: async
softwareTrigger: false softwareTrigger: false

View File

@ -1,6 +1,6 @@
PH_TTL: PH_TTL:
description: PHOENIX TTL trigger description: PHOENIX TTL TRIGGER
deviceClass: phoenix_bec.devices.phoenix_trigger.PhoenixTrigger deviceClass: phoenix_bec.devices.phoenix_trigger.PhoenixTrigger
deviceConfig: deviceConfig:
prefix: 'X07MB-OP2:' prefix: 'X07MB-OP2:'
@ -47,7 +47,7 @@ PH_Dummy:
# #
############################ ############################
ScanX: MA1_ScanX:
readoutPriority: baseline readoutPriority: baseline
description: 'Vertical sample position ES-MA1.ScanX' description: 'Vertical sample position ES-MA1.ScanX'
deviceClass: ophyd.EpicsMotor deviceClass: ophyd.EpicsMotor
@ -58,10 +58,10 @@ ScanX:
- phoenix_devices.yaml - phoenix_devices.yaml
- class EpicsMotor - class EpicsMotor
onFailure: retry onFailure: retry
enabled: true enabled: false
readOnly: false readOnly: false
ScanY: MA1_ScanY:
readoutPriority: baseline readoutPriority: baseline
description: 'Horizontal sample position ES-MA1.ScanY' description: 'Horizontal sample position ES-MA1.ScanY'
deviceClass: ophyd.EpicsMotor deviceClass: ophyd.EpicsMotor
@ -72,15 +72,163 @@ ScanY:
- phoenix_devices.yaml - phoenix_devices.yaml
- class EpicsMotor - class EpicsMotor
onFailure: retry onFailure: retry
enabled: true enabled: false
readOnly: false readOnly: false
softwareTrigger: false softwareTrigger: false
MA1_ROT:
readoutPriority: baseline
description: 'Horizontal sample position ES-MA1.ROT'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:ROT'
deviceTags:
- ES-MA1.ROT
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
MA1_TRZ1:
readoutPriority: baseline
description: 'position ES-MA1.ROT'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:TRZ1'
deviceTags:
- ES-MA1.TRZ1
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
MA1_TRX1:
readoutPriority: baseline
description: 'position ES-MA1.TRX1'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:TRX1'
deviceTags:
- ES-MA1.TRX1
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false
#
# #
# #
# DIODES from ES1 ADC # DIODES from ES1 ADC
# #
# #
SAI_01_MEAN:
readoutPriority: monitored
description: DIODE SAI01
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_01:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_02_MEAN:
readoutPriority: monitored
description: DIODE SAI02
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_02:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_03_MEAN:
readoutPriority: monitored
description: DIODE SAI03
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_03:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_04_MEAN:
readoutPriority: monitored
description: DIODE SAI04
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_04:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_05_MEAN:
readoutPriority: monitored
description: DIODE SAI05
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_05:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_06_MEAN:
readoutPriority: monitored
description: DIODE SAI06
deviceClass: ophyd.EpicsSignalRO
deviceConfig:
auto_monitor: true
read_pv: 'X07MB-OP2-SAI_06:MEAN'
deviceTags:
- PHOENIX
- phoenix_devices.yaml
- class EpicsSignalRO
onFailure: buffer
enabled: true
readOnly: true
softwareTrigger: false
SAI_07_MEAN: SAI_07_MEAN:
readoutPriority: monitored readoutPriority: monitored
description: DIODE SAI07 description: DIODE SAI07
@ -116,3 +264,19 @@ SAI_08_MEAN:
# #
# END OF STANDARD CONFIG # END OF STANDARD CONFIG
# #
MA1_TRZ1:
readoutPriority: baseline
description: 'Horizontal sample position ES-MA1.ROT'
deviceClass: ophyd.EpicsMotor
deviceConfig:
prefix: 'X07MB-ES-MA1:TRZ1'
deviceTags:
- ES-MA1.TRZ1
- phoenix_devices.yaml
- class EpicsMotor
onFailure: retry
enabled: false
readOnly: false
softwareTrigger: false

View File

@ -0,0 +1,165 @@
"""
Base classes for XIA xMAP and FalconX dxp system.
Falcon interfaces with the dxpSITORO epics driver, https://github.com/epics-modules/dxpSITORO.
xMAP interfaces with the dxp epics driver, https://github.com/epics-modules/dxp.
An example usage for a 4-element FalconX system. ::
from ophyd import Component as Cpt
from ophyd_devices.devices.dxp import Falcon, EpicsMCARecord, EpicsDXPFalcon
from ophyd_devices.devices.areadetector.plugins import HDF5Plugin_V35 as HDF5Plugin
class FalconX4(Falcon):
# DXP parameters
dxp1 = Cpt(EpicsDXPFalcon, "dxp1:")
dxp2 = Cpt(EpicsDXPFalcon, "dxp2:")
dxp3 = Cpt(EpicsDXPFalcon, "dxp3:")
dxp4 = Cpt(EpicsDXPFalcon, "dxp4:")
# MCA record with spectrum data
mca1 = Cpt(EpicsMCARecord, "mca1")
mca2 = Cpt(EpicsMCARecord, "mca2")
mca3 = Cpt(EpicsMCARecord, "mca3")
mca4 = Cpt(EpicsMCARecord, "mca4")
# optionally with a HDF5 writer plugin
hdf = Cpt(HDF5Plugin, "HDF1:")
falcon = FalconX4("X07MB-SITORO:", name="falcon")
falcon.collect_mode.put(0) # 0: MCA spectra, 1: MCA mapping
falcon.preset_mode.put("Real time")
falcon.preset_real_time.put(1)
status = falcon.erase_start.set(1)
status.wait()
falcon.mca1.spectrum.get()
"""
from ophyd import Component as Cpt
from ophyd import Kind, EpicsSignal, EpicsSignalRO, Device
from ophyd.mca import EpicsMCARecord as _EpicsMCARecord, EpicsDXPBaseSystem, EpicsDXPMultiElementSystem, EpicsDXPMapping
from ophyd.areadetector import EpicsSignalWithRBV
__all__ = (
'EpicsMCARecord',
'EpicsDXPFalcon',
'Falcon',
'xMAP'
)
class EpicsMCARecord(_EpicsMCARecord):
"""EpicsMCARecord with addtional fields"""
calo = Cpt(EpicsSignal, ".CALO")
cals = Cpt(EpicsSignal, ".CALS")
calq = Cpt(EpicsSignal, ".CALQ")
tth = Cpt(EpicsSignal, ".TTH")
class EpicsDXPFalcon(Device):
"""All high-level DXP parameters for each channel"""
# Detection
detection_filter = Cpt(EpicsSignalWithRBV, "DetectionFilter")
detection_threshold = Cpt(EpicsSignalWithRBV, "DetectionThreshold")
min_pulse_pair_separation = Cpt(EpicsSignalWithRBV, "MinPulsePairSeparation")
# Pre-amp and energe range
detector_polarity = Cpt(EpicsSignalWithRBV, "DetectorPolarity")
decay_time = Cpt(EpicsSignalWithRBV, "DecayTime")
risetime_optimization = Cpt(EpicsSignalWithRBV, "RisetimeOptimization")
scale_factor = Cpt(EpicsSignalWithRBV, "ScaleFactor")
# Presets
preset_events = Cpt(EpicsSignalWithRBV, "PresetEvents")
preset_mode = Cpt(EpicsSignalWithRBV, "PresetMode", string=True)
preset_triggers = Cpt(EpicsSignalWithRBV, "PresetTriggers")
preset_real_time = Cpt(EpicsSignalWithRBV, "PresetReal")
# Couting statistics
elapsed_live_time = Cpt(EpicsSignalRO, "ElapsedLiveTime", lazy=True)
elapsed_real_time = Cpt(EpicsSignalRO, "ElapsedRealTime", lazy=True)
elapsed_trigger_live = Cpt(EpicsSignalRO, "ElapsedTriggerLiveTime", lazy=True)
triggers = Cpt(EpicsSignalRO, "Triggers", lazy=True)
events = Cpt(EpicsSignalRO, "Events", lazy=True)
input_count_rate = Cpt(EpicsSignalRO, "InputCountRate", lazy=True)
output_count_rate = Cpt(EpicsSignalRO, "OutputCountRate", lazy=True)
# Mapping
current_pixel = Cpt(EpicsSignal, "CurrentPixel")
# Diagnostic trace
trace_data = Cpt(EpicsSignal, "TraceData")
class EpicsDXPFalconMultiElementSystem(EpicsDXPBaseSystem):
# Preset control
preset_events = Cpt(EpicsSignal, "PresetEvents")
preset_real_time = Cpt(EpicsSignal, "PresetReal")
preset_mode = Cpt(EpicsSignal, "PresetMode", string=True)
preset_triggers = Cpt(EpicsSignal, "PresetTriggers")
# Acquisition control
erase_all = Cpt(EpicsSignal, "EraseAll")
erase_start = Cpt(EpicsSignal, "EraseStart", put_complete=True, trigger_value=1)
start_all = Cpt(EpicsSignal, "StartAll", put_complete=True, trigger_value=1)
stop_all = Cpt(EpicsSignal, "StopAll")
# Status
set_acquire_busy = Cpt(EpicsSignal, "SetAcquireBusy")
acquire_busy = Cpt(EpicsSignal, "AcquireBusy")
status_all = Cpt(EpicsSignal, "StatusAll")
status_all_once = Cpt(EpicsSignal, "StatusAllOnce")
acquiring = Cpt(EpicsSignal, "Acquiring")
# Reading
read_all = Cpt(EpicsSignal, "ReadAll", kind=Kind.omitted)
read_all_once = Cpt(EpicsSignal, "ReadAllOnce", kind=Kind.omitted)
# As a debugging note, if snl_connected is not '1', your IOC is
# misconfigured:
snl_connected = Cpt(EpicsSignal, "SNL_Connected")
# High-level parameters
copy_decay_time = Cpt(EpicsSignal, "CopyDecayTime", kind=Kind.omitted)
copy_detection_filter = Cpt(EpicsSignal, "CopyDetectionFilter", kind=Kind.omitted)
copy_detection_threshold = Cpt(EpicsSignal, "CopyDetectionThreshold", kind=Kind.omitted)
copy_detector_polarity = Cpt(EpicsSignal, "CopyDetectorPolarity", kind=Kind.omitted)
copy_min_pulse_pair_separation = Cpt(EpicsSignal, "CopyMinPulsePairSeparation", kind=Kind.omitted)
copt_risetime_optimization = Cpt(EpicsSignal, "CopyRisetimeOptimization", kind=Kind.omitted)
copy_scale_factor = Cpt(EpicsSignal, "CopyScaleFactor", kind=Kind.omitted)
read_traces = Cpt(EpicsSignal, "ReadTraces", kind=Kind.omitted)
# ROI and SCA
copy_roic_hannel = Cpt(EpicsSignal, "CopyROIChannel", kind=Kind.omitted)
copy_roie_nergy = Cpt(EpicsSignal, "CopyROIEnergy", kind=Kind.omitted)
copy_roi_sca = Cpt(EpicsSignal, "CopyROI_SCA", kind=Kind.omitted)
# do_* executes the process:
do_read_all = Cpt(EpicsSignal, "DoReadAll", kind=Kind.omitted)
do_status_all = Cpt(EpicsSignal, "DoStatusAll", kind=Kind.omitted)
do_read_traces = Cpt(EpicsSignal, "DoReadTraces", kind=Kind.omitted)
# Statistics
dead_time = Cpt(EpicsSignal, "DeadTime")
idead_time = Cpt(EpicsSignal, "IDeadTime")
max_elapsed_live = Cpt(EpicsSignal, "MaxElapsedLive")
max_elapsed_real = Cpt(EpicsSignal, "MaxElapsedReal")
max_elapsed_trigger_live = Cpt(EpicsSignal, "MaxElapsedTriggerLive")
max_triggers = Cpt(EpicsSignal, "MaxTriggers")
max_events = Cpt(EpicsSignal, "MaxEvents")
max_input_count_rate = Cpt(EpicsSignal, "MaxInputCountRate")
max_output_count_rate = Cpt(EpicsSignal, "MaxOutputCountRate")
class EpicsDxpFalconMapping(EpicsDXPMapping):
auto_apply = None
apply = None
nd_array_mode = Cpt(EpicsSignalWithRBV, "NDArrayMode")
class Falcon(EpicsDXPFalconMultiElementSystem, EpicsDxpFalconMapping):
...
class xMAP(EpicsDXPMultiElementSystem, EpicsDXPMapping):
# Override signals from EpicsDXPMultiElementSystem, so calling `set`` method
# returns a waitable Status object. Otherwise the Status object is immediately done.
erase_start = Cpt(EpicsSignal, "EraseStart", put_complete=True, trigger_value=1)
start_all = Cpt(EpicsSignal, "StartAll", put_complete=True, trigger_value=1)

View File

@ -57,7 +57,9 @@ from bec_lib.logger import bec_logger
from ophyd import Component as Cpt from ophyd import Component as Cpt
from ophyd import Device, EpicsSignal, EpicsSignalRO, EpicsSignalWithRBV from ophyd import Device, EpicsSignal, EpicsSignalRO, EpicsSignalWithRBV
from ophyd_devices.devices.dxp import Falcon, EpicsMCARecord, EpicsDXPFalcon #from ophyd_devices.devices.dxp import Falcon, EpicsMCARecord, EpicsDXPFalcon
from dxp import Falcon, EpicsMCARecord, EpicsDXPFalcon
from ophyd_devices.devices.areadetector.plugins import HDF5Plugin_V35 as HDF5Plugin# from ophyd_devices.devices.areadetector.plugins import HDF5Plugin_V35 as HDF5Plugin#
from ophyd_devices.interfaces.base_classes.psi_detector_base import ( from ophyd_devices.interfaces.base_classes.psi_detector_base import (
@ -170,7 +172,8 @@ class FalconSetup(CustomDetectorMixin):
# TODO Check if lazy open is needed and wanted! # TODO Check if lazy open is needed and wanted!
self.parent.hdf5.lazy_open.put(1) self.parent.hdf5.lazy_open.put(1)
self.parent.hdf5.temp_suffix.put("") self.parent.hdf5.temp_suffix.put("")
# size of queue for number of spectra allowed in the buffer, if too small at high throughput, data is lost # size of queue for number of spectra allowed in the buffer,
# if too small at high throughput, data is lost
self.parent.hdf5.queue_size.put(2000) self.parent.hdf5.queue_size.put(2000)
# Segmentation into Spectra within EPICS, 1 is activate, 0 is deactivate # Segmentation into Spectra within EPICS, 1 is activate, 0 is deactivate
self.parent.nd_array_mode.put(1) self.parent.nd_array_mode.put(1)

View File

@ -232,7 +232,6 @@ class PhoenixTrigger(PSIDetectorBase):
if __name__ == "__main__": if __name__ == "__main__":
# Test the PhoenixTrigger class # Test the PhoenixTrigger class
trigger = PhoenixTrigger(name="trigger", prefix="X07MB-OP2:") trigger = PhoenixTrigger(name="trigger", prefix="X07MB-OP2:")
trigger.wait_for_connection(all_signals=True) trigger.wait_for_connection(all_signals=True)
trigger.read() trigger.read()

View File

@ -18,7 +18,9 @@ from ophyd_devices.interfaces.base_classes.psi_detector_base import (
) )
from ophyd.mca import EpicsDXP from ophyd.mca import EpicsDXP
from ophyd_devices.devices.dxp import xMAP, EpicsMCARecord #from ophyd_devices.devices.dxp import xMAP, EpicsMCARecord
from dxp import xMAP, EpicsMCARecord
from ophyd_devices.devices.areadetector.plugins import HDF5Plugin_V35 as HDF5Plugin from ophyd_devices.devices.areadetector.plugins import HDF5Plugin_V35 as HDF5Plugin
logger = bec_logger.logger logger = bec_logger.logger