diff --git a/pxii_bec/device_configs/csvs/create_yaml.py b/pxii_bec/device_configs/csvs/create_yaml.py new file mode 100644 index 0000000..259d260 --- /dev/null +++ b/pxii_bec/device_configs/csvs/create_yaml.py @@ -0,0 +1,86 @@ +import csv, json, os, enum + + +def beamline_name(): + return { + "x06da": "pxiii", + "x06sa": "pxi", + "x10sa": "pxii", + }[os.environ["BEAMLINE"]] + +def str_to_bool(val): + return str(val).strip().lower() in ["yes", "true", "1"] + +def create(INPUT_CSV, OUTPUT_YAML): + with open(INPUT_CSV, newline="") as csvfile: + reader = csv.DictReader(csvfile) + + with open(OUTPUT_YAML, "w") as yamlfile: + for row in reader: + include = row["include"] + name = row["name"] + desc = row["description"] + device_class = row["deviceClass"] + pv = row["PV"] + readout_priority = row["readoutPriority"] + tag = row["tag"] + read_only = str_to_bool(row["readOnly"]) + user_param = row.get("userParameter", "").strip() + + if str(include).strip().lower() != "yes": + continue + + yamlfile.write(f"{name}:\n") + yamlfile.write(f" description: {desc}\n") + + if device_class == "Motor" or device_class == "MotorEC": + yamlfile.write(f" deviceClass: ophyd_devices.Epics{device_class}\n") + yamlfile.write(f" deviceConfig: {{prefix: '{pv}'}}\n") + else: + yamlfile.write(f" deviceClass: ophyd.Epics{device_class}\n") + yamlfile.write( + f" deviceConfig: {{read_pv: '{pv}', auto_monitor: true}}\n" + ) + + yamlfile.write(" onFailure: buffer\n") + yamlfile.write(" enabled: True\n") + yamlfile.write(f" readoutPriority: {readout_priority}\n") + yamlfile.write(" deviceTags:\n") + yamlfile.write(f" - {tag}\n") + yamlfile.write(f" readOnly: {read_only}\n") + yamlfile.write(" softwareTrigger: false\n") + + # Only add userParameter for Motors if present + # if device_class == "Motor" and user_param: + if user_param: + try: + parsed = json.loads(user_param) + yamlfile.write(" userParameter:\n") + for k, v in parsed.items(): + yamlfile.write(f" {k}: {v}\n") + except json.JSONDecodeError: + yamlfile.write(f" userParameter: {user_param}\n") + + yamlfile.write("\n") + + print(f"YAML written to {OUTPUT_YAML}") + +def main(): + + + devices = f"{beamline_name()}-standard-devices" + states = f"{beamline_name()}-state-devices" + + device_files = [ + f"{devices}.csv", + f"{devices}.yaml" + ] + state_files = [ + f"{states}.csv", + f"{states}.yaml" + ] + + create(device_files[0],device_files[1]) + # create(state_files[0],state_files[1]) + +main() diff --git a/pxii_bec/device_configs/csvs/device_config.yaml b/pxii_bec/device_configs/csvs/device_config.yaml new file mode 100644 index 0000000..7926fec --- /dev/null +++ b/pxii_bec/device_configs/csvs/device_config.yaml @@ -0,0 +1,792 @@ +sls_current: + description: SLS current + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - SLS + readOnly: true + softwareTrigger: false +ps1_press: + description: Photon shutter 1 pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-PSH1-VMCC-1010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +abs_press: + description: Absorber pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-VMCC-0000:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +lu_bpmsum: + description: LU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: true + softwareTrigger: false +ss_bpmsum: + description: SS BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM1:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: true + softwareTrigger: false +ps3_press: + description: Pumpstand 3 pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-PUM3-VMCC-2010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +bsf_press: + description: BSF pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-BSF-VMFR-0010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +bb1_press: + description: BB1 pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-BBU-VMFR-1010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +dcm_press: + description: DCM pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-DCM-VMFR-3010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +bb2_press: + description: BB2 pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-BBD-VMFR-4010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +lu_press: + description: LU pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LU-VMFR-5010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +ps2_press: + description: Photon shutter 2 pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-PSH1-VMFR-7010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +ss_press: + description: SS pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SS1-VMFR-0010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +kb_press: + description: KBV pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-KBV-VMFR-0010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +bcu_press: + description: BCU pressure + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCU-VMFR-0010:PRESSURE', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - press + readOnly: true + softwareTrigger: false +fe_sxr: + description: 'FE Slit X Ring' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_syt: + description: 'FE Slit Y top' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_sxw: + description: 'FE Slit X Wall' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_syb: + description: 'FE SlitY Bottom' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_sxcen: + description: 'FE Slit X Centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:CENTERX'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_sxsize: + description: 'FE Slit X Size' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:SIZEX'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_sycen: + description: 'FE Slit Y Centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:CENTERY'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +fe_sysize: + description: 'FE Slit Y Size' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-SLDI:SIZEY'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - fe + readOnly: false + softwareTrigger: false +s1_xw: + description: 'BSF slit outboard' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_xr: + description: 'BSF slit inboard' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_yt: + description: 'BSF slit top' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_yb: + description: 'BSF slit bottom' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_xcen: + description: 'BSF X centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_xsize: + description: 'BSF X size' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +s1_ycen: + description: 'BSF Y centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-SLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +opf1_y: + description: 'BSF Filter 1 Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-FI1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +opf2_y: + description: 'BSF Filter 2 Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-FI2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bsf + readOnly: false + softwareTrigger: false +dcm_bragg: + description: 'DCM Bragg angle' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - dcm + readOnly: false + softwareTrigger: false +dcm_x: + description: 'DCM lateral' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - dcm + readOnly: false + softwareTrigger: false +dcm_perp: + description: 'DCM Perp' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-C2'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - dcm + readOnly: false + softwareTrigger: false +dcm_pitch: + description: 'DCM 2nd crystal pitch' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-C2'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - dcm + readOnly: false + softwareTrigger: false +ssbpm_x: + description: 'SS BPM X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRX1'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +ssbpm_y: + description: 'SS BPM Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRY1'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_xw: + description: 'SS slit wall' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_xr: + description: 'SS slit ring' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_xcen: + description: 'SS slit X centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_xsize: + description: 'SS slit X size' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_yt: + description: 'SS slit top' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_yb: + description: 'SS slit bottom' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_ycen: + description: 'SS slit Y centre' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSV1:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +s2_ysize: + description: 'SS slit Y size' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSV1:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +xeye_x: + description: 'SS X-ray eye X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRX1'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +xeye_y: + description: 'SS X-ray eye Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRY1'} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: false + softwareTrigger: false +vfm_xu: + description: 'VFM Upstream X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_xd: + description: 'VFM Downstream X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_yur: + description: 'VFM Upstream Ring Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_yw: + description: 'VFM Wall Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_ydr: + description: 'VFM Downstream Ring Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_bu: + description: 'VFM Upstream Bender' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_bd: + description: 'VFM Downstream Bender' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_yaw: + description: 'VFM Virtual Yaw' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_roll: + description: 'VFM Virtual Roll' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_pitch: + description: 'VFM Virtual Pitch' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_lat: + description: 'VFM Virtual X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +vfm_vert: + description: 'VFM Virtual Y ' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - vfm + readOnly: false + softwareTrigger: false +hfm_xu: + description: 'HFM Upstream X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_xd: + description: 'HFM Downstream X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_yuw: + description: 'HFM Upstream Wall Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_yr: + description: 'HFM Ring Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_ydw: + description: 'HFM Downstream Wall Y' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_bu: + description: 'HFM Upstream Bender' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_bd: + description: 'HFM Downstream Bender' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_yaw: + description: 'HFM Virtual Yaw' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_roll: + description: 'HFM Virtual Roll' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_pitch: + description: 'HFM Virtual Pitch' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_lat: + description: 'HFM Virtual X' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false +hfm_vert: + description: 'HFM Virtual Y ' + deviceClass: ophyd.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'} + onFailure: buffer + enabled: False + readoutPriority: monitored + deviceTags: + - hfm + readOnly: false + softwareTrigger: false diff --git a/pxii_bec/device_configs/csvs/pxii-devices-new.csv b/pxii_bec/device_configs/csvs/pxii-devices-new.csv new file mode 100644 index 0000000..fb66ef9 --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-devices-new.csv @@ -0,0 +1,170 @@ +name,description,deviceClass,PV,readoutPriority,tag,readOnly,include,userParameter, +sls_current,SLS Current,SignalRO,ARS07-DPCT-0100:CURR,monitored,SLS,yes,yes,, +fe_bpm1,FE XBPM Channel 1,SignalRO,X10SA-FE-XBPM1:Current1:MeanValue_RBV,monitored,bpm,yes,yes,, +fe_bpm2,FE XBPM Channel 2,SignalRO,X10SA-FE-XBPM1:Current2:MeanValue_RBV,monitored,bpm,yes,yes,, +fe_bpm3,FE XBPM Channel 3,SignalRO,X10SA-FE-XBPM1:Current3:MeanValue_RBV,monitored,bpm,yes,yes,, +fe_bpm4,FE XBPM Channel 4,SignalRO,X10SA-FE-XBPM1:Current4:MeanValue_RBV,monitored,bpm,yes,yes,, +fe_bpmsum,FE XBPM Summed,SignalRO,X10SA-FE-XBPM1:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,, +fe_bpm_x,FE BPM X,Motor,X10SA-FE-XBPM1:TRX,baseline,fe,no,yes,, +fe_bpm_y,FE BPM Y,Motor,X10SA-FE-XBPM1:TRY,baseline,fe,no,yes,, +fe_sl_xr,FE Slit X Ring,MotorEC,X10SA-FE-SL1:TRXR,baseline,fe,no,yes,, +fe_sl_yt,FE Slit Y Top,MotorEC,X10SA-FE-SL1:TRYT,baseline,fe,no,yes,, +fe_sl_xw,FE Slit X Wall,MotorEC,X10SA-FE-SL1:TRXW,baseline,fe,no,yes,, +fe_sl_yb,FE Slit Y Bottom,MotorEC,X10SA-FE-SL1:TRYB,baseline,fe,no,yes,, +fe_sl_xcen,FE Slit X Centre,MotorEC,X10SA-FE-SL1:CENTERX,baseline,fe,no,yes,, +fe_sl_xsize,FE Slit X Size,MotorEC,X10SA-FE-SL1:SIZEX,baseline,fe,no,yes,, +fe_sl_ycen,FE Slit Y Centre,MotorEC,X10SA-FE-SL1:CENTERY,baseline,fe,no,yes,, +fe_sl_ysize,FE Slit Y Size,MotorEC,X10SA-FE-SL1:SIZEY,baseline,fe,no,yes,, +bsf_bpm1,BSF BPM Channel 1,SignalRO,X10SA-OP-BSFBPM:SIGNAL1,monitored,bpm,yes,no,, +bsf_bpm2,BSF BPM Channel 2,SignalRO,X10SA-OP-BSFBPM:SIGNAL2,monitored,bpm,yes,no,, +bsf_bpm3,BSF BPM Channel 3,SignalRO,X10SA-OP-BSFBPM:SIGNAL3,monitored,bpm,yes,no,, +bsf_bpm4,BSF BPM Channel 4,SignalRO,X10SA-OP-BSFBPM:SIGNAL4,monitored,bpm,yes,no,, +bsf_bpmsum,BSF BPM Summed,SignalRO,X10SA-OP-BSFBPM:SUM,monitored,bpm,yes,no,, +bsf_sl_xw,BSF Slit Wall,MotorEC,X10SA-OP-BSFSLH:TRXW,baseline,bsf,no,yes,, +bsf_sl_xr,BSF Slit Ring,MotorEC,X10SA-OP-BSFSLH:TRXR,baseline,bsf,no,yes,, +bsf_sl_yt,BSF Slit Top,MotorEC,X10SA-OP-BSFSLV:TRYT,baseline,bsf,no,yes,, +bsf_sl_yb,BSF Slit Bottom,MotorEC,X10SA-OP-BSFSLV:TRYB,baseline,bsf,no,yes,, +bsf_sl_xcen,BSF X Centre,MotorEC,X10SA-OP-BSFSLH:CENTER,baseline,bsf,no,yes,, +bsf_sl_xsize,BSF X Size,MotorEC,X10SA-OP-BSFSLH:SIZE,baseline,bsf,no,yes,, +bsf_sl_ycen,BSF Y Centre,MotorEC,X10SA-OP-BSFSLV:CENTER,baseline,bsf,no,yes,, +bsf_sl_ysize,BSF Y Size,MotorEC,X10SA-OP-BSFSLV:SIZE,baseline,bsf,no,yes,, +bsf_f1_y,BSF Filter 1 Y,MotorEC,X10SA-OP-BSFFI1:TRY,baseline,bsf,no,yes,, +bsf_f2_y,BSF Filter 2 Y,MotorEC,X10SA-OP-BSFFI2:TRY,baseline,bsf,no,yes,, +dcm_bragg,DCM Bragg Angle,MotorEC,X10SA-OP-DCM:ROTY,baseline,dcm,no,yes,, +dcm_x,DCM Lateral,MotorEC,X10SA-OP-DCM:TRX,baseline,dcm,no,yes,, +dcm_perp,DCM Perpendicular,MotorEC,X10SA-OP-DCM:TRX-CR2,baseline,dcm,no,yes,, +dcm_pitch,DCM 2nd Crystal Pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-PITCH,baseline,dcm,no,yes,, +dcm_fpitch,DCM 2nd Crystal Fine Pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-FINEPITCH,baseline,dcm,no,yes,, +dcm_froll,DCM 2nd Crystal Fine roll,MotorEC,X10SA-OP-DCM:ROTZ-CR2-FINEROLL,baseline,dcm,no,yes,, +lu_bpm1,LU BPM Channel 1,SignalRO,X10SA-OP-LUBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,, +lu_bpm2,LU BPM Channel 2,SignalRO,X10SA-OP-LUBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,, +lu_bpm3,LU BPM Channel 3,SignalRO,X10SA-OP-LUBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,, +lu_bpm4,LU BPM Channel 4,SignalRO,X10SA-OP-LUBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,, +lu_bpmsum,LU BPM Summed,SignalRO,X10SA-OP-LUBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,, +lu_bpm_x,BPM2 X ,Motor,X10SA-OP-LUBPM:TRX,baseline,lu,no,yes,, +lu_bpm_y,BPM2 Y ,Motor,X10SA-OP-LUBPM:TRY,baseline,lu,no,yes,, +lu_z1,Lens Z1 ,Motor,X10SA-OP-LUTRZ1:TRZ,baseline,lu,no,yes,, +lu_z2,Lens Z2 ,Motor,X10SA-OP-LUTRZ2:TRZ,baseline,lu,no,yes,, +lu_pod1_x,SmarPod1 X,Motor,X10SA-OP-LUPOD1:TRX1,baseline,lu,no,no,, +lu_lens1_x2,Lenses1 X,Motor,X10SA-OP-LUPOD1:TRX2,baseline,lu,no,no,, +lu_pod1_y,SmarPod1 Y,Motor,X10SA-OP-LUPOD1:TRY,baseline,lu,no,yes,, +lu_pod1_z,SmarPod1 Z,Motor,X10SA-OP-LUPOD1:TRZ,baseline,lu,no,yes,, +lu_pod1_rotx,SmarPod1 RX,Motor,X10SA-OP-LUPOD1:ROTX,baseline,lu,no,yes,, +lu_pod1_roty,SmarPod1 RY,Motor,X10SA-OP-LUPOD1:ROTY,baseline,lu,no,yes,, +lu_pod1_rotz,SmarPod1 RZ,Motor,X10SA-OP-LUPOD1:ROTZ,baseline,lu,no,yes,, +lu_pod2_x,SmarPod2 X,Motor,X10SA-OP-LUPOD2:TRX1,baseline,lu,no,no,, +lu_lens2_x2,Lenses2 X,Motor,X10SA-OP-LUPOD2:TRX2,baseline,lu,no,no,, +lu_pod2_y,SmarPod2 Y,Motor,X10SA-OP-LUPOD2:TRY,baseline,lu,no,yes,, +lu_pod2_z,SmarPod2 Z,Motor,X10SA-OP-LUPOD2:TRZ,baseline,lu,no,yes,, +lu_pod2_rotx,SmarPod2 RX,Motor,X10SA-OP-LUPOD2:ROTX,baseline,lu,no,yes,, +lu_pod2_roty,SmarPod2 RY,Motor,X10SA-OP-LUPOD2:ROTY,baseline,lu,no,yes,, +lu_pod2_rotz,SmarPod2 RZ,Motor,X10SA-OP-LUPOD2:ROTZ,baseline,lu,no,yes,, +ss_bpm1,SS BPM Channel 1,SignalRO,X10SA-ES-SSBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm2,SS BPM Channel 2,SignalRO,X10SA-ES-SSBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm3,SS BPM Channel 3,SignalRO,X10SA-ES-SSBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm4,SS BPM Channel 4,SignalRO,X10SA-ES-SSBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpmsum,SS BPM Summed,SignalRO,X10SA-ES-SSBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm_x,SS BPM X,Motor,X10SA-ES-SSBPM:TRX,baseline,ss,no,yes,, +ss_bpm_y,SS BPM Y,Motor,X10SA-ES-SSBPM:TRY,baseline,ss,no,yes,, +ss_f1_x,SS Filter 1 X,Motor,X10SA-ES-SSFI1:TRX,baseline,ss,no,yes,, +ss_f2_x,SS Filter 2 X,Motor,X10SA-ES-SSFI2:TRX,baseline,ss,no,yes,, +ss_f3_x,SS Filter 2 X,Motor,X10SA-ES-SSFI3:TRX,baseline,ss,no,yes,, +ss_f4_x,SS Filter 4 X,Motor,X10SA-ES-SSFI4:TRX,baseline,ss,no,yes,, +ss_sl_xw,SS Slit Wall,Motor,X10SA-ES-SSSLH:TRXW,baseline,ss,no,yes,, +ss_sl_xr,SS Slit Ring,Motor,X10SA-ES-SSSLH:TRXR,baseline,ss,no,yes,, +ss_sl_xcen,SS Slit X Centre,Motor,X10SA-ES-SSSLH:CENTER,baseline,ss,no,yes,, +ss_sl_xsize,SS Slit X Size,Motor,X10SA-ES-SSSLH:SIZE,baseline,ss,no,yes,, +ss_sl_yt,SS Slit Top,Motor,X10SA-ES-SSSLV:TRYT,baseline,ss,no,yes,, +ss_sl_yb,SS Slit Bottom,Motor,X10SA-ES-SSSLV:TRYB,baseline,ss,no,yes,, +ss_sl_ycen,SS Slit Y Centre,Motor,X10SA-ES-SSSLV:CENTER,baseline,ss,no,yes,, +ss_sl_ysize,SS Slit Y Size,Motor,X10SA-ES-SSSLV:SIZE,baseline,ss,no,yes,, +ss_xi_x,SS X-ray eye X,Motor,X10SA-ES-SSXI:TRX,baseline,ss,no,yes,"{""type"": multi-position,""in"": 7.5, ""out"": -2.1}", +ss_xi_y,SS X-ray eye Y,Motor,X10SA-ES-SSXI:TRY,baseline,ss,no,yes,, +ss_xicam_x,SS Camera X,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidX_RBV,baseline,ss,yes,no,, +ss_xicam_y,SS Camera Y,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidY_RBV,baseline,ss,yes,no,, +ss_xicam_max,SS Cam Max,SignalRO,X10SA-ES-SSXI:cam1:Stats5:MaxValue_RBV,monitored,ss,yes,no,, +ss_xicam_exp,SS Camera Exposure,Signal,X10SA-ES-SSXI:cam1:AcquireTime,baseline,ss,no,no,, +ss_xicam_gain,SS Camera Gain,Signal,X10SA-ES-SSXI:cam1:cam1:Gain,baseline,ss,no,no,, +ss_xicam_xsig,SS Camera X Sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaX_RBV,baseline,ss,yes,no,, +ss_xicam_ysig,SS Camera Y Sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaY_RBV,baseline,ss,yes,no,, +vfm_xu,VFM Upstream X,MotorEC,X10SA-ES-VFM:TRXU,baseline,vfm,no,yes,, +vfm_xd,VFM Downstream X,MotorEC,X10SA-ES-VFM:TRXD,baseline,vfm,no,yes,, +vfm_yur,VFM Upstream Ring Y,MotorEC,X10SA-ES-VFM:TRYUR,baseline,vfm,no,yes,, +vfm_yw,VFM Wall Y,MotorEC,X10SA-ES-VFM:TRYW,baseline,vfm,no,yes,, +vfm_ydr,VFM Downstream Ring Y,MotorEC,X10SA-ES-VFM:TRYDR,baseline,vfm,no,yes,, +vfm_bu,VFM Upstream Bender,MotorEC,X10SA-ES-VFM:BNDU,baseline,vfm,no,yes,, +vfm_bd,VFM Downstream Bender,MotorEC,X10SA-ES-VFM:BNDD,baseline,vfm,no,yes,, +vfm_yaw,VFM Virtual Yaw,MotorEC,X10SA-ES-VFM:YAW,baseline,vfm,no,yes,, +vfm_roll,VFM Virtual Roll,MotorEC,X10SA-ES-VFM:ROLL,baseline,vfm,no,yes,, +vfm_pitch,VFM Virtual Pitch,MotorEC,X10SA-ES-VFM:PITCH,baseline,vfm,no,yes,, +vfm_x,VFM Virtual X,MotorEC,X10SA-ES-VFM:TRX,baseline,vfm,no,yes,, +vfm_y,VFM Virtual Y ,MotorEC,X10SA-ES-VFM:TRY,baseline,vfm,no,yes,, +hfm_xu,HFM Upstream X,MotorEC,X10SA-ES-HFM:TRXU,baseline,hfm,no,yes,, +hfm_xd,HFM Downstream X,MotorEC,X10SA-ES-HFM:TRXD,baseline,hfm,no,yes,, +hfm_yuw,HFM Upstream Wall Y,MotorEC,X10SA-ES-HFM:TRYUW,baseline,hfm,no,yes,, +hfm_yr,HFM Ring Y,MotorEC,X10SA-ES-HFM:TRYR,baseline,hfm,no,yes,, +hfm_ydw,HFM Downstream Wall Y,MotorEC,X10SA-ES-HFM:TRYDW,baseline,hfm,no,yes,, +hfm_bu,HFM Upstream Bender,MotorEC,X10SA-ES-HFM:BNDU,baseline,hfm,no,yes,, +hfm_bd,HFM Downstream Bender,MotorEC,X10SA-ES-HFM:BNDD,baseline,hfm,no,yes,, +hfm_yaw,HFM Virtual Yaw,MotorEC,X10SA-ES-HFM:YAW,baseline,hfm,no,yes,, +hfm_roll,HFM Virtual Roll,MotorEC,X10SA-ES-HFM:ROLL,baseline,hfm,no,yes,, +hfm_pitch,HFM Virtual Pitch,MotorEC,X10SA-ES-HFM:PITCH,baseline,hfm,no,yes,, +hfm_x,HFM Virtual X,MotorEC,X10SA-ES-HFM:TRX,baseline,hfm,no,yes,, +hfm_y,HFM Virtual Y ,MotorEC,X10SA-ES-HFM:TRY,baseline,hfm,no,yes,, +bcu_bpm1,BCU BPM Channel 1 ,SignalRO,X10SA-ES-BCBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,, +bcu_bpm2,BCU BPM Channel 2,SignalRO,X10SA-ES-BCBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,, +bcu_bpm3,BCU BPM Channel 3,SignalRO,X10SA-ES-BCBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,, +bcu_bpm4,BCU BPM Channel 4,SignalRO,X10SA-ES-BCBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,, +bcu_bpmsum,BCU BPM Summed,SignalRO,X10SA-ES-BCBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,, +bcu_bpm_x,BCU BPM X,Motor,X10SA-ES-BCBPM:TRX,baseline,bcu,no,yes,, +bcu_bpm_y,BCU BPM Y ,Motor,X10SA-ES-BCBPM:TRY,baseline,bcu,no,yes,, +bcu_sl_xw,BCU Slit Wall,Motor,X10SA-ES-BCSLH:TRXW,baseline,bcu,no,yes,, +bcu_sl_xr,BCU Slit Ring,Motor,X10SA-ES-BCSLH:TRXR,baseline,bcu,no,yes,, +bcu_sl_xcen,BCU Slit X Centre,Motor,X10SA-ES-BCSLH:CENTER,baseline,bcu,no,yes,, +bcu_sl_xsize,BCU Slit X Size,Motor,X10SA-ES-BCSLH:SIZE,baseline,bcu,no,yes,, +bcu_sl_yt,BCU Slit Top,Motor,X10SA-ES-BCSLV:TRYT,baseline,bcu,no,yes,, +bcu_sl_yb,BCU Slit Bottom,Motor,X10SA-ES-BCSLV:TRYB,baseline,bcu,no,yes,, +bcu_sl_ycen,BCU Slit Y Centre,Motor,X10SA-ES-BCSLV:CENTER,baseline,bcu,no,yes,, +bcu_sl_ysize,BCU Slit Y Size,Motor,X10SA-ES-BCSLV:SIZE,baseline,bcu,no,yes,, +xrf_pos,XRF Positioner,Signal,X10SA-ES-XRF:POS-SET,baseline,se,no,no,"{""type"":positioner}", +samcam_x,Sample Camera X ,SignalRO,X10SA-ES-MS:Stats5:CentroidX_RBV,baseline,scam,yes,yes,, +samcam_xsig,Sample Camera X Sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaX_RBV,monitored,scam,yes,yes,, +samcam_y,Sample Camera Y ,SignalRO,X10SA-ES-MS:Stats5:CentroidY_RBV,baseline,scam,yes,yes,, +samcam_ysig,Sample Camera Y Sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaY_RBV,monitored,scam,yes,yes,, +samcam_max,Sample Camera Max ,SignalRO,X10SA-ES-MS:Stats5:MaxValue_RBV,monitored,scam,yes,yes,, +samcam_exp,Sample Camera Exposure,Signal,X10SA-ES-MS:cam1:AcquireTime,baseline,scam,no,yes,, +samcam_gain,Sample Camera Gain,Signal,X10SA-ES-MS:cam1:Gain,baseline,scam,no,yes,, +scam_zoom,Sample Camera Zoom,Motor,X10SA-ES-MS:ZOOM,baseline,scam,no,yes,, +fl_bright,Frontlight Brightness,Signal,X10SA-ES-FL:SET,baseline,se,no,no,, +coll_x,Collimator X,Motor,X10SA-ES-COL:TRX,baseline,se,no,yes,, +coll_y,Collimator Y,Motor,X10SA-ES-COL:TRY,baseline,se,no,no,"{""type"": multi-position, ""in"": 41.5, ""out"": 20.0, ""park"": 0,""tol"":0.05}", +diag_y,Scintillator/diode Y,Motor,X10SA-ES-SCL:TRY,baseline,se,no,no,"{""type"": multi-position, ""scint"": 38.62, ""i1"": 44.0, ""out"": 20.0,""park"": 0,""tol"":0.3}", +diag_z,Scintillator/diode Z,Motor,X10SA-ES-SCL:TRZ,baseline,se,no,yes,, +i1,I1 Diode,SignalRO,X10SA-ES-SCLDI:READOUT,monitored,bpm,yes,yes,, +bl_pos,Backlight Positioner,Signal,X10SA-ES-BL:POS-SET,baseline,se,no,no,"{""type"":positioner}", +bl_bright,Backlight Brightness,Signal,X10SA-ES-BL:SET,baseline,se,no,no,, +bs_x,Beamstop X,Motor,X10SA-ES-BS:TRX,baseline,se,no,yes,, +bs_y,Beamstop Y,Motor,X10SA-ES-BS:TRY,baseline,se,no,yes,, +bs_z,Beamstop Z,Motor,X10SA-ES-BS:TRZ,baseline,se,no,no,"{""type"": guarded, ""min"": 13, ""samp"": 15, ""work_min"": 20, ""safe"": 41, ""max_blin"": 42, ""max_blout"": 70}", +bs_pos,Beamstop Positioner,Signal,X10SA-ES-BS:POS-SET,baseline,se,no,no,"{""type"":positioner}", +gon_x,Goniometer X,Motor,X10SA-ES-DF1:TRX1,baseline,det,no,no,"{""type"": guarded, ""in"": 18.0, ""out"": -10.0, ""safe"": -100,""tol"":0.5}", +gon_y,Goniometer Y,Motor,X10SA-ES-DF1:TRY1,baseline,det,no,yes,, +gon_z,Goniometer X,Motor,X10SA-ES-DF1:TRZ1,baseline,det,no,yes,, +omega,Omega,Motor,X10SA-ES-DF1:ROTU,baseline,det,no,yes,, +cryo_pos,Cryo positioner,Signal,X10SA-ES-CS:POS-SET,baseline,se,no,no,"{""type"":positioner}", +cryo_x,Cryo X ,Motor,X10SA-ES-CS:TRX,baseline,se,no,yes,, +cryo_temp,Cryo Temperature,Signal,X10SA-ES-CS:TEMP_RBV,baseline,se,yes,yes,, +det_xi_focus,X-ray Eye 2 Focus,Motor,X10SA-ES-XEYE:FOCUS,baseline,det,no,yes,, +det_xi_zoom,X-ray Eye 2 Zoom,Motor,X10SA-ES-XEYE:ZOOM,baseline,det,no,yes,, +det_xi_x,X-ray Eye X,Motor,X10SA-ES-XEYE:TRX,baseline,det,no,yes,, +i2,I2 Diode,SignalRO,X10SA-ES-XEYEDI:READOUT,monitored,bpm,yes,yes,, +det_xicam_x,Det Camera X ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV,baseline,scam,yes,no,, +det_xicam_xsig,Det Camera X Sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV,monitored,scam,yes,no,, +det_xicam_y,Det Camera Y ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV,baseline,scam,yes,no,, +det_xicam_ysig,Det Camera Y Sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV,monitored,scam,yes,no,, +det_xicam_max,Det Camera Max,SignalRO,X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV,monitored,scam,yes,no,, +det_xicam_exp,Det Camera Exposure,Signal,X10SA-ES-XEYE:cam1:cam1:AcquireTime,baseline,scam,no,no,, +det_xicam_gain,Det Camera Gain,Signal,X10SA-ES-XEYE:cam1:cam1:Gain,baseline,Sigma,no,no,, +det_cov,Detector Cover,Signal,X10SA-ES-DETCOV:SET,baseline,det,no,no,"{""type"":positioner}", +det_y,Detector Y,Motor,X10SA-ES-DET:TRY,baseline,det,no,yes,, +det_z,Detector Z,Motor,X10SA-ES-DET:TRZ,baseline,det,no,yes,, diff --git a/pxii_bec/device_configs/csvs/pxii-rest-devices.yaml b/pxii_bec/device_configs/csvs/pxii-rest-devices.yaml new file mode 100644 index 0000000..242ebbc --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-rest-devices.yaml @@ -0,0 +1,18 @@ +aerotech_x: + userParameter: {"type": continuous, "in": 0.0, "out": -10.0, "safe": -50, "tol": 0.5} +aerotech_y: + userParameter: {"type": continuous, "mount": -0.759, "work": -0.759, "tol": 0.002} +aerotech_z: + userParameter: {"type": continuous, "mount": 0.0, "work": 0.02, "tol": 0.01} +aerotech_u: + userParameter: {"type": continuous, "mount": 0.0} +smargon_x: + userParameter: {"type": continuous, "mount": 0.0} +smargon_y: + userParameter: {"type": continuous, "mount": 0.0} +smargon_z: + userParameter: {"type": continuous, "mount": 18.0} +smargon_chi: + userParameter: {"type": continuous, "mount": 0.0} +smargon_phi: + userParameter: {"type": continuous, "mount": 0.0} diff --git a/pxii_bec/device_configs/csvs/pxii-standard-devices.csv b/pxii_bec/device_configs/csvs/pxii-standard-devices.csv new file mode 100644 index 0000000..68d614c --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-standard-devices.csv @@ -0,0 +1,160 @@ +"name","description","deviceClass","PV","readoutPriority","tag","readOnly","include","userParameter", +"sls_current","SLS Current","SignalRO","ARS07-DPCT-0100:CURR","monitored","SLS","yes","yes",, +"fe_bpm1","FE XBPM Channel 1","SignalRO","X10SA-FE-XBPM1:Current1:MeanValue_RBV","monitored","bpm","yes","yes",, +"fe_bpm2","FE XBPM Channel 2","SignalRO","X10SA-FE-XBPM1:Current2:MeanValue_RBV","monitored","bpm","yes","yes",, +"fe_bpm3","FE XBPM Channel 3","SignalRO","X10SA-FE-XBPM1:Current3:MeanValue_RBV","monitored","bpm","yes","yes",, +"fe_bpm4","FE XBPM Channel 4","SignalRO","X10SA-FE-XBPM1:Current4:MeanValue_RBV","monitored","bpm","yes","yes",, +"fe_bpmsum","FE XBPM Summed","SignalRO","X10SA-FE-XBPM1:SumAll:MeanValue_RBV","monitored","bpm","yes","yes",, +"fe_bpm_x","FE BPM X","Motor","X10SA-FE-XBPM1:TRX","baseline","fe","no","yes",, +"fe_bpm_y","FE BPM Y","Motor","X10SA-FE-XBPM1:TRY","baseline","fe","no","yes",, +"fe_sl_xr","FE Slit X Ring","MotorEC","X10SA-FE-SL1:TRXR","baseline","fe","no","yes",, +"fe_sl_yt","FE Slit Y Top","MotorEC","X10SA-FE-SL1:TRYT","baseline","fe","no","yes",, +"fe_sl_xw","FE Slit X Wall","MotorEC","X10SA-FE-SL1:TRXW","baseline","fe","no","yes",, +"fe_sl_yb","FE Slit Y Bottom","MotorEC","X10SA-FE-SL1:TRYB","baseline","fe","no","yes",, +"fe_sl_xcen","FE Slit X Centre","MotorEC","X10SA-FE-SL1:CENTERX","baseline","fe","no","yes",, +"fe_sl_xsize","FE Slit X Size","MotorEC","X10SA-FE-SL1:SIZEX","baseline","fe","no","yes",, +"fe_sl_ycen","FE Slit Y Centre","MotorEC","X10SA-FE-SL1:CENTERY","baseline","fe","no","yes",, +"fe_sl_ysize","FE Slit Y Size","MotorEC","X10SA-FE-SL1:SIZEY","baseline","fe","no","yes",, +"bsf_bpm1","BSF BPM Channel 1","SignalRO","X10SA-OP-BSFBPM:SIGNAL1","monitored","bpm","yes","no",, +"bsf_bpm2","BSF BPM Channel 2","SignalRO","X10SA-OP-BSFBPM:SIGNAL2","monitored","bpm","yes","no",, +"bsf_bpm3","BSF BPM Channel 3","SignalRO","X10SA-OP-BSFBPM:SIGNAL3","monitored","bpm","yes","no",, +"bsf_bpm4","BSF BPM Channel 4","SignalRO","X10SA-OP-BSFBPM:SIGNAL4","monitored","bpm","yes","no",, +"bsf_bpmsum","BSF BPM Summed","SignalRO","X10SA-OP-BSFBPM:SUM","monitored","bpm","yes","no",, +"bsf_sl_xw","BSF Slit Wall","MotorEC","X10SA-OP-BSFSLH:TRXW","baseline","bsf","no","yes",, +"bsf_sl_xr","BSF Slit Ring","MotorEC","X10SA-OP-BSFSLH:TRXR","baseline","bsf","no","yes",, +"bsf_sl_yt","BSF Slit Top","MotorEC","X10SA-OP-BSFSLV:TRYT","baseline","bsf","no","yes",, +"bsf_sl_yb","BSF Slit Bottom","MotorEC","X10SA-OP-BSFSLV:TRYB","baseline","bsf","no","yes",, +"bsf_sl_xcen","BSF X Centre","MotorEC","X10SA-OP-BSFSLH:CENTER","baseline","bsf","no","yes",, +"bsf_sl_xsize","BSF X Size","MotorEC","X10SA-OP-BSFSLH:SIZE","baseline","bsf","no","yes",, +"bsf_sl_ycen","BSF Y Centre","MotorEC","X10SA-OP-BSFSLV:CENTER","baseline","bsf","no","yes",, +"bsf_sl_ysize","BSF Y Size","MotorEC","X10SA-OP-BSFSLV:SIZE","baseline","bsf","no","yes",, +"bsf_f1_y","BSF Filter 1 Y","MotorEC","X10SA-OP-BSFFI1:TRY","baseline","bsf","no","yes",, +"bsf_f2_y","BSF Filter 2 Y","MotorEC","X10SA-OP-BSFFI2:TRY","baseline","bsf","no","yes",, +"dcm_bragg","DCM Bragg Angle","MotorEC","X10SA-OP-DCM:ROTY","baseline","dcm","no","yes",, +"dcm_x","DCM Lateral","MotorEC","X10SA-OP-DCM:TRX","baseline","dcm","no","yes",, +"dcm_perp","DCM Perpendicular","MotorEC","X10SA-OP-DCM:TRX-CR2","baseline","dcm","no","yes",, +"dcm_pitch","DCM 2nd Crystal Pitch","MotorEC","X10SA-OP-DCM:ROTY-CR2-PITCH","baseline","dcm","no","yes",, +"dcm_fpitch","DCM 2nd Crystal Fine Pitch","MotorEC","X10SA-OP-DCM:ROTY-CR2-FINEPITCH","baseline","dcm","no","yes",, +"dcm_froll","DCM 2nd Crystal Fine roll","MotorEC","X10SA-OP-DCM:ROTZ-CR2-FINEROLL","baseline","dcm","no","yes",, +"lu_bpm1","LU BPM Channel 1","SignalRO","X10SA-OP-LUBPM:Current1:MeanValue_RBV","monitored","bpm","yes","yes",, +"lu_bpm2","LU BPM Channel 2","SignalRO","X10SA-OP-LUBPM:Current2:MeanValue_RBV","monitored","bpm","yes","yes",, +"lu_bpm3","LU BPM Channel 3","SignalRO","X10SA-OP-LUBPM:Current3:MeanValue_RBV","monitored","bpm","yes","yes",, +"lu_bpm4","LU BPM Channel 4","SignalRO","X10SA-OP-LUBPM:Current4:MeanValue_RBV","monitored","bpm","yes","yes",, +"lu_bpmsum","LU BPM Summed","SignalRO","X10SA-OP-LUBPM:SumAll:MeanValue_RBV","monitored","bpm","yes","yes",, +"lu_bpm_x","BPM2 X ","Motor","X10SA-OP-LUBPM:TRX","baseline","lu","no","yes",, +"lu_bpm_y","BPM2 Y ","Motor","X10SA-OP-LUBPM:TRY","baseline","lu","no","yes",, +"lu_z1","Lens Z1 ","Motor","X10SA-OP-LUTRZ1:TRZ","baseline","lu","no","yes",, +"lu_z2","Lens Z2 ","Motor","X10SA-OP-LUTRZ2:TRZ","baseline","lu","no","yes",, +"lu_pod1_x","SmarPod1 X","Motor","X10SA-OP-LUPOD1:TRX1","baseline","lu","no","no",, +"lu_lens1_x2","Lenses1 X","Motor","X10SA-OP-LUPOD1:TRX2","baseline","lu","no","no",, +"lu_pod1_y","SmarPod1 Y","Motor","X10SA-OP-LUPOD1:TRY","baseline","lu","no","yes",, +"lu_pod1_z","SmarPod1 Z","Motor","X10SA-OP-LUPOD1:TRZ","baseline","lu","no","yes",, +"lu_pod1_rotx","SmarPod1 RX","Motor","X10SA-OP-LUPOD1:ROTX","baseline","lu","no","yes",, +"lu_pod1_roty","SmarPod1 RY","Motor","X10SA-OP-LUPOD1:ROTY","baseline","lu","no","yes",, +"lu_pod1_rotz","SmarPod1 RZ","Motor","X10SA-OP-LUPOD1:ROTZ","baseline","lu","no","yes",, +"lu_pod2_x","SmarPod2 X","Motor","X10SA-OP-LUPOD2:TRX1","baseline","lu","no","no",, +"lu_lens2_x2","Lenses2 X","Motor","X10SA-OP-LUPOD2:TRX2","baseline","lu","no","no",, +"lu_pod2_y","SmarPod2 Y","Motor","X10SA-OP-LUPOD2:TRY","baseline","lu","no","yes",, +"lu_pod2_z","SmarPod2 Z","Motor","X10SA-OP-LUPOD2:TRZ","baseline","lu","no","yes",, +"lu_pod2_rotx","SmarPod2 RX","Motor","X10SA-OP-LUPOD2:ROTX","baseline","lu","no","yes",, +"lu_pod2_roty","SmarPod2 RY","Motor","X10SA-OP-LUPOD2:ROTY","baseline","lu","no","yes",, +"lu_pod2_rotz","SmarPod2 RZ","Motor","X10SA-OP-LUPOD2:ROTZ","baseline","lu","no","yes",, +"ss_bpm1","SS BPM Channel 1","SignalRO","X10SA-ES-SSBPM:Current1:MeanValue_RBV","monitored","bpm","yes","yes",, +"ss_bpm2","SS BPM Channel 2","SignalRO","X10SA-ES-SSBPM:Current2:MeanValue_RBV","monitored","bpm","yes","yes",, +"ss_bpm3","SS BPM Channel 3","SignalRO","X10SA-ES-SSBPM:Current3:MeanValue_RBV","monitored","bpm","yes","yes",, +"ss_bpm4","SS BPM Channel 4","SignalRO","X10SA-ES-SSBPM:Current4:MeanValue_RBV","monitored","bpm","yes","yes",, +"ss_bpmsum","SS BPM Summed","SignalRO","X10SA-ES-SSBPM:SumAll:MeanValue_RBV","monitored","bpm","yes","yes",, +"ss_bpm_x","SS BPM X","Motor","X10SA-ES-SSBPM:TRX","baseline","ss","no","yes",, +"ss_bpm_y","SS BPM Y","Motor","X10SA-ES-SSBPM:TRY","baseline","ss","no","yes",, +"ss_f1_x","SS Filter 1 X","Motor","X10SA-ES-SSFI1:TRX","baseline","ss","no","yes",, +"ss_f2_x","SS Filter 2 X","Motor","X10SA-ES-SSFI2:TRX","baseline","ss","no","yes",, +"ss_f3_x","SS Filter 2 X","Motor","X10SA-ES-SSFI3:TRX","baseline","ss","no","yes",, +"ss_f4_x","SS Filter 4 X","Motor","X10SA-ES-SSFI4:TRX","baseline","ss","no","yes",, +"ss_sl_xw","SS Slit Wall","Motor","X10SA-ES-SSSLH:TRXW","baseline","ss","no","yes",, +"ss_sl_xr","SS Slit Ring","Motor","X10SA-ES-SSSLH:TRXR","baseline","ss","no","yes",, +"ss_sl_xcen","SS Slit X Centre","Motor","X10SA-ES-SSSLH:CENTER","baseline","ss","no","yes",, +"ss_sl_xsize","SS Slit X Size","Motor","X10SA-ES-SSSLH:SIZE","baseline","ss","no","yes",, +"ss_sl_yt","SS Slit Top","Motor","X10SA-ES-SSSLV:TRYT","baseline","ss","no","yes",, +"ss_sl_yb","SS Slit Bottom","Motor","X10SA-ES-SSSLV:TRYB","baseline","ss","no","yes",, +"ss_sl_ycen","SS Slit Y Centre","Motor","X10SA-ES-SSSLV:CENTER","baseline","ss","no","yes",, +"ss_sl_ysize","SS Slit Y Size","Motor","X10SA-ES-SSSLV:SIZE","baseline","ss","no","yes",, +"ss_xi_x","SS X-ray Eye X","Motor","X10SA-ES-SSXI:TRX","baseline","ss","no","yes","{""type"": multi-position,""in"": 7.5, ""out"": -2.1}", +"ss_xi_y","SS X-ray Eye Y","Motor","X10SA-ES-SSXI:TRY","baseline","ss","no","yes",, +"ss_xicam_x","SS Camera X","SignalRO","X10SA-ES-SSCAM:Stats5:CentroidX_RBV","baseline","ss","yes","yes",, +"ss_xicam_y","SS Camera Y","SignalRO","X10SA-ES-SSCAM:Stats5:CentroidY_RBV","baseline","ss","yes","yes",, +"ss_xicam_max","SS Cam Max","SignalRO","X10SA-ES-SSCAM:Stats5:MaxValue_RBV","monitored","ss","yes","yes",, +"ss_xicam_exp","SS Camera Exposure","Signal","X10SA-ES-SSCAM:cam1:AcquireTime","baseline","ss","no","yes",, +"ss_xicam_gain","SS Camera Gain","Signal","X10SA-ES-SSCAM:cam1:Gain","baseline","ss","no","yes",, +"ss_xicam_xsig","SS Camera X Sigma","Signal","X10SA-ES-SSCAM:Stats5:SigmaX_RBV","baseline","ss","yes","yes",, +"ss_xicam_ysig","SS Camera Y Sigma","Signal","X10SA-ES-SSCAM:Stats5:SigmaY_RBV","baseline","ss","yes","yes",, +"vfm_xu","VFM Upstream X","MotorEC","X10SA-ES-VFM:TRXU","baseline","vfm","no","yes",, +"vfm_xd","VFM Downstream X","MotorEC","X10SA-ES-VFM:TRXD","baseline","vfm","no","yes",, +"vfm_yur","VFM Upstream Ring Y","MotorEC","X10SA-ES-VFM:TRYUR","baseline","vfm","no","yes",, +"vfm_yw","VFM Wall Y","MotorEC","X10SA-ES-VFM:TRYW","baseline","vfm","no","yes",, +"vfm_ydr","VFM Downstream Ring Y","MotorEC","X10SA-ES-VFM:TRYDR","baseline","vfm","no","yes",, +"vfm_bu","VFM Upstream Bender","MotorEC","X10SA-ES-VFM:BNDU","baseline","vfm","no","yes",, +"vfm_bd","VFM Downstream Bender","MotorEC","X10SA-ES-VFM:BNDD","baseline","vfm","no","yes",, +"vfm_yaw","VFM Virtual Yaw","MotorEC","X10SA-ES-VFM:YAW","baseline","vfm","no","yes",, +"vfm_roll","VFM Virtual Roll","MotorEC","X10SA-ES-VFM:ROLL","baseline","vfm","no","yes",, +"vfm_pitch","VFM Virtual Pitch","MotorEC","X10SA-ES-VFM:PITCH","baseline","vfm","no","yes",, +"vfm_x","VFM Virtual X","MotorEC","X10SA-ES-VFM:TRX","baseline","vfm","no","yes",, +"vfm_y","VFM Virtual Y ","MotorEC","X10SA-ES-VFM:TRY","baseline","vfm","no","yes",, +"hfm_xu","HFM Upstream X","MotorEC","X10SA-ES-HFM:TRXU","baseline","hfm","no","yes",, +"hfm_xd","HFM Downstream X","MotorEC","X10SA-ES-HFM:TRXD","baseline","hfm","no","yes",, +"hfm_yuw","HFM Upstream Wall Y","MotorEC","X10SA-ES-HFM:TRYUW","baseline","hfm","no","yes",, +"hfm_yr","HFM Ring Y","MotorEC","X10SA-ES-HFM:TRYR","baseline","hfm","no","yes",, +"hfm_ydw","HFM Downstream Wall Y","MotorEC","X10SA-ES-HFM:TRYDW","baseline","hfm","no","yes",, +"hfm_bu","HFM Upstream Bender","MotorEC","X10SA-ES-HFM:BNDU","baseline","hfm","no","yes",, +"hfm_bd","HFM Downstream Bender","MotorEC","X10SA-ES-HFM:BNDD","baseline","hfm","no","yes",, +"hfm_yaw","HFM Virtual Yaw","MotorEC","X10SA-ES-HFM:YAW","baseline","hfm","no","yes",, +"hfm_roll","HFM Virtual Roll","MotorEC","X10SA-ES-HFM:ROLL","baseline","hfm","no","yes",, +"hfm_pitch","HFM Virtual Pitch","MotorEC","X10SA-ES-HFM:PITCH","baseline","hfm","no","yes",, +"hfm_x","HFM Virtual X","MotorEC","X10SA-ES-HFM:TRX","baseline","hfm","no","yes",, +"hfm_y","HFM Virtual Y ","MotorEC","X10SA-ES-HFM:TRY","baseline","hfm","no","yes",, +"bcu_bpm1","BCU BPM Channel 1 ","SignalRO","X10SA-ES-BCBPM:Current1:MeanValue_RBV","monitored","bpm","yes","yes",, +"bcu_bpm2","BCU BPM Channel 2","SignalRO","X10SA-ES-BCBPM:Current2:MeanValue_RBV","monitored","bpm","yes","yes",, +"bcu_bpm3","BCU BPM Channel 3","SignalRO","X10SA-ES-BCBPM:Current3:MeanValue_RBV","monitored","bpm","yes","yes",, +"bcu_bpm4","BCU BPM Channel 4","SignalRO","X10SA-ES-BCBPM:Current4:MeanValue_RBV","monitored","bpm","yes","yes",, +"bcu_bpmsum","BCU BPM Summed","SignalRO","X10SA-ES-BCBPM:SumAll:MeanValue_RBV","monitored","bpm","yes","yes",, +"bcu_bpm_x","BCU BPM X","Motor","X10SA-ES-BCBPM:TRX","baseline","bcu","no","yes",, +"bcu_bpm_y","BCU BPM Y ","Motor","X10SA-ES-BCBPM:TRY","baseline","bcu","no","yes",, +"bcu_sl_xw","BCU Slit Wall","Motor","X10SA-ES-BCSLH:TRXW","baseline","bcu","no","yes",, +"bcu_sl_xr","BCU Slit Ring","Motor","X10SA-ES-BCSLH:TRXR","baseline","bcu","no","yes",, +"bcu_sl_xcen","BCU Slit X Centre","Motor","X10SA-ES-BCSLH:CENTER","baseline","bcu","no","yes",, +"bcu_sl_xsize","BCU Slit X Size","Motor","X10SA-ES-BCSLH:SIZE","baseline","bcu","no","yes",, +"bcu_sl_yt","BCU Slit Top","Motor","X10SA-ES-BCSLV:TRYT","baseline","bcu","no","yes",, +"bcu_sl_yb","BCU Slit Bottom","Motor","X10SA-ES-BCSLV:TRYB","baseline","bcu","no","yes",, +"bcu_sl_ycen","BCU Slit Y Centre","Motor","X10SA-ES-BCSLV:CENTER","baseline","bcu","no","yes",, +"bcu_sl_ysize","BCU Slit Y Size","Motor","X10SA-ES-BCSLV:SIZE","baseline","bcu","no","yes",, +"samcam_x","Sample Camera X ","SignalRO","X10SA-ES-MS:Stats5:CentroidX_RBV","baseline","scam","yes","yes",, +"samcam_xsig","Sample Camera X Sigma","SignalRO","X10SA-ES-MS:Stats5:SigmaX_RBV","monitored","scam","yes","yes",, +"samcam_y","Sample Camera Y ","SignalRO","X10SA-ES-MS:Stats5:CentroidY_RBV","baseline","scam","yes","yes",, +"samcam_ysig","Sample Camera Y Sigma","SignalRO","X10SA-ES-MS:Stats5:SigmaY_RBV","monitored","scam","yes","yes",, +"samcam_max","Sample Camera Max ","SignalRO","X10SA-ES-MS:Stats5:MaxValue_RBV","monitored","scam","yes","yes",, +"samcam_exp","Sample Camera Exposure","Signal","X10SA-ES-MS:cam1:AcquireTime","baseline","scam","no","yes",, +"samcam_gain","Sample Camera Gain","Signal","X10SA-ES-MS:cam1:Gain","baseline","scam","no","yes",, +"scam_zoom","Sample Camera Zoom","Motor","X10SA-ES-MS:ZOOM","baseline","scam","no","yes",, +"fl_bright","Frontlight Brightness","Signal","X10SA-ES-FL:SET","baseline","se","no","no",, +"coll_x","Collimator X","Motor","X10SA-ES-COL:TRX","baseline","se","no","yes",," " +"diag_z","Scintillator/diode Z","Motor","X10SA-ES-SCL:TRZ","baseline","se","no","yes",, +"i1","I1 Diode","SignalRO","X10SA-ES-SCLDI:READOUT","monitored","bpm","yes","yes",, +"bs_x","Beamstop X","Motor","X10SA-ES-BS:TRX","baseline","se","no","yes","{""in"": 1.56}", +"bs_y","Beamstop Y","Motor","X10SA-ES-BS:TRY","baseline","se","no","yes","{""in"": 2.57}", +"mag_ok","Sample Sensor Check","SignalRO","X10SA-ES-DFS:CBOX-CMP1","baseline","se","yes","yes",, +"mag_rbv","Sample Sensor RBV","SignalRO","X10SA-ES-DFS:CBOX-USER1","baseline","se","yes","yes",, +"mag_ref","Sample Sensor Reference","SignalRO","X10SA-ES-DFS:CBOX-REFVAL1","baseline","se","yes","yes",, +"cryo_x","Cryo X ","Motor","X10SA-ES-CS:TRX","baseline","se","no","yes",, +"cryo_temp","Cryo Temperature","Signal","X10SA-ES-CS:TEMP_RBV","baseline","se","yes","yes",, +"det_xi_focus","X-ray Eye 2 Focus","Motor","X10SA-ES-XEYE:FOCUS","baseline","det","no","yes",, +"det_xi_zoom","X-ray Eye 2 Zoom","Motor","X10SA-ES-XEYE:ZOOM","baseline","det","no","yes",, +"det_xi_x","X-ray Eye X","Motor","X10SA-ES-XEYE:TRX","baseline","det","no","yes",, +"i2","I2 Diode","SignalRO","X10SA-ES-XEYEDI:READOUT","monitored","bpm","yes","yes",, +"det_xicam_x","Det Camera X ","SignalRO","X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV","baseline","scam","yes","no",, +"det_xicam_xsig","Det Camera X Sigma","SignalRO","X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV","monitored","scam","yes","no",, +"det_xicam_y","Det Camera Y ","SignalRO","X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV","baseline","scam","yes","no",, +"det_xicam_ysig","Det Camera Y Sigma","SignalRO","X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV","monitored","scam","yes","no",, +"det_xicam_max","Det Camera Max","SignalRO","X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV","monitored","scam","yes","no",, +"det_xicam_exp","Det Camera Exposure","Signal","X10SA-ES-XEYE:cam1:cam1:AcquireTime","baseline","scam","no","no",, +"det_xicam_gain","Det Camera Gain","Signal","X10SA-ES-XEYE:cam1:cam1:Gain","baseline","Sigma","no","no",, +"det_y","Detector Y","Motor","X10SA-ES-DET:TRY","baseline","det","no","yes",, +"det_z","Detector Z","Motor","X10SA-ES-DET:TRZ","baseline","det","no","yes",, diff --git a/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml b/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml new file mode 100644 index 0000000..ba3f565 --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml @@ -0,0 +1,1709 @@ +sls_current: + description: SLS Current + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - SLS + readOnly: True + softwareTrigger: false + +fe_bpm1: + description: FE XBPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm2: + description: FE XBPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm3: + description: FE XBPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm4: + description: FE XBPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpmsum: + description: FE XBPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm_x: + description: FE BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_bpm_y: + description: FE BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xr: + description: FE Slit X Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yt: + description: FE Slit Y Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xw: + description: FE Slit X Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yb: + description: FE Slit Y Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xcen: + description: FE Slit X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xsize: + description: FE Slit X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ycen: + description: FE Slit Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ysize: + description: FE Slit Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +bsf_sl_xw: + description: BSF Slit Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xr: + description: BSF Slit Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yt: + description: BSF Slit Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yb: + description: BSF Slit Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xcen: + description: BSF X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xsize: + description: BSF X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ycen: + description: BSF Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ysize: + description: BSF Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f1_y: + description: BSF Filter 1 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f2_y: + description: BSF Filter 2 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +dcm_bragg: + description: DCM Bragg Angle + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_x: + description: DCM Lateral + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_perp: + description: DCM Perpendicular + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-CR2'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_pitch: + description: DCM 2nd Crystal Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_fpitch: + description: DCM 2nd Crystal Fine Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-FINEPITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_froll: + description: DCM 2nd Crystal Fine roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTZ-CR2-FINEROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +lu_bpm1: + description: LU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm2: + description: LU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm3: + description: LU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm4: + description: LU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpmsum: + description: LU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm_x: + description: BPM2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_bpm_y: + description: BPM2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z1: + description: Lens Z1 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z2: + description: Lens Z2 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_y: + description: SmarPod1 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_z: + description: SmarPod1 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotx: + description: SmarPod1 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_roty: + description: SmarPod1 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotz: + description: SmarPod1 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_y: + description: SmarPod2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_z: + description: SmarPod2 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotx: + description: SmarPod2 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_roty: + description: SmarPod2 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotz: + description: SmarPod2 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +ss_bpm1: + description: SS BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm2: + description: SS BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm3: + description: SS BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm4: + description: SS BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpmsum: + description: SS BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm_x: + description: SS BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_bpm_y: + description: SS BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f1_x: + description: SS Filter 1 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f2_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI2:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f3_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI3:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f4_x: + description: SS Filter 4 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI4:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xw: + description: SS Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xr: + description: SS Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xcen: + description: SS Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xsize: + description: SS Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yt: + description: SS Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yb: + description: SS Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ycen: + description: SS Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ysize: + description: SS Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xi_x: + description: SS X-ray Eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + userParameter: {"type": multi-position,"in": 7.5, "out": -2.1} + +ss_xi_y: + description: SS X-ray Eye Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xicam_x: + description: SS Camera X + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:Stats5:CentroidX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: True + softwareTrigger: false + +ss_xicam_y: + description: SS Camera Y + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:Stats5:CentroidY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: True + softwareTrigger: false + +ss_xicam_max: + description: SS Cam Max + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:Stats5:MaxValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - ss + readOnly: True + softwareTrigger: false + +ss_xicam_exp: + description: SS Camera Exposure + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:cam1:AcquireTime', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xicam_gain: + description: SS Camera Gain + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:cam1:Gain', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xicam_xsig: + description: SS Camera X Sigma + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:Stats5:SigmaX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: True + softwareTrigger: false + +ss_xicam_ysig: + description: SS Camera Y Sigma + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-SSCAM:Stats5:SigmaY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: True + softwareTrigger: false + +vfm_xu: + description: VFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_xd: + description: VFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yur: + description: VFM Upstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yw: + description: VFM Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_ydr: + description: VFM Downstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bu: + description: VFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bd: + description: VFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yaw: + description: VFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_roll: + description: VFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_pitch: + description: VFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_x: + description: VFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_y: + description: VFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +hfm_xu: + description: HFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_xd: + description: HFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yuw: + description: HFM Upstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yr: + description: HFM Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_ydw: + description: HFM Downstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bu: + description: HFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bd: + description: HFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yaw: + description: HFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_roll: + description: HFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_pitch: + description: HFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_x: + description: HFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_y: + description: HFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +bcu_bpm1: + description: BCU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm2: + description: BCU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm3: + description: BCU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm4: + description: BCU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpmsum: + description: BCU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm_x: + description: BCU BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_bpm_y: + description: BCU BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xw: + description: BCU Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xr: + description: BCU Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xcen: + description: BCU Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xsize: + description: BCU Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yt: + description: BCU Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yb: + description: BCU Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ycen: + description: BCU Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ysize: + description: BCU Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +samcam_x: + description: Sample Camera X + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_xsig: + description: Sample Camera X Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_y: + description: Sample Camera Y + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_ysig: + description: Sample Camera Y Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_max: + description: Sample Camera Max + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:MaxValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_exp: + description: Sample Camera Exposure + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:AcquireTime', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +samcam_gain: + description: Sample Camera Gain + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:Gain', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +scam_zoom: + description: Sample Camera Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-MS:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +coll_x: + description: Collimator X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +diag_z: + description: Scintillator/diode Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +i1: + description: I1 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SCLDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bs_x: + description: Beamstop X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + in: 1.56 + +bs_y: + description: Beamstop Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + in: 2.57 + +mag_ok: + description: Sample Sensor Check + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-CMP1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +mag_rbv: + description: Sample Sensor RBV + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-USER1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +mag_ref: + description: Sample Sensor Reference + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-REFVAL1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +cryo_x: + description: Cryo X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-CS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +cryo_temp: + description: Cryo Temperature + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:TEMP_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +det_xi_focus: + description: X-ray Eye 2 Focus + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:FOCUS'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_zoom: + description: X-ray Eye 2 Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_x: + description: X-ray Eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +i2: + description: I2 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-XEYEDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +det_y: + description: Detector Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_z: + description: Detector Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + diff --git a/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml.bak b/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml.bak new file mode 100644 index 0000000..6c2000f --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-standard-devices.yaml.bak @@ -0,0 +1,1657 @@ +sls_current: + description: SLS Current + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - SLS + readOnly: True + softwareTrigger: false + +fe_bpm1: + description: FE XBPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm2: + description: FE XBPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm3: + description: FE XBPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm4: + description: FE XBPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpmsum: + description: FE XBPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm_x: + description: FE BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_bpm_y: + description: FE BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xr: + description: FE Slit X Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yt: + description: FE Slit Y Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xw: + description: FE Slit X Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yb: + description: FE Slit Y Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xcen: + description: FE Slit X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xsize: + description: FE Slit X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ycen: + description: FE Slit Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ysize: + description: FE Slit Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +bsf_sl_xw: + description: BSF Slit Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xr: + description: BSF Slit Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yt: + description: BSF Slit Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yb: + description: BSF Slit Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xcen: + description: BSF X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xsize: + description: BSF X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ycen: + description: BSF Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ysize: + description: BSF Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f1_y: + description: BSF Filter 1 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f2_y: + description: BSF Filter 2 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +dcm_bragg: + description: DCM Bragg Angle + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_x: + description: DCM Lateral + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_perp: + description: DCM Perpendicular + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-CR2'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_pitch: + description: DCM 2nd Crystal Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_fpitch: + description: DCM 2nd Crystal Fine Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-FINEPITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_froll: + description: DCM 2nd Crystal Fine roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTZ-CR2-FINEROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +lu_bpm1: + description: LU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm2: + description: LU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm3: + description: LU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm4: + description: LU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpmsum: + description: LU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm_x: + description: BPM2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_bpm_y: + description: BPM2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z1: + description: Lens Z1 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z2: + description: Lens Z2 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_y: + description: SmarPod1 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_z: + description: SmarPod1 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotx: + description: SmarPod1 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_roty: + description: SmarPod1 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotz: + description: SmarPod1 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_y: + description: SmarPod2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_z: + description: SmarPod2 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotx: + description: SmarPod2 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_roty: + description: SmarPod2 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotz: + description: SmarPod2 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +ss_bpm1: + description: SS BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm2: + description: SS BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm3: + description: SS BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm4: + description: SS BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpmsum: + description: SS BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm_x: + description: SS BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_bpm_y: + description: SS BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f1_x: + description: SS Filter 1 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f2_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI2:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f3_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI3:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f4_x: + description: SS Filter 4 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI4:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xw: + description: SS Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xr: + description: SS Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xcen: + description: SS Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xsize: + description: SS Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yt: + description: SS Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yb: + description: SS Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ycen: + description: SS Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ysize: + description: SS Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xi_x: + description: SS X-ray Eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + userParameter: {"type": multi-position,"in": 7.5, "out": -2.1} + +ss_xi_y: + description: SS X-ray Eye Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +vfm_xu: + description: VFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_xd: + description: VFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yur: + description: VFM Upstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yw: + description: VFM Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_ydr: + description: VFM Downstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bu: + description: VFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bd: + description: VFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yaw: + description: VFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_roll: + description: VFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_pitch: + description: VFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_x: + description: VFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_y: + description: VFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +hfm_xu: + description: HFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_xd: + description: HFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yuw: + description: HFM Upstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yr: + description: HFM Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_ydw: + description: HFM Downstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bu: + description: HFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bd: + description: HFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yaw: + description: HFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_roll: + description: HFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_pitch: + description: HFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_x: + description: HFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_y: + description: HFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +bcu_bpm1: + description: BCU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm2: + description: BCU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm3: + description: BCU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm4: + description: BCU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpmsum: + description: BCU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm_x: + description: BCU BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_bpm_y: + description: BCU BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xw: + description: BCU Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xr: + description: BCU Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xcen: + description: BCU Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xsize: + description: BCU Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yt: + description: BCU Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yb: + description: BCU Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ycen: + description: BCU Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ysize: + description: BCU Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +samcam_x: + description: Sample Camera X + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_xsig: + description: Sample Camera X Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_y: + description: Sample Camera Y + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_ysig: + description: Sample Camera Y Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_max: + description: Sample Camera Max + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:MaxValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_exp: + description: Sample Camera Exposure + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:AcquireTime', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +samcam_gain: + description: Sample Camera Gain + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:Gain', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +scam_zoom: + description: Sample Camera Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-MS:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +coll_x: + description: Collimator X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +diag_z: + description: Scintillator/diode Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +i1: + description: I1 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SCLDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bs_x: + description: Beamstop X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +bs_y: + description: Beamstop Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +gon_y: + description: Goniometer Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRY1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +gon_z: + description: Goniometer X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRZ1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +omega: + description: Omega + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:ROTU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +mag_ok: + description: Sample Sensor Check + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-CMP1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +mag_rbv: + description: Sample Sensor RBV + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-USER1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +mag_ref: + description: Sample Sensor Reference + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-DFS:CBOX-REFVAL1', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +cryo_x: + description: Cryo X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-CS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +cryo_temp: + description: Cryo Temperature + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:TEMP_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +det_xi_focus: + description: X-ray Eye 2 Focus + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:FOCUS'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_zoom: + description: X-ray Eye 2 Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_x: + description: X-ray Eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +i2: + description: I2 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-XEYEDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +det_y: + description: Detector Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_z: + description: Detector Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + diff --git a/pxii_bec/device_configs/csvs/pxii-state-devices.csv b/pxii_bec/device_configs/csvs/pxii-state-devices.csv new file mode 100644 index 0000000..d879f80 --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-state-devices.csv @@ -0,0 +1,12 @@ +"name","description","deviceClass","PV","readoutPriority","tag","readOnly","include","userParameter" +"bl_bright","Backlight Brightness","Signal","X10SA-ES-BL:SET","baseline","state","no","yes","{""type"": continuous, “on”: 1.3, “off”: 0.0, “tol”: 0.01}" +"bl_pos","Backlight Positioner","Signal","X10SA-ES-BL:POS-SET","baseline","state","no","yes","{""type"":discrete, “in”: 1, “out”: 0}" +"bs_pos","Beamstop Positioner","Signal","X10SA-ES-BS:POS-SET","baseline","state","no","yes","{""type"":discrete, “in”: 1, “out”: 0}" +"bs_z","Beamstop Z","Motor","X10SA-ES-BS:TRZ","baseline","state","no","yes","{""type"": continuous, ""min"": 13, ""samp"": 15.3, ""work_min"": 20, ""safe"": 45.1, ""max_blin"": 45.0, ""max_blout"": 70}" +"coll_y","Collimator Y","Motor","X10SA-ES-COL:TRY","baseline","state","no","yes","{""type"": continuous, ""in"": 41.5, ""out"": 20.0, “intermediate”: 32, ""park"": 1,""tol"":0.05}" +"cryo_pos","Cryo positioner","Signal","X10SA-ES-CS:POS-SET","baseline","state","no","yes","{""type"":discrete, “in”: 1, “out”: 0}" +"det_cov","Detector cover","Signal","X10SA-ES-DETCOV:SET","baseline","state","no","yes","{""type"":discrete, “open”: 2, “close”: 1}" +"diag_y","Scintillator/diode Y","Motor","X10SA-ES-SCL:TRY","baseline","state","no","yes","{""type"": continuous, ""scint"": 38.0, ""i1"": 43.0, ""out"": 20.0,""park"": 1,""tol"":0.3}" +"fl_bright","Frontlight Brightness","Signal","X10SA-ES-FL:SET","baseline","state","no","yes","{""type"": continuous, “on”: 3.0, “off”: 0.0, “tol”: 0.01}" +"gon_x","Goniometer X","Motor","X10SA-ES-DF1:TRX1","baseline","state","no","yes","{""type"": continuous, “in”: 0.0, “out”: -10.0, “safe”: -100, “tol”: 0.5}" +"xrf_pos","XRF Positioner","Signal","X10SA-ES-XRF:POS-SET","baseline","state","no","yes","{""type"":discrete, “in”: 1, “out”: 0}" diff --git a/pxii_bec/device_configs/csvs/pxii-state-devices.yaml b/pxii_bec/device_configs/csvs/pxii-state-devices.yaml new file mode 100644 index 0000000..3f8d61e --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxii-state-devices.yaml @@ -0,0 +1,130 @@ +bl_bright: + description: Backlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "on": 1.3, "off": 0.0, "tol": 0.01} + +bl_pos: + description: Backlight Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, "in": 1, "out": 0} + +bs_pos: + description: Beamstop Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, "in": 1, "out": 0} + +bs_z: + description: Beamstop Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "min": 13, "samp": 15.3, "work_min": 20, "safe": 45.1, "max_blin": 45.4, "max_blout": 70} + +coll_y: + description: Collimator Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "in": 40.9, "out": 20.0, "intermediate": 32, "park": 1,"tol":0.05} + +cryo_pos: + description: Cryo positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, "in": 1, "out": 0} + +det_cov: + description: Detector cover + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-DETCOV:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, "open": 2, "close": 1} + +diag_y: + description: Scintillator/diode Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "scint": 38.0, "i1": 43.4, "out": 20.0,"park": 1,"tol":0.3} + +fl_bright: + description: Frontlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-FL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "on": 3.0, "off": 0.0, "tol": 0.01} + +xrf_pos: + description: XRF Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-XRF:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, "in": 1, "out": 0} + diff --git a/pxii_bec/device_configs/csvs/pxiii-devices-new.csv b/pxii_bec/device_configs/csvs/pxiii-devices-new.csv new file mode 100644 index 0000000..bd234a3 --- /dev/null +++ b/pxii_bec/device_configs/csvs/pxiii-devices-new.csv @@ -0,0 +1,146 @@ +name,description,deviceClass,PV,readoutPriority,tag,readOnly,include,userParameter, +sls_current,SLS current,SignalRO,ARS07-DPCT-0100:CURR,monitored,SLS,yes,yes,, +fe_sl_xr,FE Slit X Ring,Motor,X06DA-FE-SLDI:TRXR,baseline,fe,no,yes,, +fe_sl_yt,FE Slit Y top,Motor,X06DA-FE-SLDI:TRYT,baseline,fe,no,yes,, +fe_sl_xw,FE Slit X Wall,Motor,X06DA-FE-SLDI:TRXW,baseline,fe,no,yes,, +fe_sl_yb,FE SlitY Bottom,Motor,X06DA-FE-SLDI:TRYB,baseline,fe,no,yes,, +fe_sl_xcen,FE Slit X Centre,Motor,X06DA-FE-SLDI:CENTERX,baseline,fe,no,yes,, +fe_sl_xsize,FE Slit X Size,Motor,X06DA-FE-SLDI:SIZEX,baseline,fe,no,yes,, +fe_sl_ycen,FE Slit Y Centre,Motor,X06DA-FE-SLDI:CENTERY,baseline,fe,no,yes,, +fe_sl_ysize,FE Slit Y Size,Motor,X06DA-FE-SLDI:SIZEY,baseline,fe,no,yes,, +fe_cm_xu,FE Coll Mirror Upstream X,Motor,X06DA-ES-MI1:TRXU,baseline,fe_cm,no,yes,, +fe_cm_xd,FE Coll Mirror Downstream X,Motor,X06DA-ES-MI1:TRXD,baseline,fe_cm,no,yes,, +fe_cm_yur,FE Coll Mirror Upstream Ring Y,Motor,X06DA-ES-MI1:TRYUR,baseline,fe_cm,no,yes,, +fe_cm_yw,FE Coll Mirror Wall Y,Motor,X06DA-ES-MI1:TRYW,baseline,fe_cm,no,yes,, +fe_cm_ydr,FE Coll Mirror Downstream Ring Y,Motor,X06DA-ES-MI1:TRYDR,baseline,fe_cm,no,yes,, +fe_cm_b1,FE Coll Mirror Bender,Motor,X06DA-ES-MI1:BND1,baseline,fe_cm,no,yes,, +fe_cm_yaw,FE Coll Mirror Yaw,Motor,X06DA-ES-MI1:YAW,baseline,fe_cm,no,yes,, +fe_cm_roll,FE Coll Mirror Roll,Motor,X06DA-ES-MI1:ROLL,baseline,fe_cm,no,yes,, +fe_cm_pitch,FE Coll Mirror Pitch,Motor,X06DA-ES-MI1:PITCH,baseline,fe_cm,no,yes,, +fe_cm_x,FE Coll Mirror X,Motor,X06DA-ES-MI1:TRX,baseline,fe_cm,no,yes,, +fe_cm_y,FE Coll Mirror Y ,Motor,X06DA-ES-MI1:TRY,baseline,fe_cm,no,yes,, +bsf_bpm1,BSF BPM Signal 1,SignalRO,X06DA-OP-BSFBPM:SIGNAL1,monitored,bpm,yes,no,, +bsf_bpm2,BSF BPM Signal 2,SignalRO,X06DA-OP-BSFBPM:SIGNAL2,monitored,bpm,yes,no,, +bsf_bpm3,BSF BPM Signal 3,SignalRO,X06DA-OP-BSFBPM:SIGNAL3,monitored,bpm,yes,no,, +bsf_bpm4,BSF BPM Signal 4,SignalRO,X06DA-OP-BSFBPM:SIGNAL4,monitored,bpm,yes,no,, +bsf_bpmsum,BSF BPM Summed,SignalRO,X06DA-OP-BSFBPM:SUM,monitored,bpm,yes,no,, +bsf_sl_xw,BSF slit outboard,Motor,X06DA-OP-BSFSLH:TRXW,baseline,bsf,no,yes,, +bsf_sl_xr,BSF slit inboard,Motor,X06DA-OP-BSFSLH:TRXR,baseline,bsf,no,yes,, +bsf_sl_yt,BSF slit top,Motor,X06DA-OP-BSFSLV:TRYT,baseline,bsf,no,yes,, +bsf_sl_yb,BSF slit bottom,Motor,X06DA-OP-BSFSLV:TRYB,baseline,bsf,no,yes,, +bsf_sl_xcen,BSF X centre,Motor,X06DA-OP-BSFSLH:CENTER,baseline,bsf,no,yes,, +bsf_sl_xsize,BSF X size,Motor,X06DA-OP-BSFSLH:SIZE,baseline,bsf,no,yes,, +bsf_sl_ycen,BSF Y centre,Motor,X06DA-OP-BSFSLV:CENTER,baseline,bsf,no,yes,, +bsf_sl_ysize,BSF Y size,Motor,X06DA-OP-BSFSLV:SIZE,baseline,bsf,no,yes,, +bsf_f1_y,BSF Filter 1 Y,Motor,X06DA-OP-BSFFI1:TRY,baseline,bsf,no,yes,, +bsf_f2_y,BSF Filter 2 Y,Motor,X06DA-OP-BSFFI2:TRY,baseline,bsf,no,yes,, +dccm_theta1,DCCM theta1,Motor,X06DA-OP-DCCM:ROTX-CR1,baseline,dccm,no,yes,, +dccm_theta2,DCCM theta2,Motor,X06DA-OP-DCCM:ROTX-CR2,baseline,dccm,no,yes,, +dccm_rotz,DCCM Crystal 2 rotz ,Motor,X06DA-OP-DCCM:ROTZ-CR2,baseline,dccm,no,yes,, +dccm_energy,DCCM energy,Motor,X06DA-OP-DCCM:ENERGY,baseline,dccm,no,yes,, +dccm_diode_t,Top diode between mono crystals,SignalRO,X06DA-OP-XPM1:TOP:READOUT,baseline,dccm,no,yes,, +dccm_diode_b,Bottom diode between mono crystals,SignalRO,X06DA-OP-XPM1:BOT:READOUT,baseline,dccm,no,yes,, +dccm_xbpm1,XBPM after mono ch1,SignalRO,X06DA-OP-XBPM1:Current1:MeanValue_RBV,baseline,dccm,no,yes,, +dccm_xbpm2,XBPM after mono ch2,SignalRO,X06DA-OP-XBPM1:Current2:MeanValue_RBV,baseline,dccm,no,yes,, +dccm_xbpm3,XBPM after mono ch3,SignalRO,X06DA-OP-XBPM1:Current3:MeanValue_RBV,baseline,dccm,no,yes,, +dccm_xbpm4,XBPM after mono ch4,SignalRO,X06DA-OP-XBPM1:Current4:MeanValue_RBV,baseline,dccm,no,yes,, +dccm_xbpmsum,XBPM after mono summed,SignalRO,X06DA-OP-XBPM1:SumAll:MeanValue_RBV,baseline,dccm,no,yes,, +ss_bpm1,SS BPM Signal 1,SignalRO,X06DA-ES-SSBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm2,SS BPM Signal 2,SignalRO,X06DA-ES-SSBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm3,SS BPM Signal 3,SignalRO,X06DA-ES-SSBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm4,SS BPM Signal 4,SignalRO,X06DA-ES-SSBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpmsum,SS BPM Summed,SignalRO,X06DA-ES-SSBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,, +ss_bpm_x,SS BPM X,Motor,X06DA-ES-SSBPM:TRX,baseline,ss,no,yes,, +ss_bpm_y,SS BPM Y,Motor,X06DA-ES-SSBPM:TRY,baseline,ss,no,yes,, +ss_sl_xw,SS slit wall,Motor,X06DA-ES-SSSLH:TRXW,baseline,ss,no,yes,, +ss_sl_xr,SS slit ring,Motor,X06DA-ES-SSSLH:TRXR,baseline,ss,no,yes,, +ss_sl_xcen,SS slit X centre,Motor,X06DA-ES-SSSLH:CENTER,baseline,ss,no,yes,, +ss_sl_xsize,SS slit X size,Motor,X06DA-ES-SSSLH:SIZE,baseline,ss,no,yes,, +ss_sl_yt,SS slit top,Motor,X06DA-ES-SSSLV:TRYT,baseline,ss,no,yes,, +ss_sl_yb,SS slit bottom,Motor,X06DA-ES-SSSLV:TRYB,baseline,ss,no,yes,, +ss_sl_ycen,SS slit Y centre,Motor,X06DA-ES-SSSLV:CENTER,baseline,ss,no,yes,, +ss_sl_ysize,SS slit Y size,Motor,X06DA-ES-SSSLV:SIZE,baseline,ss,no,yes,, +ss_xi_x,SS X-ray eye X,Motor,X06DA-ES-SSXI:TRX,baseline,ss,no,yes,, +ss_xi_y,SS X-ray eye Y,Motor,X06DA-ES-SSXI:TRY,baseline,ss,no,yes,, +ss_xicam_x,ss cam X,SignalRO,X06DA-ES-SSXI:cam1:Stats5:CentroidX_RBV,baseline,ss,yes,yes,, +ss_xicam_y,ss cam Y,SignalRO,X06DA-ES-SSXI:cam1:Stats5:CentroidY_RBV,baseline,ss,yes,yes,, +ss_xicam_max,ss cam max value,SignalRO,X06DA-ES-SSXI:cam1:Stats5:MaxValue_RBV,monitored,ss,yes,yes,, +ss_xicam_exp,ss camera exposure,Signal,X06DA-ES-SSXI:cam1:AcquireTime,baseline,ss,no,yes,, +ss_xicam_gain,ss camera gain,Signal,X06DA-ES-SSXI:cam1:cam1:Gain,baseline,ss,no,yes,, +ss_xicam_xsig,ss camera x sigma,Signal,X06DA-ES-SSXI:cam1:Stats5:SigmaX_RBV,baseline,ss,yes,yes,, +ss_xicam_ysig,ss camera y sigma,Signal,X06DA-ES-SSXI:cam1:Stats5:SigmaY_RBV,baseline,ss,yes,yes,, +vfm_xu,VFM Upstream X,Motor,X06DA-ES-KBV:TRXU,baseline,vfm,no,no,, +vfm_xd,VFM Downstream X,Motor,X06DA-ES-KBV:TRXD,baseline,vfm,no,no,, +vfm_yur,VFM Upstream Ring Y,Motor,X06DA-ES-KBV:TRYUR,baseline,vfm,no,no,, +vfm_yw,VFM Wall Y,Motor,X06DA-ES-KBV:TRYW,baseline,vfm,no,no,, +vfm_ydr,VFM Downstream Ring Y,Motor,X06DA-ES-KBV:TRYDR,baseline,vfm,no,no,, +vfm_bu,VFM Upstream Bender,Motor,X06DA-ES-KBV:BNDU,baseline,vfm,no,no,, +vfm_bd,VFM Downstream Bender,Motor,X06DA-ES-KBV:BNDD,baseline,vfm,no,no,, +vfm_yaw,VFM Virtual Yaw,Motor,X06DA-ES-KBV:YAW,baseline,vfm,no,no,, +vfm_roll,VFM Virtual Roll,Motor,X06DA-ES-KBV:ROLL,baseline,vfm,no,no,, +vfm_pitch,VFM Virtual Pitch,Motor,X06DA-ES-KBV:PITCH,baseline,vfm,no,no,, +vfm_x,VFM Virtual X,Motor,X06DA-ES-KBV:TRX,baseline,vfm,no,no,, +vfm_y,VFM Virtual Y ,Motor,X06DA-ES-KBV:TRY,baseline,vfm,no,no,, +hfm_xu,HFM Upstream X,Motor,X06DA-ES-KBH:TRXU,baseline,hfm,no,no,, +hfm_xd,HFM Downstream X,Motor,X06DA-ES-KBH:TRXD,baseline,hfm,no,no,, +hfm_yuw,HFM Upstream Wall Y,Motor,X06DA-ES-KBH:TRYUW,baseline,hfm,no,no,, +hfm_yr,HFM Ring Y,Motor,X06DA-ES-KBH:TRYR,baseline,hfm,no,no,, +hfm_ydw,HFM Downstream Wall Y,Motor,X06DA-ES-KBH:TRYDW,baseline,hfm,no,no,, +hfm_bu,HFM Upstream Bender,Motor,X06DA-ES-KBH:BNDU,baseline,hfm,no,no,, +hfm_bd,HFM Downstream Bender,Motor,X06DA-ES-KBH:BNDD,baseline,hfm,no,no,, +hfm_yaw,HFM Virtual Yaw,Motor,X06DA-ES-KBH:YAW,baseline,hfm,no,no,, +hfm_roll,HFM Virtual Roll,Motor,X06DA-ES-KBH:ROLL,baseline,hfm,no,no,, +hfm_pitch,HFM Virtual Pitch,Motor,X06DA-ES-KBH:PITCH,baseline,hfm,no,no,, +hfm_x,HFM Virtual X,Motor,X06DA-ES-KBH:TRX,baseline,hfm,no,no,, +hfm_y,HFM Virtual Y ,Motor,X06DA-ES-KBH:TRY,baseline,hfm,no,no,, +bcu_bpm1,BCU BPM Signal 1 ,SignalRO,X06DA-ES-BCBPM:Current1:MeanValue_RBV,monitored,bpm,yes,no,, +bcu_bpm2,BCU BPM Signal 2,SignalRO,X06DA-ES-BCBPM:Current2:MeanValue_RBV,monitored,bpm,yes,no,, +bcu_bpm3,BCU BPM Signal 3,SignalRO,X06DA-ES-BCBPM:Current3:MeanValue_RBV,monitored,bpm,yes,no,, +bcu_bpm4,BCU BPM Signal 4,SignalRO,X06DA-ES-BCBPM:Current4:MeanValue_RBV,monitored,bpm,yes,no,, +bcu_bpmsum,BCU BPM Summed,SignalRO,X06DA-ES-BCBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,no,, +bcu_bpm_x,BCU BPM X,Motor,X06DA-ES-BCBPM:TRX,baseline,bcu,no,no,, +bcu_bpm_y,BCU BPM Y ,Motor,X06DA-ES-BCBPM:TRY,baseline,bcu,no,no,, +bcu_sl_xw,BCU slit wall,Motor,X06DA-ES-BCSLH:TRXW,baseline,bcu,no,no,, +bcu_sl_xr,BCU slit ring,Motor,X06DA-ES-BCSLH:TRXR,baseline,bcu,no,no,, +bcu_sl_xcen,BCU slit X centre,Motor,X06DA-ES-BCSLH:CENTER,baseline,bcu,no,no,, +bcu_sl_xsize,BCU slit X size,Motor,X06DA-ES-BCSLH:SIZEX,baseline,bcu,no,no,, +bcu_sl_yt,BCU slit top,Motor,X06DA-ES-BCSLV:TRYT,baseline,bcu,no,no,, +bcu_sl_yb,BCU slit bottom,Motor,X06DA-ES-BCSLV:TRYB,baseline,bcu,no,no,, +bcu_sl_ycen,BCU slit Y centre,Motor,X06DA-ES-BCSLV:CENTER,baseline,bcu,no,no,, +bcu_sl_ysize,BCU slit Y size,Motor,X06DA-ES-BCSLV:SIZE,baseline,bcu,no,no,, +bcu_f1_x,BCU filter 1 X,Motor,X06DA-ES-BCFI1:TRX,baseline,bcu,no,no,, +bcu_f2_x,BCU filter 2 X,Motor,X06DA-ES-BCFI2:TRX,baseline,bcu,no,no,, +bcu_f3_x,BCU filter 3 X,Motor,X06DA-ES-BCFI3:TRX,baseline,bcu,no,no,, +bcu_f4_x,BCU filter 4 X,Motor,X06DA-ES-BCFI4:TRX,baseline,bcu,no,no,, +xrf_pos,XRF det in/out,Signal,X06DA-ES-XRF:POS-SET,baseline,se,no,yes,"{""type"":positioner}", +samcam_x,sample cam X ,SignalRO,X06DA-ES-MS:Stats5:CentroidX_RBV,baseline,scam,yes,yes,, +samcam_xsig,sample cam X sigma,SignalRO,X06DA-ES-MS:Stats5:SigmaX_RBV,monitored,scam,yes,yes,, +samcam_y,sample cam Y ,SignalRO,X06DA-ES-MS:Stats5:CentroidY_RBV,baseline,scam,yes,yes,, +samcam_ysig,sample cam Y sigma,SignalRO,X06DA-ES-MS:Stats5:SigmaY_RBV,monitored,scam,yes,yes,, +samcam_max,sample cam max value,SignalRO,X06DA-ES-MS:Stats5:MaxValue_RBV,monitored,scam,yes,yes,, +samcam_exp,sample cam exp time,Signal,X06DA-ES-MS:cam1:AcquireTime,baseline,scam,no,yes,, +samcam_gain,sample cam gain,Signal,X06DA-ES-MS:cam1:Gain,baseline,scam,no,yes,, +scam_zoom,Sample cam zoom,Motor,X06DA-ES-MS:ZOOM,baseline,scam,no,yes,, +fl_bright,Frontlight brightness,Signal,X06DA-ES-FL:SET,baseline,se,no,yes,, +coll_x,Collimator X,Motor,X06DA-ES-COL:TRX,baseline,se,no,yes,, +coll_y,Collimator Y,Motor,X06DA-ES-COL:TRY,baseline,se,no,yes,"{""type"": multi-position, ""in"": 41.5, ""out"": 20.0, ""park"": 0,""tol"":0.05}", +diag_y,Scintillator/diode Y,Motor,X06DA-ES-SCL:TRY,baseline,se,no,yes,"{""type"": multi-position, ""scint"": 38.62, ""i1"": 44.0, ""out"": 20.0,""park"": 0,""tol"":0.3}", +diag_z,Scintillator/diode Z,Motor,X06DA-ES-SCL:TRZ,baseline,se,no,yes,, +i1,i1 diode reading,SignalRO,X06DA-ES-SCLDI:READOUT,monitored,bpm,yes,yes,, +bl_pos,Backlight positioner,Signal,X06DA-ES-BL:POS-SET,baseline,se,no,yes,"{""type"":positioner}", +bl_bright,Backlight brightness,Signal,X06DA-ES-BL:SET,baseline,se,no,yes,, +bs_x,Beamstop X,Motor,X06DA-ES-BS:TRX,baseline,se,no,yes,, +bs_y,Beamstop Y,Motor,X06DA-ES-BS:TRY,baseline,se,no,yes,, +bs_z,Beamstop Z,Motor,X06DA-ES-BS:TRZ,baseline,se,no,yes,"{""type"": guarded, ""min"": 13, ""samp"": 15, ""work_min"": 20, ""safe"": 41, ""max_blin"": 42, ""max_blout"": 70}", +bs_pos,Beamstop positioner,Signal,X06DA-ES-BS:POS-SET,baseline,se,no,yes,"{""type"":positioner}", +gon_x,Goniometer X,Motor,X06DA-ES-DF1:TRX1,baseline,det,no,yes,"{""type"": guarded, ""in"": 18.0, ""out"": -10.0, ""safe"": -100,""tol"":0.5}", +gon_y,Goniometer Y,Motor,X06DA-ES-DF1:TRY1,baseline,det,no,yes,, +gon_z,Goniometer X,Motor,X06DA-ES-DF1:TRZ1,baseline,det,no,yes,, +omega,Omega,Motor,X06DA-ES-DF1:ROTU,baseline,det,no,yes,, +cryo_pos,Cryo positioner,Signal,X06DA-ES-CS:POS-SET,baseline,se,no,yes,"{""type"":positioner}", +cryo_x,Cryojet X ,Motor,X06DA-ES-CS:TRX,baseline,se,no,yes,, +det_cov,Detector cover,Signal,X06DA-ES-DETCOV:SET,baseline,det,no,yes,"{""type"":positioner}", +det_y,Detector Y,Motor,X06DA-ES-DET:TRY,baseline,det,no,yes,, +det_z,Detector Z,Motor,X06DA-ES-DET:TRZ,baseline,det,no,yes,, +gonpos,Sample sensor distance,SignalRO,X06DA-ES-DF1:CBOX-USER1,baseline,se,no,yes,, +gonvalid,Sample in valid distance,SignalRO,X06DA-ES-DF1:CBOX-CMP1,baseline,se,no,yes,, diff --git a/pxii_bec/device_configs/csvs/se-devices.csv b/pxii_bec/device_configs/csvs/se-devices.csv new file mode 100644 index 0000000..c64af6e --- /dev/null +++ b/pxii_bec/device_configs/csvs/se-devices.csv @@ -0,0 +1,11 @@ +name,description,deviceClass,PV,readoutPriority,tag,readOnly,include,userParameter +bl_bright,Backlight Brightness,Signal,X06DA-ES-BL:SET,baseline,state,no,yes, +bl_pos,Backlight Positioner,Signal,X06DA-ES-BL:POS-SET,baseline,state,no,no,"{""type"":positioner}" +bs_pos,Beamstop Positioner,Signal,X06DA-ES-BS:POS-SET,baseline,state,no,no,"{""type"":positioner}" +bs_z,Beamstop Z,Motor,X06DA-ES-BS:TRZ,baseline,state,no,yes,"{""type"": guarded, ""min"": 13, ""samp"": 15, ""work_min"": 20, ""safe"": 41, ""max_blin"": 42, ""max_blout"": 70}" +coll_y,Collimator Y,Motor,X06DA-ES-COL:TRY,baseline,state,no,yes,"{""type"": multi-position, ""in"": 40, ""out"": 20.0, ""park"": 0,""tol"":0.05}" +cryo_pos,Cryo positioner,Signal,X06DA-ES-CS:POS-SET,baseline,state,no,no,"{""type"":positioner}" +det_cov,Detector cover,Signal,X06DA-ES-DETCOV:SET,baseline,state,no,no,"{""type"":positioner}" +diag_y,Scintillator/diode Y,Motor,X06DA-ES-SCL:TRY,baseline,state,no,yes,"{""type"": multi-position, ""scint"": 39, ""i1"": 44.0, ""out"": 20.0,""park"": 0,""tol"":0.3}" +fl_bright,Frontlight Brightness,Signal,X06DA-ES-FL:SET,baseline,state,no,yes, +xrf_pos,XRF Positioner,Signal,X06DA-ES-XRF:POS-SET,baseline,state,no,no,"{""type"":positioner}" diff --git a/pxii_bec/device_configs/csvs/smargopolo_smargon.yaml b/pxii_bec/device_configs/csvs/smargopolo_smargon.yaml new file mode 100644 index 0000000..0b6d982 --- /dev/null +++ b/pxii_bec/device_configs/csvs/smargopolo_smargon.yaml @@ -0,0 +1,12 @@ +smargon: + description: REST-based device which connects to Smargopolo + deviceClass: pxii_bec.devices.smargopolo_smargon.Smargon + deviceConfig: {prefix: 'http://localhost:8000'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - smargon + - motors + readOnly: false + softwareTrigger: false \ No newline at end of file diff --git a/pxii_bec/device_configs/pxii-devices.yaml b/pxii_bec/device_configs/pxii-devices.yaml index 6159d25..8f90b52 100644 --- a/pxii_bec/device_configs/pxii-devices.yaml +++ b/pxii_bec/device_configs/pxii-devices.yaml @@ -55,8 +55,8 @@ aerotech: deviceConfig: prefix: http://mx-x10sa-queue-01:5234 deviceTags: - - aerotech - motors + - aerotech enabled: true onFailure: buffer readoutPriority: baseline @@ -71,7 +71,7 @@ aerotech: safe: -50 y: mount: 0 - work: 0 + work: -0.16 z: mount: 0 work: 0 @@ -444,7 +444,7 @@ coll_y: onFailure: buffer readoutPriority: baseline userParameter: - in: 40.9 + in: 40.834 intermediate: 32 out: 20.0 park: 1 diff --git a/pxii_bec/macros/APscripts.py b/pxii_bec/macros/APscripts.py index 53378c8..5d8e1aa 100644 --- a/pxii_bec/macros/APscripts.py +++ b/pxii_bec/macros/APscripts.py @@ -240,11 +240,8 @@ def rock(**kwargs): - - - ################################ -### Help PROGRAMS +### Helper PROGRAMS ############################# ### just reconfigure beaml @@ -421,40 +418,74 @@ def fit_plot(data_x, data_y, model="gauss", ibg=1, fitrange=0, fitclick=0): print("dy=", data_y) ##### - peak = GaussianModel() + peak = GaussianModel(prefix = 'g_') + pre='g' if model == "voigt": - peak = VoigtModel() + peak = VoigtModel(prefix = 'v_') + pre='v' if model == "lorentz": - peak = LorentzianModel() + peak = LorentzianModel(prefix = 'l_') + pre='l' + model = peak + ypeak = data_y + pars = model.guess(data_y, x = data_x) + if ibg: - background = LinearModel() + background = LinearModel(prefix = 'bg_') model = peak + background - ### define data_x and data_y: - maxy = max(data_y) - indmax = np.argmax(data_y) - xm = data_x[indmax] - sigma = 1.0 - gamma = 0.2 # blurring/widening of the sigma ; the larger, the more of a Lorentzian profile - print("maxy, indmax, xm = ", maxy, indmax, xm) + ### estimate initial params separately for both parts of the model + # 1) BG + n = len(data_x) + edge= n//10 + idx=np.r_[0:edge, n-edge:n] # first and last part of the range + #m0, b0 = np.polyfit(data_x[idx], data_y[idx],1) + #ypeak= data_y - (m0*data_x + b0) # subtract linear part + + pars = background.guess(data_y[idx], x = data_x[idx]) + + # 2) Function - BG + ypeak= data_y - (pars['bg_slope']*data_x + pars['bg_intercept'])# subtract linear part + pars.update( peak.guess(ypeak, x= data_x) ) + + #maxy = max(ypeak) + #indmax = np.argmax(ypeak) + #xm = data_x[indmax] + + #half = maxy/2 + #idx = np.where(ypeak > half)[0] + #fwhm0 = data_x[idx[-1]] - data_x[idx[0]] + + #sigma = fwhm0/ 3.6 #1.0 + #gamma = fwhm0 / 4 #0.2 # blurring/widening of the sigma ; the larger, the more of a Lorentzian profile + #print("maxy, indmax, xm = ", maxy, indmax, xm) + #print("half, idx, fwhm, sigma, gamma = ", half, idx, fwhm, sigma, gamma) + # p = model.make_params( # amplitude=max(data_y), center=xm, slope=0, intercept=min(data_y) # ) - p = model.make_params(amplitude=maxy, center=xm) - p["center"].set(min=min(data_x), max=max(data_x)) - p["sigma"].set(min=0, max=(max(data_x) - min(data_x)) / 2.0) + #p = model.make_params(amplitude=maxy, center=xm) + #p["center"].set(min=min(data_x), max=max(data_x)) + #p["sigma"].set(min=0, max=(max(data_x) - min(data_x)) / 2.0) + #g = model.fit(data_y, p, x=data_x) + # better + #params = peak.guess(data_y, x=data_x) - g = model.fit(data_y, p, x=data_x) + + #print(f' Parameters: {pars}') + g = model.fit(data_y, pars, x=data_x) + + # diagnostics # print(f'Gfit: {g.params}') - print(f'Center of {model} fit: {g.params["center"].value:.5f}') - print(f'Sigma: {g.params["sigma"].value:.5f}') - print(f'FWHM: {g.params["fwhm"].value:.5f}') - print(f"Position of maximum: {xm}") - + #print(f'Center of {model} fit: {g.params["center"].value:.5f}') + #print(f'Sigma: {g.params["sigma"].value:.5f}') + #print(f'FWHM: {g.params["fwhm"].value:.5f}') + #print(f"Position of maximum: {xm}") + #print(f'Center of {model} fit: {g.v_params["center"].value:.5f}') ##### plt.ion() @@ -499,9 +530,13 @@ def fit_plot(data_x, data_y, model="gauss", ibg=1, fitrange=0, fitclick=0): plt.ylabel("signal") plt.show() - gcen = g.params["center"].value + #gcen = g.params["center"].value + print(g.fit_report()) - return gcen, xm + fit_id = pre+'_center' + + center = g.params[fit_id].value + return center #################################### diff --git a/pxii_bec/macros/KB_Class.py b/pxii_bec/macros/KB_Class.py index 5e3bbda..c3c5186 100644 --- a/pxii_bec/macros/KB_Class.py +++ b/pxii_bec/macros/KB_Class.py @@ -1,7 +1,7 @@ import numpy as np - class KBMirror: + def __init__(self, mirror_type="PXII_HFM"): self.mirror_type = mirror_type self._load_parameters() diff --git a/pxii_bec/macros/Undu_Helpers.py b/pxii_bec/macros/Undu_Helpers.py index eaf056c..61bc168 100755 --- a/pxii_bec/macros/Undu_Helpers.py +++ b/pxii_bec/macros/Undu_Helpers.py @@ -232,7 +232,7 @@ def long_gscan(estart=7, end_en=20.5, g_low=4.5, g_high=9.0, nsteps=1500): mot = dev.id_gap det = dev.lu_bpmsum wr.plot(device_x=mot, device_y=det) ## names first ! - wr.x_label = mot.name + wr.x_label = mot.namel wr.y_label = det.name g0 = dev.id_gap.readback.get() @@ -323,7 +323,7 @@ def gscan(centre=0, gomax=0, detune=0): # indmax = np.argmax(bpm_data) # gm = gap_data[indmax] - gcen, xm = fit_plot(gap_data, bpm_data, model="voigt") + gcen, xm = fit_plot(gap_data, bpm_data, model="gauss") if gomax: gm = xm diff --git a/pxii_bec/macros/build_devices.py.bak b/pxii_bec/macros/build_devices.py.bak new file mode 100755 index 0000000..3c8dd2e --- /dev/null +++ b/pxii_bec/macros/build_devices.py.bak @@ -0,0 +1,70 @@ +""" Build the sample environment devices""" +import yaml + +# from position_device import PositionDevice + +def motor_resolver(bec_name): + + candidates = [ + bec_name, + bec_name.replace("_", "."), + ] + + for path in candidates: + try: + obj = dev + + for part in path.split("."): + obj = getattr(obj, part) + + return obj + + except Exception: + pass + + raise ValueError(f"Cannot resolve motor for '{bec_name}'") + +def build_devices(yaml_file, mock_devices): + """ Build devices from the beamline states yaml""" + + + state_devices = {} + + with open(yaml_file, encoding="utf-8") as f: + data = yaml.safe_load(f) + + for bec_name, cfg in data.items(): + + user = cfg.get("userParameter") + + # Skip devices without user parameters + if not user: + continue + + + tol = user.get("tol", 0.1) + + positions = { + k: v for k, v in user.items() + if k not in ("type", "tol") + } + + allow_arbitrary = (user["type"] == "continuous") + + + + pos_dev = PositionDevice( + bec_name=bec_name, + mot_device = motor_resolver(bec_name), + positions=positions, + tol=tol, + allow_arbitrary=allow_arbitrary, + use_mock=bec_name in mock_devices, + ) + + state_devices[bec_name] = pos_dev + return state_devices + + + + diff --git a/pxii_bec/macros/check.py.bak b/pxii_bec/macros/check.py.bak new file mode 100644 index 0000000..f822ab9 --- /dev/null +++ b/pxii_bec/macros/check.py.bak @@ -0,0 +1,417 @@ +from dataclasses import dataclass, field +from enum import Enum +from typing import Any, Callable + +from bec_lib.device import Signal, Positioner + + +# ------------------------------------------------------------------- +# Status Enum +# ------------------------------------------------------------------- + + +class Status(Enum): + OK = 0 + WARNING = 1 + ERROR = 2 + UNKNOWN = 3 + + @property + def color(self): + return { + Status.OK: "green", + Status.WARNING: "orange", + Status.ERROR: "red", + Status.UNKNOWN: "gray", + }[self] + + +# ------------------------------------------------------------------- +# Health Result Object +# ------------------------------------------------------------------- + + +@dataclass +class HealthCheckResult: + + name: str + description: str + status: Status + + value: Any = None + + message: str = "" + + category: str = "general" + + def __str__(self): + + if self.status == Status.OK: + return f"[{self.status.name}] {self.description}" + + return ( + f"[{self.status.name}] " + f"{self.description}: {self.message}" + ) + + +# ------------------------------------------------------------------- +# Configuration +# ------------------------------------------------------------------- + +@dataclass +class BeamlineHealthConfig: + + signal_rules: dict[str, Callable] = field( + default_factory=lambda: { + "cam": lambda x: x != 0, + "bpm": lambda x: x != 0, + } + ) + + motor_tolerances: dict[str, float] = field( + default_factory=lambda: { + # examples + # "mono_theta": 0.001, + # "detector_z": 0.1, + } + ) + + default_motor_tolerance: float = 0.02 + + +# ------------------------------------------------------------------- +# Device Collection +# ------------------------------------------------------------------- + + +def get_devices(): + return list(dev.items()) + + +# ------------------------------------------------------------------- +# Signal Checks +# ------------------------------------------------------------------- + + +def check_signals(devices, config: BeamlineHealthConfig): + + results = [] + + signal_devices = [ + (name, obj) + for name, obj in devices + if isinstance(obj, Signal) + ] + + for name, obj in signal_devices: + + try: + data = obj.read() + actual = data[name]["value"] + description = obj.description + + except Exception as e: + + results.append( + HealthCheckResult( + name=name, + description=name, + status=Status.UNKNOWN, + message=f"Failed to read signal: {e}", + category="signals", + ) + ) + + continue + + matched = False + + for keyword, rule in config.signal_rules.items(): + + if keyword in name: + + matched = True + + try: + passed = rule(actual) + + except Exception as e: + + results.append( + HealthCheckResult( + name=name, + description=name, + status=Status.UNKNOWN, + value=actual, + message=f"Rule evaluation failed: {e}", + category="signals", + ) + ) + + break + + if passed: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.OK, + value=actual, + category="signals", + ) + ) + + else: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.ERROR, + value=actual, + message=f"Signal value {actual} failed validation", + category="signals", + ) + ) + break + + if not matched: + continue + + return results + + +# ------------------------------------------------------------------- +# Motor Checks +# ------------------------------------------------------------------- + + +def check_motors(devices, config: BeamlineHealthConfig): + + results = [] + + motor_devices = [ + (name, obj) + for name, obj in devices + if isinstance(obj, Positioner) + ] + + for name, obj in motor_devices: + + try: + + data = obj.read() + + description = obj.description + + actual = data[name]["value"] + + error_code = obj.motor_status.get() + + move_state = obj.motor_is_moving.get() + + except Exception as e: + + results.append( + HealthCheckResult( + name=name, + description=name, + status=Status.UNKNOWN, + message=f"Failed to read motor: {e}", + category="motors", + ) + ) + + continue + + # ----------------------------------------------------------- + # Error state + # ----------------------------------------------------------- + + if error_code != 0: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.ERROR, + value=error_code, + message=f"motor error code: {error_code}", + category="motors", + ) + ) + + continue + + # ----------------------------------------------------------- + # Moving state + # ----------------------------------------------------------- + + if move_state != 0: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.WARNING, + value=move_state, + message="motor is currently moving", + category="motors", + ) + ) + + continue + + # ----------------------------------------------------------- + # Setpoint comparison + # ----------------------------------------------------------- + + sp_key = f"{name}_user_setpoint" + + if sp_key in data: + + setpoint = data[sp_key]["value"] + + diff = abs(actual - setpoint) + + tolerance = config.motor_tolerances.get( + name, + config.default_motor_tolerance, + ) + + if diff > tolerance: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.WARNING, + value=diff, + message=( + f"Setpoint {setpoint:.5g} differs " + f"from readback {actual:.5g} " + f"by {diff:.4g}" + ), + category="motors", + ) + ) + + else: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.OK, + value=actual, + category="motors", + ) + ) + + else: + + results.append( + HealthCheckResult( + name=name, + description=description, + status=Status.UNKNOWN, + message="No setpoint available", + category="motors", + ) + ) + + return results + + +# ------------------------------------------------------------------- +# Main Check Entry Point +# ------------------------------------------------------------------- + + +def check2(config: BeamlineHealthConfig | None = None): + if config is None: + config = BeamlineHealthConfig() + + devices = get_devices() + + results = [] + + results.extend(check_signals(devices, config)) + + results.extend(check_motors(devices, config)) + + # --------------------------------------------------------------- + # Sort by severity + # --------------------------------------------------------------- + + results.sort( + key=lambda r: r.status.value, + ) + + return results + + +# ------------------------------------------------------------------- +# Summary Printer +# ------------------------------------------------------------------- + + +def print_summary(results): + + n_ok = sum(r.status == Status.OK for r in results) + + n_warn = sum(r.status == Status.WARNING for r in results) + + n_err = sum(r.status == Status.ERROR for r in results) + + n_unknown = sum(r.status == Status.UNKNOWN for r in results) + + print("\n==============================") + print(" Beamline Health Summary") + print("==============================") + print(f"OK : {n_ok}") + print(f"WARNING : {n_warn}") + print(f"ERROR : {n_err}") + print(f"UNKNOWN : {n_unknown}") + print("==============================\n") + +# ------------------------------------------------------------------- +# Filter results +# ------------------------------------------------------------------- +def filter_results(results, statuses = None): + if statuses is None: + return results + + return [ + r for r in results + if r.status in statuses + ] + +# ------------------------------------------------------------------- +# CLI Entry Point +# ------------------------------------------------------------------- + + +def run_check(show_all= False): + + results = check2() + + print_summary(results) + + if not show_all: + results = filter_results( + results, + statuses={ + Status.WARNING, + Status.ERROR, + Status.UNKNOWN + } + ) + for result in results: + print(result) + + + + diff --git a/pxii_bec/macros/luts/-0.6698962499999936.csv b/pxii_bec/macros/luts/-0.6698962499999936.csv new file mode 100644 index 0000000..1b8435e --- /dev/null +++ b/pxii_bec/macros/luts/-0.6698962499999936.csv @@ -0,0 +1 @@ +BCUsum, BCU-Y diff --git a/pxii_bec/macros/luts/08062200__lut.csv b/pxii_bec/macros/luts/08062200__lut.csv new file mode 100644 index 0000000..cf8cb61 --- /dev/null +++ b/pxii_bec/macros/luts/08062200__lut.csv @@ -0,0 +1,21 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +6000,H3,5.9179,-5.527,4.65,0.17748,148.8,148.4 +7000,H3,6.8843,-5.515,4.649,0.12703,148.6,148.1 +8000,H5,4.8826,-5.5091,4.649,0.09572,149.3,148.4 +9000,H5,5.3875,-5.5049,4.649,0.074605,149,148.8 +10000,H5,5.917,-5.5014,4.648,0.060095,149.3,148.7 +11000,H7,4.8105,-5.4983,4.649,0.04944,149.2,149 +12000,H7,5.1676,-5.4963,4.649,0.041305,148.5,149.4 +13000,H7,5.5351,-5.4946,4.649,0.03501,148.4,149.3 +14000,H9,4.7711,-5.4905,4.649,0.029945,147.7,149.5 +15000,H9,5.0491,-5.4912,4.65,0.026075,148.7,149.6 +16000,H9,5.3293,-5.4901,4.65,0.023065,148.6,149.8 +17000,H11,4.7466,-5.4892,4.649,0.020305,149.5,149.6 +18000,H11,4.9721,-5.4886,4.65,0.01774,149.7,149.6 +19000,H11,5.2008,-5.488,4.65,0.016295,149.3,149.7 +20000,H13,4.7311,-5.4874,4.65,0.01463,149.4,150.1 +21000,H13,4.9218,-5.487,4.649,0.01324,149.2,149.6 +22000,H13,5.1151,-5.4865,4.65,0.011985,149,149.9 +23000,H15,4.7226,-5.4863,4.65,0.01196,148.3,150.4 +24000,H15,4.888,-5.4859,4.65,0.01016,147.7,150.6 +25000,H15,5.055,-5.4859,4.651,0.010155,147.2,150.7 diff --git a/pxii_bec/macros/luts/10060033_lut.csv b/pxii_bec/macros/luts/10060033_lut.csv new file mode 100644 index 0000000..8d74d02 --- /dev/null +++ b/pxii_bec/macros/luts/10060033_lut.csv @@ -0,0 +1,5 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +5500,H3,5.4753,-5.5351,4.653,0.21485,149.1,147.7 +6000,H3,5.9188,-5.5256,4.651,0.17691,149,148 +6500,H3,6.3856,-5.5201,4.652,0.14886,148.9,147.9 +7000,H3,6.8854,-5.5153,4.651,0.1271,147.9,147.9 diff --git a/pxii_bec/macros/luts/10060044_lut.csv b/pxii_bec/macros/luts/10060044_lut.csv new file mode 100644 index 0000000..f266c82 --- /dev/null +++ b/pxii_bec/macros/luts/10060044_lut.csv @@ -0,0 +1,21 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +5500,H3,5.4782,-5.5354,4.651,0.21535,149.9,147.9 +6000,H3,5.9216,-5.5261,4.652,0.1769,150,147.9 +6500,H3,6.3901,-5.5214,4.652,0.14884,149.9,148.2 +7000,H3,6.8897,-5.5167,4.652,0.12712,149,148.1 +7500,H5,4.6386,-5.5134,4.653,0.1096,149.4,148.4 +8000,H5,4.8854,-5.5112,4.651,0.095625,149.4,147.8 +8500,H5,5.1359,-5.5089,4.652,0.08421,149.3,148.5 +9000,H5,5.3906,-5.5069,4.652,0.074805,149.3,148.6 +9500,H5,5.6526,-5.5052,4.653,0.066885,149.3,148.6 +10000,H5,5.9209,-5.5036,4.652,0.060085,149,148.1 +10500,H7,4.6374,-5.5023,4.652,0.05426,150.1,148.7 +11000,H7,4.8133,-5.4997,4.651,0.04941,148.9,148.6 +11500,H7,4.9919,-5.4999,4.652,0.04517,149.4,148.9 +12000,H7,5.1714,-5.4986,4.654,0.04137,148.9,149.1 +12500,H7,5.3529,-5.4979,4.654,0.0382,148.6,148.6 +13000,H7,5.538,-5.4971,4.652,0.035015,148.6,149.1 +13500,H9,4.6369,-5.4964,4.652,0.032515,149.2,148.9 +14000,H9,4.7735,-5.4955,4.652,0.030245,148.9,149.2 +14500,H9,4.9112,-5.4948,4.652,0.028045,149,149.2 +15000,H9,20,-5.5257,4.65,0.02622,163.7,83.25 diff --git a/pxii_bec/macros/luts/10060827_lut.csv b/pxii_bec/macros/luts/10060827_lut.csv new file mode 100644 index 0000000..7a82f9b --- /dev/null +++ b/pxii_bec/macros/luts/10060827_lut.csv @@ -0,0 +1,15 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +14500,H9,4.9093,-5.4947,4.65,0.02798,148.7,149.1 +15000,H9,5.0478,-5.4929,4.649,0.026505,148.8,149.1 +15500,H9,5.1887,-5.4922,4.651,0.024595,148.8,149.1 +16000,H9,5.33,-5.4917,4.65,0.02304,148.4,149.4 +16500,H11,4.6369,-5.4913,4.65,0.021675,149.2,149.3 +17000,H11,4.7488,-5.4908,4.65,0.020375,149.3,149.4 +17500,H11,4.8614,-5.4902,4.651,0.019235,148.9,149.6 +18000,H11,4.9743,-5.4896,4.65,0.019225,148.8,149.2 +18500,H11,5.0886,-5.4891,4.649,0.01714,148.9,149.4 +19000,H11,5.2036,-5.4887,4.649,0.01708,148.7,149.5 +19500,H13,4.6401,-5.4887,4.649,0.01543,149.1,149.1 +20000,H13,4.7353,-5.4885,4.65,0.0154,148.7,149.5 +20500,H13,4.831,-5.4883,4.649,0.013935,148.6,149.4 +21000,H13,4.9266,-5.488,4.65,0.013945,148.4,149.4 diff --git a/pxii_bec/macros/luts/10060851_lut.csv b/pxii_bec/macros/luts/10060851_lut.csv new file mode 100644 index 0000000..ebcf0a7 --- /dev/null +++ b/pxii_bec/macros/luts/10060851_lut.csv @@ -0,0 +1,13 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +21000,H13,4.9266,-5.4886,4.65,0.012395,148.9,149.4 +21500,H13,5.0228,-5.488,4.65,0.012405,148.5,149.6 +22000,H13,5.1208,-5.4878,4.651,0.0124,148.2,149.2 +22500,H15,4.6429,-5.4876,4.65,0.012395,147.3,150.1 +23000,H15,4.7259,-5.4874,4.649,0.011095,148.2,149.6 +23500,H15,4.8094,-5.4873,4.649,0.01105,149.1,150.2 +24000,H15,4.8931,-5.4875,4.649,0.01105,149.3,150.1 +24500,H15,4.9761,-5.4873,4.649,0.009695,149,150.1 +25000,H15,5.0601,-5.4873,4.649,0.009705,148.5,150 +25500,H17,4.6457,-5.4874,4.65,0.00969,149.9,150.3 +26000,H17,4.7191,-5.4872,4.65,0.009685,149.7,150.4 +26500,H17,4.7917,-5.4873,4.65,0.008305,149.3,150.4 diff --git a/pxii_bec/macros/luts/10061701_lut.csv b/pxii_bec/macros/luts/10061701_lut.csv new file mode 100644 index 0000000..0949263 --- /dev/null +++ b/pxii_bec/macros/luts/10061701_lut.csv @@ -0,0 +1,9 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +26500,H17,4.795,-5.4866,4.651,0.00813,149.2,152.5 +27000,H17,4.8697,-5.4865,4.65,0.008115,148.4,152 +27500,H17,4.9465,-5.4864,4.651,0.008125,149.5,154.1 +28000,H19,4.5878,-5.4865,4.651,0.00811,150.7,153.1 +28500,H19,4.6494,-5.4863,4.651,0.008125,151,152 +29000,H19,4.7168,-5.4865,4.651,0.00695,152.1,152.5 +29500,H19,4.7809,-5.4858,4.651,0.00692,152,152.3 +30000,H19,4.842,-5.4866,4.651,0.00693,151.8,151.5 diff --git a/pxii_bec/macros/luts/HFMX_1.3000.csv b/pxii_bec/macros/luts/HFMX_1.3000.csv new file mode 100644 index 0000000..73a181c --- /dev/null +++ b/pxii_bec/macros/luts/HFMX_1.3000.csv @@ -0,0 +1,16 @@ +pitch,bpmsum,bpmsum_std +2.970000,1995.270353, 0.519411 +2.974286,1996.092166, 1.615677 +2.978571,1995.409831, 1.079850 +2.982857,1998.545929, 1.562845 +2.987143,1996.542243, 0.899882 +2.991429,2002.012596, 0.419112 +2.995714,1998.630108, 1.326279 +3.000000,2008.909370, 1.918093 +3.004286,2009.864516, 1.879674 +3.008571,2015.183103, 0.778137 +3.012857,2018.023349, 1.240712 +3.017143,2018.071582, 0.996092 +3.021429,2016.858372, 1.640968 +3.025714,2014.200000, 2.032740 +3.030000,2012.670968, 2.015307 diff --git a/pxii_bec/macros/luts/HFMX_1.3000.png b/pxii_bec/macros/luts/HFMX_1.3000.png new file mode 100644 index 0000000..21e5703 Binary files /dev/null and b/pxii_bec/macros/luts/HFMX_1.3000.png differ diff --git a/pxii_bec/macros/luts/HFMX_1.3500.csv b/pxii_bec/macros/luts/HFMX_1.3500.csv new file mode 100644 index 0000000..0c552f3 --- /dev/null +++ b/pxii_bec/macros/luts/HFMX_1.3500.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,2005.621198, 1.029340 +2.973158,2005.084793, 1.715437 +2.976316,2009.083564, 0.434214 +2.979474,2014.045161, 1.665151 +2.982632,2015.090937, 1.194078 +2.985789,2014.305069, 0.861416 +2.988947,2016.027650, 1.071103 +2.992105,2015.389247, 1.546857 +2.995263,2010.675883, 1.332333 +2.998421,2008.888786, 0.646060 +3.001579,2006.709677, 0.646295 +3.004737,2005.826421, 0.549312 +3.007895,1989.537327, 22.333679 +3.011053,1997.183103, 18.851607 +3.014211,2000.006144, 15.603994 +3.017368,1992.287558, 23.749974 +3.020526,1996.480184, 20.997675 +3.023684,1998.900768, 20.229756 +3.026842,2009.308449, 18.520046 +3.030000,2014.621198, 15.038300 diff --git a/pxii_bec/macros/luts/HFMX_1.3500.png b/pxii_bec/macros/luts/HFMX_1.3500.png new file mode 100644 index 0000000..33c2df8 Binary files /dev/null and b/pxii_bec/macros/luts/HFMX_1.3500.png differ diff --git a/pxii_bec/macros/luts/HFMX_1.3667.csv b/pxii_bec/macros/luts/HFMX_1.3667.csv new file mode 100644 index 0000000..e559806 --- /dev/null +++ b/pxii_bec/macros/luts/HFMX_1.3667.csv @@ -0,0 +1 @@ +pitch,bpmsum,bpmsum_std diff --git a/pxii_bec/macros/luts/HFMX_1.3800.csv b/pxii_bec/macros/luts/HFMX_1.3800.csv new file mode 100644 index 0000000..71336c5 --- /dev/null +++ b/pxii_bec/macros/luts/HFMX_1.3800.csv @@ -0,0 +1,4 @@ +pitch,bpmsum,bpmsum_std +2.970000,2033.275269, 2.243254 +2.973158,2035.302919, 1.178480 +2.976316,2034.533641, 0.502040 diff --git a/pxii_bec/macros/luts/VFM--0.87_sum.png b/pxii_bec/macros/luts/VFM--0.87_sum.png new file mode 100644 index 0000000..35abec3 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.87_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.87_y.png b/pxii_bec/macros/luts/VFM--0.87_y.png new file mode 100644 index 0000000..261b61f Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.87_y.png differ diff --git a/pxii_bec/macros/luts/VFM--0.886_sum.png b/pxii_bec/macros/luts/VFM--0.886_sum.png new file mode 100644 index 0000000..934097e Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.886_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.886_y.png b/pxii_bec/macros/luts/VFM--0.886_y.png new file mode 100644 index 0000000..a0ec520 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.886_y.png differ diff --git a/pxii_bec/macros/luts/VFM--0.91_sum.png b/pxii_bec/macros/luts/VFM--0.91_sum.png new file mode 100644 index 0000000..0093e59 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.91_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.91_y.png b/pxii_bec/macros/luts/VFM--0.91_y.png new file mode 100644 index 0000000..e854bef Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.91_y.png differ diff --git a/pxii_bec/macros/luts/VFM--0.93_sum.png b/pxii_bec/macros/luts/VFM--0.93_sum.png new file mode 100644 index 0000000..6ccebdc Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.93_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.93_y.png b/pxii_bec/macros/luts/VFM--0.93_y.png new file mode 100644 index 0000000..6dd3ff1 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.93_y.png differ diff --git a/pxii_bec/macros/luts/VFM--0.95_sum.png b/pxii_bec/macros/luts/VFM--0.95_sum.png new file mode 100644 index 0000000..298eb26 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.95_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.95_y.png b/pxii_bec/macros/luts/VFM--0.95_y.png new file mode 100644 index 0000000..c08cb9e Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.95_y.png differ diff --git a/pxii_bec/macros/luts/VFM--0.97_sum.png b/pxii_bec/macros/luts/VFM--0.97_sum.png new file mode 100644 index 0000000..3ef5f1a Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.97_sum.png differ diff --git a/pxii_bec/macros/luts/VFM--0.97_y.png b/pxii_bec/macros/luts/VFM--0.97_y.png new file mode 100644 index 0000000..789a084 Binary files /dev/null and b/pxii_bec/macros/luts/VFM--0.97_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8100.csv b/pxii_bec/macros/luts/VFMY_-0.8100.csv new file mode 100644 index 0000000..41770ee --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8100.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,105.661444, 0.630127 +2.973158,109.209831, 0.807783 +2.976316,112.522273, 1.889146 +2.979474,111.465131, 0.236757 +2.982632,111.654685, 1.550638 +2.985789,108.991091, 1.419411 +2.988947,107.936406, 0.802936 +2.992105,114.190169, 0.571068 +2.995263,118.480184, 0.662403 +2.998421,121.998157, 0.332878 +3.001579,122.149002, 0.753183 +3.004737,125.345622, 0.595444 +3.007895,125.750538, 0.354205 +3.011053,127.163441, 0.340369 +3.014211,131.395392, 0.717962 +3.017368,133.679877, 0.737095 +3.020526,136.080799, 0.685950 +3.023684,136.760369, 0.889289 +3.026842,140.803994, 0.400916 +3.030000,141.003994, 0.383979 diff --git a/pxii_bec/macros/luts/VFMY_-0.8100.png b/pxii_bec/macros/luts/VFMY_-0.8100.png new file mode 100644 index 0000000..fec7669 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8100.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8300.csv b/pxii_bec/macros/luts/VFMY_-0.8300.csv new file mode 100644 index 0000000..382da44 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8300.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,126.493395, 0.734657 +2.973158,121.405223, 1.319653 +2.976316,114.374501, 0.596659 +2.979474,104.820891, 0.370026 +2.982632,106.782488, 0.451175 +2.985789,112.252227, 1.576946 +2.988947,114.117358, 0.984333 +2.992105,113.973272, 0.302947 +2.995263,111.800000, 0.898373 +2.998421,108.370507, 0.445260 +3.001579,109.287558, 0.976012 +3.004737,114.913057, 1.014235 +3.007895,119.470046, 1.133812 +3.011053,122.756682, 1.002061 +3.014211,123.961598, 0.657022 +3.017368,127.000307, 0.573149 +3.020526,127.598771, 0.815963 +3.023684,130.115822, 0.427102 +3.026842,132.429493, 0.770326 +3.030000,134.838710, 0.651377 diff --git a/pxii_bec/macros/luts/VFMY_-0.8300.png b/pxii_bec/macros/luts/VFMY_-0.8300.png new file mode 100644 index 0000000..2e262fb Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8300.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8500.csv b/pxii_bec/macros/luts/VFMY_-0.8500.csv new file mode 100644 index 0000000..67212ae --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8500.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,130.979416, 2.598251 +2.973158,111.988940, 2.381024 +2.976316,117.349616, 2.453803 +2.979474,126.580952, 1.798308 +2.982632,122.381260, 2.029728 +2.985789,113.749309, 2.023857 +2.988947,109.483257, 1.256593 +2.992105,105.503840, 0.522865 +2.995263,111.272197, 0.855592 +2.998421,112.515207, 0.808063 +3.001579,113.288479, 0.526600 +3.004737,112.712750, 1.417383 +3.007895,110.246697, 0.297536 +3.011053,107.525653, 0.164764 +3.014211,111.107834, 0.484640 +3.017368,116.997849, 1.898614 +3.020526,121.454992, 0.935118 +3.023684,125.173272, 0.779683 +3.026842,127.040246, 0.703823 +3.030000,127.068203, 0.563407 diff --git a/pxii_bec/macros/luts/VFMY_-0.8500.png b/pxii_bec/macros/luts/VFMY_-0.8500.png new file mode 100644 index 0000000..47cb55c Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8500.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8500_sum.png b/pxii_bec/macros/luts/VFMY_-0.8500_sum.png new file mode 100644 index 0000000..a587422 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8500_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8500_y.png b/pxii_bec/macros/luts/VFMY_-0.8500_y.png new file mode 100644 index 0000000..7ce50cf Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8500_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8643.csv b/pxii_bec/macros/luts/VFMY_-0.8643.csv new file mode 100644 index 0000000..8e030cd --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8643.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,345.473118,-1.120354 +2.973158,348.516129,-1.114556 +2.976316,348.609831,-1.109578 +2.979474,345.947773,-1.101993 +2.982632,345.302611,-1.094515 +2.985789,341.963134,-1.080272 +2.988947,336.182796,-1.069023 +2.992105,331.407066,-1.049262 +2.995263,329.350230,-1.028124 +2.998421,322.519201,-1.001953 +3.001579,312.678955,-0.916940 +3.004737,304.391705,-0.686464 +3.007895,298.317972,-0.343080 +3.011053,296.313364,0.146428 +3.014211,298.941628,0.558709 +3.017368,305.715822,0.852227 +3.020526,312.299539,0.987630 +3.023684,318.480799,1.033521 +3.026842,322.772657,1.041569 +3.030000,321.213518,1.065629 diff --git a/pxii_bec/macros/luts/VFMY_-0.8643_sum.png b/pxii_bec/macros/luts/VFMY_-0.8643_sum.png new file mode 100644 index 0000000..6d95c82 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8643_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8643_y.png b/pxii_bec/macros/luts/VFMY_-0.8643_y.png new file mode 100644 index 0000000..9b37f63 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8643_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8700.csv b/pxii_bec/macros/luts/VFMY_-0.8700.csv new file mode 100644 index 0000000..1cd2586 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8700.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,183.069739, 0.970376 +2.973158,172.223349, 0.922638 +2.976316,155.572350, 1.136152 +2.979474,137.136713, 1.500654 +2.982632,117.217512, 1.245881 +2.985789,115.418433, 1.122034 +2.988947,122.200922, 1.387540 +2.992105,124.365284, 1.234859 +2.995263,118.396928, 1.372908 +2.998421,114.110906, 0.687973 +3.001579,106.005223, 0.323989 +3.004737,107.025806, 0.921461 +3.007895,111.375115, 0.942571 +3.011053,113.340707, 1.442148 +3.014211,113.327803, 0.677466 +3.017368,111.966513, 0.917594 +3.020526,107.500768, 0.839700 +3.023684,107.057143, 1.860562 +3.026842,112.298618, 2.292798 +3.030000,118.692473, 1.716359 diff --git a/pxii_bec/macros/luts/VFMY_-0.8700.png b/pxii_bec/macros/luts/VFMY_-0.8700.png new file mode 100644 index 0000000..0e4bd1a Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8700.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8786.csv b/pxii_bec/macros/luts/VFMY_-0.8786.csv new file mode 100644 index 0000000..fa8954b --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8786.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,351.092166,-1.129862 +2.973158,350.348694,-1.127597 +2.976316,349.032258,-1.121862 +2.979474,348.867896,-1.118538 +2.982632,350.067588,-1.109254 +2.985789,349.135177,-1.110801 +2.988947,346.571429,-1.102243 +2.992105,344.259601,-1.091632 +2.995263,340.465438,-1.075428 +2.998421,333.705069,-1.056383 +3.001579,329.221198,-1.037943 +3.004737,324.645161,-1.018614 +3.007895,316.317972,-0.957966 +3.011053,308.202765,-0.804157 +3.014211,298.969278,-0.473269 +3.017368,295.038402,-0.070173 +3.020526,296.677419,0.405589 +3.023684,302.597542,0.753004 +3.026842,309.339478,0.948800 +3.030000,318.666667,1.026406 diff --git a/pxii_bec/macros/luts/VFMY_-0.8786_sum.png b/pxii_bec/macros/luts/VFMY_-0.8786_sum.png new file mode 100644 index 0000000..8f67e52 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8786_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8786_y.png b/pxii_bec/macros/luts/VFMY_-0.8786_y.png new file mode 100644 index 0000000..e2501ec Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8786_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8800.csv b/pxii_bec/macros/luts/VFMY_-0.8800.csv new file mode 100644 index 0000000..06f4e98 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8800.csv @@ -0,0 +1,21 @@ +pitch,bpmsum +2.970000,183.033794 +2.973158,183.671275 +2.976316,177.069124 +2.979474,161.142857 +2.982632,146.496160 +2.985789,128.470046 +2.988947,112.697389 +2.992105,112.442396 +2.995263,121.827957 +2.998421,123.712750 +3.001579,116.603687 +3.004737,111.729647 +3.007895,103.545315 +3.011053,105.737327 +3.014211,108.712750 +3.017368,112.032258 +3.020526,111.110599 +3.023684,108.470046 +3.026842,108.069124 +3.030000,106.462366 diff --git a/pxii_bec/macros/luts/VFMY_-0.8800.png b/pxii_bec/macros/luts/VFMY_-0.8800.png new file mode 100644 index 0000000..4b03662 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8800.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8900.csv b/pxii_bec/macros/luts/VFMY_-0.8900.csv new file mode 100644 index 0000000..e17d29f --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8900.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,172.046697, 0.927792 +2.973158,185.196621, 1.467121 +2.976316,187.825806, 0.529468 +2.979474,186.627035, 0.883378 +2.982632,176.166513, 0.837568 +2.985789,162.333026, 1.527062 +2.988947,141.751767, 1.937880 +2.992105,124.053763, 0.600258 +2.995263,111.491244, 1.083412 +2.998421,119.490937, 0.609211 +3.001579,124.945315, 1.081220 +3.004737,121.934562, 1.499359 +3.007895,115.932719, 0.641874 +3.011053,106.145008, 0.625654 +3.014211,104.681106, 0.489649 +3.017368,109.556375, 0.878970 +3.020526,111.923195, 0.848470 +3.023684,112.194470, 0.897746 +3.026842,111.311521, 0.667029 +3.030000,109.019662, 0.457860 diff --git a/pxii_bec/macros/luts/VFMY_-0.8900.png b/pxii_bec/macros/luts/VFMY_-0.8900.png new file mode 100644 index 0000000..6abe803 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8900.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8929.csv b/pxii_bec/macros/luts/VFMY_-0.8929.csv new file mode 100644 index 0000000..ff549b1 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.8929.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,360.026114,-1.130524 +2.973158,358.368664,-1.131795 +2.976316,354.513057,-1.136610 +2.979474,352.675883,-1.126606 +2.982632,351.388633,-1.126817 +2.985789,351.006144,-1.119770 +2.988947,350.525346,-1.115105 +2.992105,348.626728,-1.106350 +2.995263,346.508449,-1.098723 +2.998421,344.829493,-1.091517 +3.001579,341.456221,-1.077683 +3.004737,336.150538,-1.057249 +3.007895,331.354839,-1.036910 +3.011053,328.130568,-1.013080 +3.014211,320.981567,-0.982406 +3.017368,309.694316,-0.861942 +3.020526,301.622120,-0.619014 +3.023684,296.047619,-0.224959 +3.026842,295.494624,0.227320 +3.030000,300.293395,0.636853 diff --git a/pxii_bec/macros/luts/VFMY_-0.8929_sum.png b/pxii_bec/macros/luts/VFMY_-0.8929_sum.png new file mode 100644 index 0000000..8bbffc1 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8929_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.8929_y.png b/pxii_bec/macros/luts/VFMY_-0.8929_y.png new file mode 100644 index 0000000..044ca11 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.8929_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9000.csv b/pxii_bec/macros/luts/VFMY_-0.9000.csv new file mode 100644 index 0000000..8503b65 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9000.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,143.216590, 0.833668 +2.973158,163.202458, 0.615279 +2.976316,176.255300, 0.912149 +2.979474,183.968971, 0.860562 +2.982632,185.719508, 1.511975 +2.985789,179.619355, 1.489151 +2.988947,171.002151, 1.083081 +2.992105,152.280799, 1.616691 +2.995263,135.743472, 0.944213 +2.998421,117.705684, 1.099684 +3.001579,111.727496, 1.034206 +3.004737,121.720737, 1.784924 +3.007895,123.007680, 0.382976 +3.011053,119.377573, 0.865725 +3.014211,112.539785, 0.478727 +3.017368,104.704762, 1.281842 +3.020526,106.286022, 0.961649 +3.023684,109.067588, 1.744057 +3.026842,111.161290, 0.973614 +3.030000,111.958525, 0.769755 diff --git a/pxii_bec/macros/luts/VFMY_-0.9000.png b/pxii_bec/macros/luts/VFMY_-0.9000.png new file mode 100644 index 0000000..f0f8cdc Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9000.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9025.csv b/pxii_bec/macros/luts/VFMY_-0.9025.csv new file mode 100644 index 0000000..37a4d53 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9025.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,136.437788, 2.991189 +2.973158,151.453763, 1.306948 +2.976316,168.032258, 2.696873 +2.979474,180.921045, 2.019564 +2.982632,184.847619, 1.313362 +2.985789,183.280492, 0.855684 +2.988947,176.092166, 1.796988 +2.992105,160.293088, 1.599040 +2.995263,144.990783, 2.788174 +2.998421,125.854071, 1.351165 +3.001579,110.926882, 1.328000 +3.004737,117.659601, 0.860189 +3.007895,123.994163, 1.395071 +3.011053,121.989247, 1.091398 +3.014211,116.914593, 1.931029 +3.017368,108.298618, 0.977068 +3.020526,105.536098, 0.699501 +3.023684,108.492780, 1.059968 +3.026842,109.587097, 0.679966 +3.030000,110.507220, 0.894705 diff --git a/pxii_bec/macros/luts/VFMY_-0.9025.png b/pxii_bec/macros/luts/VFMY_-0.9025.png new file mode 100644 index 0000000..dd649c9 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9025.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9050.csv b/pxii_bec/macros/luts/VFMY_-0.9050.csv new file mode 100644 index 0000000..cd154c6 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9050.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,139.553610, 0.456469 +2.973158,145.454992, 0.699286 +2.976316,162.591398, 0.862385 +2.979474,175.221813, 0.901905 +2.982632,184.029493, 1.181985 +2.985789,185.008602, 1.519957 +2.988947,179.229493, 1.457346 +2.992105,166.709985, 1.858964 +2.995263,152.358833, 0.757400 +2.998421,133.021505, 0.957156 +3.001579,116.082642, 1.286252 +3.004737,110.735484, 0.946326 +3.007895,119.763748, 1.199653 +3.011053,120.489094, 1.540041 +3.014211,116.357911, 2.279823 +3.017368,109.497696, 2.796338 +3.020526,103.548694, 1.678395 +3.023684,102.644854, 1.906400 +3.026842,106.901075, 1.448856 +3.030000,108.323810, 1.545654 diff --git a/pxii_bec/macros/luts/VFMY_-0.9050.png b/pxii_bec/macros/luts/VFMY_-0.9050.png new file mode 100644 index 0000000..3154e7d Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9050.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9071.csv b/pxii_bec/macros/luts/VFMY_-0.9071.csv new file mode 100644 index 0000000..66e401e --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9071.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,366.201229,-1.131990 +2.973158,366.353303,-1.128279 +2.976316,363.609831,-1.131679 +2.979474,360.651306,-1.132401 +2.982632,357.127496,-1.134999 +2.985789,353.841782,-1.128526 +2.988947,352.666667,-1.124441 +2.992105,352.259601,-1.121210 +2.995263,351.654378,-1.110184 +2.998421,350.789555,-1.105099 +3.001579,347.339478,-1.102062 +3.004737,345.685100,-1.088219 +3.007895,341.596006,-1.075061 +3.011053,337.016897,-1.060611 +3.014211,332.368664,-1.041798 +3.017368,328.715822,-1.019641 +3.020526,322.007680,-0.988719 +3.023684,312.993856,-0.904633 +3.026842,304.751152,-0.704682 +3.030000,297.447005,-0.344663 diff --git a/pxii_bec/macros/luts/VFMY_-0.9071_sum.png b/pxii_bec/macros/luts/VFMY_-0.9071_sum.png new file mode 100644 index 0000000..67c904f Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9071_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9071_y.png b/pxii_bec/macros/luts/VFMY_-0.9071_y.png new file mode 100644 index 0000000..6143b4a Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9071_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9075.csv b/pxii_bec/macros/luts/VFMY_-0.9075.csv new file mode 100644 index 0000000..c846c55 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9075.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,141.998771, 1.191323 +2.973158,136.890937, 0.893242 +2.976316,153.992320, 1.525038 +2.979474,170.094009, 0.942243 +2.982632,180.613210, 1.049312 +2.985789,183.873118, 1.531291 +2.988947,181.462058, 0.965757 +2.992105,172.342243, 1.146667 +2.995263,159.265131, 1.692140 +2.998421,141.943779, 1.071277 +3.001579,125.216590, 0.924346 +3.004737,107.883564, 0.701416 +3.007895,116.622734, 1.293028 +3.011053,121.349002, 1.823628 +3.014211,118.765591, 1.094223 +3.017368,116.760061, 1.444165 +3.020526,108.266667, 0.947316 +3.023684,102.154839, 0.906981 +3.026842,104.117358, 1.078396 +3.030000,109.051613, 1.155629 diff --git a/pxii_bec/macros/luts/VFMY_-0.9075.png b/pxii_bec/macros/luts/VFMY_-0.9075.png new file mode 100644 index 0000000..a3679c3 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9075.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9100.csv b/pxii_bec/macros/luts/VFMY_-0.9100.csv new file mode 100644 index 0000000..d85888b --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9100.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,151.073425, 1.363561 +2.973158,139.515515, 1.005386 +2.976316,151.494316, 1.049763 +2.979474,168.674654, 1.276804 +2.982632,180.756989, 1.061867 +2.985789,188.252842, 0.911351 +2.988947,187.367127, 0.948202 +2.992105,181.703840, 1.124743 +2.995263,168.086943, 0.672625 +2.998421,150.379416, 0.766697 +3.001579,130.786175, 1.652184 +3.004737,114.954839, 1.118676 +3.007895,116.621505, 0.879745 +3.011053,124.011367, 0.858613 +3.014211,123.317051, 1.695530 +3.017368,118.831336, 1.598938 +3.020526,112.200000, 0.480499 +3.023684,105.533641, 0.965553 +3.026842,107.070661, 0.499657 +3.030000,110.239631, 1.097109 diff --git a/pxii_bec/macros/luts/VFMY_-0.9100.png b/pxii_bec/macros/luts/VFMY_-0.9100.png new file mode 100644 index 0000000..ce17c24 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9100.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9125.csv b/pxii_bec/macros/luts/VFMY_-0.9125.csv new file mode 100644 index 0000000..07ecb80 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9125.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,152.329954, 0.988102 +2.973158,139.020276, 0.425301 +2.976316,142.442396, 1.237166 +2.979474,160.784025, 1.330994 +2.982632,175.379724, 0.813527 +2.985789,182.461137, 0.940068 +2.988947,183.254685, 0.363531 +2.992105,180.592012, 0.444846 +2.995263,168.430722, 0.474608 +2.998421,153.742550, 1.279420 +3.001579,136.452842, 1.349096 +3.004737,119.333333, 0.863288 +3.007895,109.011060, 0.694126 +3.011053,116.603687, 1.110612 +3.014211,121.002765, 0.408897 +3.017368,119.529954, 1.335959 +3.020526,113.664209, 0.687267 +3.023684,108.560676, 1.038527 +3.026842,102.525653, 0.375875 +3.030000,107.592012, 0.988674 diff --git a/pxii_bec/macros/luts/VFMY_-0.9125.png b/pxii_bec/macros/luts/VFMY_-0.9125.png new file mode 100644 index 0000000..6a7493d Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9125.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9150.csv b/pxii_bec/macros/luts/VFMY_-0.9150.csv new file mode 100644 index 0000000..7686964 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9150.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,151.191091, 0.483144 +2.973158,144.789555, 0.820616 +2.976316,138.937020, 1.036746 +2.979474,155.786790, 1.446790 +2.982632,170.473425, 1.463160 +2.985789,181.218433, 0.550020 +2.988947,184.855914, 1.216439 +2.992105,181.718587, 1.592385 +2.995263,174.168971, 1.068629 +2.998421,158.926575, 1.493991 +3.001579,141.955146, 0.938710 +3.004737,126.358218, 0.846286 +3.007895,109.870046, 1.180657 +3.011053,116.125653, 1.515476 +3.014211,122.478034, 0.975994 +3.017368,119.580952, 1.964499 +3.020526,116.478034, 0.904749 +3.023684,108.887250, 1.125432 +3.026842,104.653149, 0.627914 +3.030000,107.042089, 0.640633 diff --git a/pxii_bec/macros/luts/VFMY_-0.9150.png b/pxii_bec/macros/luts/VFMY_-0.9150.png new file mode 100644 index 0000000..2bbed68 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9150.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9175.csv b/pxii_bec/macros/luts/VFMY_-0.9175.csv new file mode 100644 index 0000000..11d3a6d --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9175.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,150.168664, 1.717365 +2.973158,147.966513, 3.027156 +2.976316,135.164977, 1.322338 +2.979474,145.331490, 1.265317 +2.982632,164.176959, 1.350984 +2.985789,174.116743, 1.286609 +2.988947,182.021505, 1.947215 +2.992105,182.306605, 1.950468 +2.995263,176.331183, 1.711797 +2.998421,166.417512, 3.270700 +3.001579,150.799693, 1.152484 +3.004737,135.900154, 0.980826 +3.007895,115.128111, 0.900812 +3.011053,112.383717, 0.888437 +3.014211,120.586790, 0.816762 +3.017368,121.279877, 1.954627 +3.020526,119.240246, 1.274696 +3.023684,112.471582, 0.834546 +3.026842,106.366820, 1.638663 +3.030000,103.108449, 0.520659 diff --git a/pxii_bec/macros/luts/VFMY_-0.9175.png b/pxii_bec/macros/luts/VFMY_-0.9175.png new file mode 100644 index 0000000..a36e119 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9175.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9200.csv b/pxii_bec/macros/luts/VFMY_-0.9200.csv new file mode 100644 index 0000000..074dddb --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9200.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,151.446697, 1.184698 +2.973158,149.762519, 2.442940 +2.976316,140.563134, 1.391137 +2.979474,138.378495, 0.630520 +2.982632,155.750230, 0.769502 +2.985789,170.772965, 0.752961 +2.988947,179.815668, 1.460312 +2.992105,183.059601, 1.968542 +2.995263,180.780338, 1.097834 +2.998421,170.826114, 1.422029 +3.001579,156.587711, 1.503106 +3.004737,140.257450, 1.550656 +3.007895,123.041167, 0.655744 +3.011053,109.141935, 0.533414 +3.014211,117.349923, 0.850868 +3.017368,119.628879, 1.140060 +3.020526,118.370200, 1.253399 +3.023684,116.231336, 1.131814 +3.026842,108.248541, 0.792798 +3.030000,102.919201, 0.580337 diff --git a/pxii_bec/macros/luts/VFMY_-0.9200.png b/pxii_bec/macros/luts/VFMY_-0.9200.png new file mode 100644 index 0000000..6d56247 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9200.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9214.csv b/pxii_bec/macros/luts/VFMY_-0.9214.csv new file mode 100644 index 0000000..9f4deb9 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9214.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,366.417819,-1.139844 +2.973158,369.115207,-1.137949 +2.976316,369.102919,-1.129844 +2.979474,368.086022,-1.131937 +2.982632,366.923195,-1.130098 +2.985789,363.778802,-1.131948 +2.988947,358.970814,-1.127644 +2.992105,356.107527,-1.126000 +2.995263,353.614439,-1.121808 +2.998421,353.804916,-1.120709 +3.001579,352.872504,-1.116274 +3.004737,352.812596,-1.106437 +3.007895,349.984639,-1.100571 +3.011053,347.400922,-1.088600 +3.014211,343.944700,-1.078032 +3.017368,341.018433,-1.061594 +3.020526,335.184332,-1.040127 +3.023684,329.285714,-1.024911 +3.026842,324.463902,-1.005473 +3.030000,315.646697,-0.944940 diff --git a/pxii_bec/macros/luts/VFMY_-0.9214_sum.png b/pxii_bec/macros/luts/VFMY_-0.9214_sum.png new file mode 100644 index 0000000..4ed7e1d Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9214_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9214_y.png b/pxii_bec/macros/luts/VFMY_-0.9214_y.png new file mode 100644 index 0000000..b7f2ccd Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9214_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9300.csv b/pxii_bec/macros/luts/VFMY_-0.9300.csv new file mode 100644 index 0000000..31a44d3 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9300.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,146.596006, 0.747332 +2.973158,154.334255, 0.645296 +2.976316,156.197542, 1.589074 +2.979474,154.613210, 1.169924 +2.982632,143.713364, 1.229785 +2.985789,146.593856, 1.621659 +2.988947,166.483871, 2.484188 +2.992105,178.582181, 1.349543 +2.995263,186.957911, 1.434740 +2.998421,189.103226, 0.966005 +3.001579,183.684793, 0.812022 +3.004737,172.591091, 1.177794 +3.007895,155.748080, 1.273735 +3.011053,140.253149, 0.736742 +3.014211,120.468817, 1.536167 +3.017368,114.149309, 0.744897 +3.020526,122.073118, 0.622164 +3.023684,123.152381, 1.737357 +3.026842,120.745622, 1.342527 +3.030000,114.953917, 1.659409 diff --git a/pxii_bec/macros/luts/VFMY_-0.9300.png b/pxii_bec/macros/luts/VFMY_-0.9300.png new file mode 100644 index 0000000..61feff2 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9300.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9357.csv b/pxii_bec/macros/luts/VFMY_-0.9357.csv new file mode 100644 index 0000000..836f445 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9357.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpm_y +2.970000,370.038402,-1.138832 +2.973158,368.880184,-1.138202 +2.976316,368.542243,-1.136095 +2.979474,369.165899,-1.132080 +2.982632,369.062980,-1.135416 +2.985789,368.748080,-1.133661 +2.988947,367.288786,-1.132327 +2.992105,365.559140,-1.130575 +2.995263,361.069124,-1.127867 +2.998421,357.806452,-1.124826 +3.001579,354.454685,-1.125148 +3.004737,353.463902,-1.120070 +3.007895,353.457757,-1.111911 +3.011053,352.666667,-1.108908 +3.014211,349.651306,-1.105291 +3.017368,349.211982,-1.092868 +3.020526,345.745008,-1.084743 +3.023684,342.119816,-1.075413 +3.026842,337.168971,-1.056256 +3.030000,332.576037,-1.034112 diff --git a/pxii_bec/macros/luts/VFMY_-0.9357_sum.png b/pxii_bec/macros/luts/VFMY_-0.9357_sum.png new file mode 100644 index 0000000..8e14932 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9357_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9357_y.png b/pxii_bec/macros/luts/VFMY_-0.9357_y.png new file mode 100644 index 0000000..0f5fe77 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9357_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9500.csv b/pxii_bec/macros/luts/VFMY_-0.9500.csv new file mode 100644 index 0000000..202edf7 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9500.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,157.787711, 0.459077 +2.973158,160.361905, 1.661659 +2.976316,155.429800, 0.922068 +2.979474,148.294316, 1.421963 +2.982632,153.681413, 1.509893 +2.985789,159.223656, 1.754787 +2.988947,155.802765, 1.190347 +2.992105,146.618433, 2.495784 +2.995263,146.364977, 0.653229 +2.998421,161.532719, 1.057322 +3.001579,176.693702, 0.986528 +3.004737,186.641167, 1.453827 +3.007895,189.430415, 1.156064 +3.011053,188.198464, 0.604839 +3.014211,178.743472, 0.756671 +3.017368,164.493395, 1.522827 +3.020526,148.838402, 1.039202 +3.023684,130.853149, 1.006670 +3.026842,115.144393, 0.955433 +3.030000,119.905376, 1.823709 diff --git a/pxii_bec/macros/luts/VFMY_-0.9500.png b/pxii_bec/macros/luts/VFMY_-0.9500.png new file mode 100644 index 0000000..2905368 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9500.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9500_sum.png b/pxii_bec/macros/luts/VFMY_-0.9500_sum.png new file mode 100644 index 0000000..46ed4af Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9500_sum.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9500_y.png b/pxii_bec/macros/luts/VFMY_-0.9500_y.png new file mode 100644 index 0000000..6ad2f8a Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9500_y.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9700.csv b/pxii_bec/macros/luts/VFMY_-0.9700.csv new file mode 100644 index 0000000..a975411 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9700.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,159.921352, 1.156287 +2.973158,153.650077, 0.949303 +2.976316,150.566820, 0.675954 +2.979474,156.047926, 2.787849 +2.982632,158.473425, 2.599330 +2.985789,154.465438, 3.445128 +2.988947,145.514286, 1.906949 +2.992105,149.890323, 1.681377 +2.995263,154.848233, 2.456214 +2.998421,155.677727, 2.868791 +3.001579,144.808909, 1.253055 +3.004737,140.569585, 1.531442 +3.007895,156.955146, 1.617923 +3.011053,171.418126, 2.385795 +3.014211,181.322273, 2.262649 +3.017368,187.966820, 0.995128 +3.020526,188.986790, 0.445162 +3.023684,181.411060, 1.363718 +3.026842,168.856836, 1.716050 +3.030000,154.636559, 0.498177 diff --git a/pxii_bec/macros/luts/VFMY_-0.9700.png b/pxii_bec/macros/luts/VFMY_-0.9700.png new file mode 100644 index 0000000..6b77c76 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9700.png differ diff --git a/pxii_bec/macros/luts/VFMY_-0.9900.csv b/pxii_bec/macros/luts/VFMY_-0.9900.csv new file mode 100644 index 0000000..2d213ac --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-0.9900.csv @@ -0,0 +1,21 @@ +pitch,bpmsum,bpmsum_std +2.970000,164.656221, 1.323405 +2.973158,161.078955, 0.550750 +2.976316,162.014439, 0.671878 +2.979474,159.923195, 1.822890 +2.982632,155.607988, 0.739734 +2.985789,149.416283, 0.226775 +2.988947,154.277112, 1.477009 +2.992105,158.996621, 1.889436 +2.995263,156.887558, 0.649681 +2.998421,149.358833, 0.804915 +3.001579,149.643318, 0.615017 +3.004737,155.201843, 0.767366 +3.007895,156.157911, 0.726083 +3.011053,151.677727, 1.043588 +3.014211,141.122888, 1.455524 +3.017368,149.180338, 1.078680 +3.020526,165.281413, 0.984334 +3.023684,179.537327, 1.194505 +3.026842,186.648848, 0.793558 +3.030000,188.027343, 0.856059 diff --git a/pxii_bec/macros/luts/VFMY_-0.9900.png b/pxii_bec/macros/luts/VFMY_-0.9900.png new file mode 100644 index 0000000..8f0ec45 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-0.9900.png differ diff --git a/pxii_bec/macros/luts/VFMY_-1.0100.csv b/pxii_bec/macros/luts/VFMY_-1.0100.csv new file mode 100644 index 0000000..4e66813 --- /dev/null +++ b/pxii_bec/macros/luts/VFMY_-1.0100.csv @@ -0,0 +1,3 @@ +pitch,bpmsum,bpmsum_std +2.970000,4699.179724, 2.998631 +2.973158,4723.178187, 2.686146 diff --git a/pxii_bec/macros/luts/VFMY_-1.0100.png b/pxii_bec/macros/luts/VFMY_-1.0100.png new file mode 100644 index 0000000..9fc87b7 Binary files /dev/null and b/pxii_bec/macros/luts/VFMY_-1.0100.png differ diff --git a/pxii_bec/macros/luts/combine_lut.csv b/pxii_bec/macros/luts/combine_lut.csv new file mode 100644 index 0000000..b242cd6 --- /dev/null +++ b/pxii_bec/macros/luts/combine_lut.csv @@ -0,0 +1,49 @@ +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +5500,H3,5.4782,-5.5354,4.651,0.21535,149.9,147.9 +6000,H3,5.9216,-5.5261,4.652,0.1769,150,147.9 +6500,H3,6.3901,-5.5214,4.652,0.14884,149.9,148.2 +7000,H3,6.8897,-5.5167,4.652,0.12712,149,148.1 +7500,H5,4.6386,-5.5134,4.653,0.1096,149.4,148.4 +8000,H5,4.8854,-5.5112,4.651,0.095625,149.4,147.8 +8500,H5,5.1359,-5.5089,4.652,0.08421,149.3,148.5 +9000,H5,5.3906,-5.5069,4.652,0.074805,149.3,148.6 +9500,H5,5.6526,-5.5052,4.653,0.066885,149.3,148.6 +10000,H5,5.9209,-5.5036,4.652,0.060085,149,148.1 +10500,H7,4.6374,-5.5023,4.652,0.05426,150.1,148.7 +11000,H7,4.8133,-5.4997,4.651,0.04941,148.9,148.6 +11500,H7,4.9919,-5.4999,4.652,0.04517,149.4,148.9 +12000,H7,5.1714,-5.4986,4.654,0.04137,148.9,149.1 +12500,H7,5.3529,-5.4979,4.654,0.0382,148.6,148.6 +13000,H7,5.538,-5.4971,4.652,0.035015,148.6,149.1 +13500,H9,4.6369,-5.4964,4.652,0.032515,149.2,148.9 +14000,H9,4.7735,-5.4955,4.652,0.030245,148.9,149.2 +14500,H9,4.9112,-5.4948,4.652,0.028045,149,149.2 +15000,H9,20,-5.5257,4.65,0.02622,163.7,83.25 +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +14500,H9,4.9093,-5.4947,4.65,0.02798,148.7,149.1 +15000,H9,5.0478,-5.4929,4.649,0.026505,148.8,149.1 +15500,H9,5.1887,-5.4922,4.651,0.024595,148.8,149.1 +16000,H9,5.33,-5.4917,4.65,0.02304,148.4,149.4 +16500,H11,4.6369,-5.4913,4.65,0.021675,149.2,149.3 +17000,H11,4.7488,-5.4908,4.65,0.020375,149.3,149.4 +17500,H11,4.8614,-5.4902,4.651,0.019235,148.9,149.6 +18000,H11,4.9743,-5.4896,4.65,0.019225,148.8,149.2 +18500,H11,5.0886,-5.4891,4.649,0.01714,148.9,149.4 +19000,H11,5.2036,-5.4887,4.649,0.01708,148.7,149.5 +19500,H13,4.6401,-5.4887,4.649,0.01543,149.1,149.1 +20000,H13,4.7353,-5.4885,4.65,0.0154,148.7,149.5 +20500,H13,4.831,-5.4883,4.649,0.013935,148.6,149.4 +21000,H13,4.9266,-5.488,4.65,0.013945,148.4,149.4 +energy,harmonic,gap,pitch,roll,perp,ss_xicam_x,ss_xicam_y +21000,H13,4.9266,-5.4886,4.65,0.012395,148.9,149.4 +21500,H13,5.0228,-5.488,4.65,0.012405,148.5,149.6 +22000,H13,5.1208,-5.4878,4.651,0.0124,148.2,149.2 +22500,H15,4.6429,-5.4876,4.65,0.012395,147.3,150.1 +23000,H15,4.7259,-5.4874,4.649,0.011095,148.2,149.6 +23500,H15,4.8094,-5.4873,4.649,0.01105,149.1,150.2 +24000,H15,4.8931,-5.4875,4.649,0.01105,149.3,150.1 +24500,H15,4.9761,-5.4873,4.649,0.009695,149,150.1 +25000,H15,5.0601,-5.4873,4.649,0.009705,148.5,150 +25500,H17,4.6457,-5.4874,4.65,0.00969,149.9,150.3 +26000,H17,4.7191,-5.4872,4.65,0.009685,149.7,150.4 +26500,H17,4.7917,-5.4873,4.65,0.008305,149.3,150.4 diff --git a/pxii_bec/macros/luts/peak_positions.csv b/pxii_bec/macros/luts/peak_positions.csv new file mode 100644 index 0000000..777e11b --- /dev/null +++ b/pxii_bec/macros/luts/peak_positions.csv @@ -0,0 +1,105 @@ +energy_keV,peak_gap,peak_height +15000,4.643613338470459,269.24865092251696 +15000,5.042154788970947,302.51778868340733 +15500,4.771168231964111,185.06675398141059 +15500,5.1856513023376465,238.54400927049304 +16000,4.516061782836914,164.84860630578578 +16000,4.88274621963501,140.59788497194074 +16000,5.329137802124023,176.73607691917115 +16500,4.627667427062988,131.16571016865248 +16500,5.010258197784424,114.2801940064906 +16500,5.472601890563965,128.64838469583648 +17000,4.739272117614746,100.63108906862853 +17000,5.137811660766602,87.54717788817028 +17500,4.532032489776611,80.57144403133876 +17500,4.850892066955566,72.25142540312639 +17500,5.265398025512695,63.053651766277866 +18000,4.643621444702148,69.29196845717625 +18000,4.978420257568359,56.57407198381041 +18000,5.392927646636963,44.87921938136735 +18500,4.739269733428955,50.11054051800301 +18500,5.090023040771484,45.29964266702901 +18500,5.520445823669434,31.093844382364093 +19000,4.547967910766602,36.85699000644738 +19000,4.850887298583984,37.96278045910221 +19000,5.20161771774292,35.774381901208265 +19500,4.643618583679199,26.4201022087671 +19500,4.946523666381836,28.33697474291736 +19500,5.3131866455078125,24.927293091931446 +20000,4.72335147857666,20.444326893918817 +20000,5.058117866516113,20.729207351736616 +20000,5.440715312957764,15.792272137053901 +20500,4.547968864440918,19.84762552970149 +20500,4.8189697265625,15.61757742310433 +20500,5.153793811798096,13.729952505186013 +20500,5.552323341369629,12.14922190453598 +21000,4.64362907409668,15.428928048858442 +21000,4.914647102355957,11.600230301878593 +21000,5.265396595001221,11.126699335836548 +21500,4.723357677459717,11.121586412154823 +21500,5.010266304016113,8.548501005740473 +21500,5.376972675323486,8.085152500841028 +22000,4.563900947570801,8.027010495934087 +22000,4.818967819213867,9.44542799737915 +22000,5.105923652648926,6.452088132479059 +22000,5.488558769226074,5.899272289852344 +22500,4.643614768981934,7.105815137899083 +22500,4.898702144622803,6.685423976160595 +22500,5.217522621154785,5.377896134537174 +22500,5.584222793579102,4.445064994677631 +23000,4.723357200622559,5.944854527691895 +23000,4.994349479675293,6.075071077028391 +23000,5.313185691833496,4.64154863504976 +23500,4.56390380859375,6.6071287706273605 +23500,4.803039073944092,4.99535603074526 +23500,5.090027332305908,4.508609482630598 +23500,5.4088335037231445,3.6103220179552014 +24000,4.643623352050781,5.067088370007999 +24000,4.882752895355225,3.9056154444679203 +24000,5.169724941253662,3.3357591107371416 +24000,5.504495620727539,2.67027336507086 +24500,4.723359107971191,3.9120208844407847 +24500,4.978423118591309,3.3932321026803165 +24500,5.265403747558594,2.9628006935015225 +25000,4.563908100128174,3.4349476739644733 +25000,4.803039073944092,3.060068218399269 +25000,5.058104515075684,2.4663548275739906 +25000,5.361008644104004,2.5314350485711143 +25500,4.643627643585205,2.8698087885874504 +25500,4.866822719573975,2.4916198357850448 +25500,5.137818813323975,2.1372410803955324 +25500,5.456698417663574,1.939293733232011 +26000,4.7073869705200195,2.285493820897417 +26000,4.946528434753418,2.190172031513833 +26000,5.217531204223633,1.6457097053465637 +26000,5.552326679229736,1.5298009693564039 +26500,4.579864501953125,2.2989581108010184 +26500,4.787127494812012,2.037784063808594 +26500,5.0262346267700195,1.9338402673530675 +26500,5.313190460205078,1.4446242242995722 +27000,4.643624305725098,2.095660941295116 +27000,4.866816520690918,1.6128136917887557 +27000,5.105927467346191,1.5720304995715337 +27000,5.3929290771484375,1.199527603383037 +27500,4.516073226928711,1.885971954457924 +27500,4.707390785217285,1.7414147943192977 +27500,4.9305644035339355,1.4137615516727042 +27500,5.185664176940918,1.2855270728418178 +28000,4.579861164093018,1.5782787755071643 +28000,4.787118434906006,1.3578748285717401 +28000,5.010270118713379,1.1946609720539945 +28000,5.265400409698486,1.0548230454282355 +28000,5.568275451660156,0.8231526359879807 +28500,4.64362907409668,1.3566692069119877 +28500,4.850888252258301,1.2778493151018213 +28500,5.090022563934326,1.0051138296681636 +28500,5.3450798988342285,0.9774708643514783 +29000,4.5160698890686035,1.3287903159804713 +29000,4.707391262054443,1.238985522086465 +29000,4.914641380310059,1.123340958352304 +29000,5.1537861824035645,0.9107183203062431 +29000,5.42476749420166,0.8394222661816406 +29500,4.579863548278809,1.2501091912339222 +29500,4.771176338195801,1.1604641944123284 +29500,4.994353771209717,1.0588994622187058 +29500,5.233463764190674,0.8860916629395694 diff --git a/pxii_bec/macros/luts/pitchVFM--0.65.csv b/pxii_bec/macros/luts/pitchVFM--0.65.csv new file mode 100644 index 0000000..523cebd --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.65.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +1 +2.973,2150,-1.011 +2.976,2146,-1.009 +2.979,2327,-1.007 +2.983,2127,-1.008 +2.986,2140,-1.007 +2.989,2079,-1.004 +2.992,2089,-1.002 +2.995,2014,-0.9937 +2.998,1756,-0.8296 +3.002,1673,0.7357 +3.005,1744,0.8187 +3.008,1797,0.8646 +3.011,1909,0.8821 +3.014,1956,0.8809 +3.017,1906,0.854 +3.021,1902,0.8626 +3.024,1917,0.8813 +3.027,2026,0.9164 +3.03,1995,0.9088 diff --git a/pxii_bec/macros/luts/pitchVFM--0.67.csv b/pxii_bec/macros/luts/pitchVFM--0.67.csv new file mode 100644 index 0000000..36926fd --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.67.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +12 +2.973,2230,-1.011 +2.976,2115,-1.01 +2.979,2128,-1.01 +2.983,2123,-1.009 +2.986,2153,-1.007 +2.989,2140,-1.006 +2.992,2138,-1.001 +2.995,2134,-1.002 +2.998,2086,-1 +3.002,2037,-0.9951 +3.005,1955,-0.9767 +3.008,1670,0.4701 +3.011,1764,0.8589 +3.014,1806,0.888 +3.017,1909,0.906 +3.021,1996,0.9112 +3.024,1949,0.9144 +3.027,2047,0.9299 +3.03,1972,0.9313 diff --git a/pxii_bec/macros/luts/pitchVFM--0.87.csv b/pxii_bec/macros/luts/pitchVFM--0.87.csv new file mode 100644 index 0000000..9263fbd --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.87.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +14 +2.973,328.8,-1.139 +2.976,331.3,-1.131 +2.979,331.6,-1.125 +2.983,335,-1.111 +2.986,335.3,-1.1 +2.989,330.6,-1.093 +2.992,326.7,-1.077 +2.995,322.9,-1.053 +2.998,320,-1.037 +3.002,313,-1.004 +3.005,301.7,-0.8776 +3.008,296.9,-0.6329 +3.011,290.3,-0.2598 +3.014,291,0.1524 +3.017,294.3,0.5595 +3.021,304.8,0.8794 +3.024,304.6,0.9769 +3.027,315.7,1.072 +3.03,314.9,1.084 diff --git a/pxii_bec/macros/luts/pitchVFM--0.886.csv b/pxii_bec/macros/luts/pitchVFM--0.886.csv new file mode 100644 index 0000000..503befc --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.886.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +142 +2.973,334.4,-1.144 +2.976,332.9,-1.141 +2.979,331.3,-1.134 +2.983,329.8,-1.129 +2.986,329.4,-1.122 +2.989,331,-1.113 +2.992,331.3,-1.104 +2.995,331.2,-1.095 +2.998,328.4,-1.08 +3.002,324.7,-1.058 +3.005,323,-1.038 +3.008,318.2,-1.008 +3.011,308.3,-0.9586 +3.014,298.6,-0.776 +3.017,293.1,-0.487 +3.021,290.9,-0.06001 +3.024,295.4,0.3834 +3.027,301.5,0.7233 +3.03,306.5,0.9435 diff --git a/pxii_bec/macros/luts/pitchVFM--0.91.csv b/pxii_bec/macros/luts/pitchVFM--0.91.csv new file mode 100644 index 0000000..5ab8b62 --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.91.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +141 +2.973,347.4,-1.147 +2.976,345.6,-1.148 +2.979,344.3,-1.144 +2.983,340.5,-1.141 +2.986,337.3,-1.137 +2.989,335.1,-1.13 +2.992,334.6,-1.126 +2.995,335,-1.124 +2.998,334,-1.114 +3.002,335.8,-1.107 +3.005,335.9,-1.096 +3.008,334.6,-1.085 +3.011,330.1,-1.07 +3.014,327.6,-1.046 +3.017,323.9,-1.027 +3.021,320,-1.003 +3.024,313.2,-0.9455 +3.027,304.1,-0.773 +3.03,296.4,-0.4832 diff --git a/pxii_bec/macros/luts/pitchVFM--0.93.csv b/pxii_bec/macros/luts/pitchVFM--0.93.csv new file mode 100644 index 0000000..64939ea --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.93.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +17 +2.973,3286,-1.017 +2.976,3300,-1.017 +2.979,3339,-1.017 +2.983,3343,-1.017 +2.986,3341,-1.017 +2.989,3327,-1.017 +2.992,3320,-1.017 +2.995,3321,-1.017 +2.998,3319,-1.017 +3.002,3297,-1.017 +3.005,3276,-1.017 +3.008,3262,-1.017 +3.011,3263,-1.017 +3.014,3252,-1.017 +3.017,3217,-1.017 +3.021,3190,-1.017 +3.024,3172,-1.017 +3.027,3155,-1.017 +3.03,3143,-1.017 diff --git a/pxii_bec/macros/luts/pitchVFM--0.95.csv b/pxii_bec/macros/luts/pitchVFM--0.95.csv new file mode 100644 index 0000000..8874141 --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.95.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +17 +2.973,3208,-1.017 +2.976,3271,-1.017 +2.979,3297,-1.017 +2.983,3253,-1.017 +2.986,3323,-1.017 +2.989,3330,-1.017 +2.992,3333,-1.017 +2.995,3368,-1.017 +2.998,3363,-1.017 +3.002,3356,-1.017 +3.005,3331,-1.017 +3.008,3325,-1.017 +3.011,3311,-1.017 +3.014,3300,-1.017 +3.017,3272,-1.017 +3.021,3256,-1.017 +3.024,3247,-1.016 +3.027,3251,-1.016 +3.03,3237,-1.016 diff --git a/pxii_bec/macros/luts/pitchVFM--0.955.csv b/pxii_bec/macros/luts/pitchVFM--0.955.csv new file mode 100644 index 0000000..d7cf40c --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.955.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +18 +2.973,3232,-1.017 +2.976,3234,-1.018 +2.979,3264,-1.018 +2.983,3280,-1.018 +2.986,3295,-1.018 +2.989,3299,-1.018 +2.992,3262,-1.018 +2.995,3237,-1.018 +2.998,3287,-1.017 +3.002,3315,-1.017 +3.005,3262,-1.017 +3.008,3250,-1.017 +3.011,3198,-1.017 +3.014,3214,-1.017 +3.017,3171,-1.017 +3.021,3122,-1.018 +3.024,3169,-1.018 +3.027,3096,-1.017 +3.03,3164,-1.017 diff --git a/pxii_bec/macros/luts/pitchVFM--0.97.csv b/pxii_bec/macros/luts/pitchVFM--0.97.csv new file mode 100644 index 0000000..fa7c568 --- /dev/null +++ b/pxii_bec/macros/luts/pitchVFM--0.97.csv @@ -0,0 +1,21 @@ +BCUsum, BCU-Y +98 +2.973,2617,-0.9875 +2.976,2589,-0.9567 +2.979,2529,-0.8754 +2.983,2498,-0.7614 +2.986,2453,-0.6275 +2.989,2439,-0.4967 +2.992,2423,-0.314 +2.995,2401,-0.1736 +2.998,2377,0.0009539 +3.002,2316,0.07771 +3.005,2275,0.2329 +3.008,2252,0.3828 +3.011,2219,0.5737 +3.014,2253,0.7466 +3.017,2292,0.8224 +3.021,2370,0.8759 +3.024,2367,0.8754 +3.027,2367,0.8784 +3.03,2391,0.8906 diff --git a/pxii_bec/macros/luts/summary_bpmy_vs_vfmy.png b/pxii_bec/macros/luts/summary_bpmy_vs_vfmy.png new file mode 100644 index 0000000..89440b8 Binary files /dev/null and b/pxii_bec/macros/luts/summary_bpmy_vs_vfmy.png differ diff --git a/pxii_bec/macros/luts/summary_pitch_vs_vfmy.png b/pxii_bec/macros/luts/summary_pitch_vs_vfmy.png new file mode 100644 index 0000000..a890812 Binary files /dev/null and b/pxii_bec/macros/luts/summary_pitch_vs_vfmy.png differ diff --git a/pxii_bec/macros/luts/summary_sum_vs_vfmy.png b/pxii_bec/macros/luts/summary_sum_vs_vfmy.png new file mode 100644 index 0000000..9cc866f Binary files /dev/null and b/pxii_bec/macros/luts/summary_sum_vs_vfmy.png differ diff --git a/pxii_bec/macros/luts/vfm_summary.csv b/pxii_bec/macros/luts/vfm_summary.csv new file mode 100644 index 0000000..957887b --- /dev/null +++ b/pxii_bec/macros/luts/vfm_summary.csv @@ -0,0 +1,12 @@ +vfmy,pitch_peak,sum_peak +-1.010000,2.976316,168.248541 +-0.990000,3.030000,188.027343 +-0.970000,3.020526,188.986790 +-0.950000,3.007895,189.430415 +-0.930000,2.998421,189.103226 +-0.910000,2.985789,188.252842 +-0.890000,2.976316,187.825806 +-0.870000,2.970000,183.069739 +-0.850000,2.970000,130.979416 +-0.830000,3.030000,134.838710 +-0.810000,3.030000,141.003994 diff --git a/pxii_bec/macros/matcher.py b/pxii_bec/macros/matcher.py new file mode 100755 index 0000000..38298f7 --- /dev/null +++ b/pxii_bec/macros/matcher.py @@ -0,0 +1,67 @@ +"""Used for checking device positions match current state""" + + +class DeviceMatcher: + """Class for checking device positions match current state""" + + def __init__(self): + self._rules = {} + + def register(self, device_name, func): + """Register a matching function for a device.""" + self._rules[device_name] = func + + def matches(self, device_name, device, expected): + """Return True if device matches expected state.""" + if expected is None: + return True # "don't care" + + if device_name in self._rules: + return self._rules[device_name](device, expected) + + # default fallback + return device.is_at(expected) + + def explain(self, device_name, device, expected): + """Return True if device matches expected state.""" + val = device.readback.get() + + if device_name in self._rules: + ok = self._rules[device_name](device, expected) + else: + ok = device.is_at(expected) + + return ok, val + + +def nonzero_is_on(device, expected, eps=1e-6): + """Define that anything > 0 is on""" + val = device.actual + + if expected == "off": + return abs(val) < eps + if expected == "on": + return val > eps + + return abs(val - expected) < eps + + +# def threshold_rule(param_name): +# def _rule(device, expected): +# val = device.actual +# +# if expected == param_name: +# threshold = device.position +# return val >= threshold +# +# return device.is_at(expected) +# +# return _rule +# +# +# def within_tolerance(tol): +# def _rule(device, expected): +# val = device.readback.get() +# return abs(val - expected) < tol +# +# return _rule diff --git a/pxii_bec/macros/pxii_gap.py b/pxii_bec/macros/pxii_gap.py new file mode 100755 index 0000000..517523f --- /dev/null +++ b/pxii_bec/macros/pxii_gap.py @@ -0,0 +1,190 @@ +"""Anuschka's gap calculation script for the U19 undulator.""" + +import numpy as np +# from pxii_parameters import Harmonics, Gap + + +def u19_fit_params(): + """ + Return the fitting parameters for U19. + + The function returns a NumPy array containing three fitting parameters + for U19. + + Returns: + np.ndarray: A NumPy array containing three fitting parameters + for U19. + + """ + u19_fit = np.array([2.17078531, 0.519452, -0.00720255]) + return u19_fit + + +def calculate_exponential_gap(normalized_energy, a, b, c): + """ + Calculate the exponential gap based on the normalized energy and polynomial parameters. + + This function computes the exponential gap using a formula involving normalized + energy and coefficients `a`, `b`, and `c`. It applies an exponential function + to produce the result. + + Parameters: + normalized_energy : float + The normalized energy value used in the calculation. + a : float + The coefficient of the exponential function. + b : float + The linear term coefficient in the exponent. + c : float + The quadratic term coefficient in the exponent. + + Returns: + float + The calculated exponential gap value. + """ + return a * np.exp(b * normalized_energy + c * normalized_energy**2) + + +def select_harmonic(energy_kev: float): + """ + Determines the harmonic for a given energy value in keV based on predefined + harmonic energy ranges. + + This function iterates through a dictionary of harmonic energy ranges, checks + whether the given energy value falls within the range for each harmonic, and + returns the corresponding mapped harmonic if found. If the energy does not + fit into any range, the function returns None. + + Parameters: + energy_kev (float): The energy value in keV for which the harmonic is to + be determined. + + Returns: + int: The harmonic number corresponding to the energy range, or None if the + energy does not belong to any defined harmonic range. + """ + for harmonic, (low, high) in Harmonics.energy_ranges.items(): + if low < energy_kev <= high: + return Harmonics.map[harmonic] + return None + + +def calculate_low_energy_gap(energy_kev, print_result: bool = True): + """ + Calculates the low energy gap based on the given energy in keV and an optional + flag to print the result. + + The function uses a selected harmonic to calculate the gap. If no valid harmonic + is determined, and if the `print_result` parameter is True, it prints an + informative message. Otherwise, it returns None. + + Parameters: + energy_kev: float + The energy in keV for which the low energy gap is to be calculated. + print_result: bool, optional + A flag indicating whether to print a message if there is no valid + gap. Defaults to True. + + Returns: + float or None + The calculated low energy gap if a valid harmonic is selected, + otherwise None. + """ + selected_harmonic = select_harmonic(energy_kev) + if selected_harmonic is not None: + return np.poly1d(selected_harmonic)(energy_kev) + if print_result: + print("Not a valid gap, no action taken") + return None + + +def calculate_high_energy_gap(energy_kev, u19_fit): + """ + Calculate the high energy gap based on provided energy and fitting parameters. + + This function determines the harmonic energy range for a given energy in keV + and computes the gap value using a fitted exponential function. If the energy + does not fall into any harmonic range, the function returns None. + + Args: + energy_kev: float + The energy value in keV to define the corresponding energy range. + u19_fit: list[float] + A list of fitting parameters [a, b, c] used for the exponential gap + calculation. + + Returns: + float or None: + The calculated gap value if the energy falls within a specified harmonic range. + Returns None if the energy does not fall within any range. + + Raises: + None + """ + # for harmonic, (low, high) in HIGH_ENERGY_HARMONICS: + for harmonic, (low, high) in Harmonics.high_energy: + if low < energy_kev <= high: + normalized_energy = energy_kev / harmonic + return calculate_exponential_gap( + normalized_energy, u19_fit[0], u19_fit[1], u19_fit[2] + ) + return None + + +def new_calc_gap(energy_ev): + """ + Calculates the gap based on the given energy + """ + gapval = Gap() + harmonic_values = gapval.get_harmonic_values(energy_ev) + if harmonic_values is not None: + fit = np.poly1d(harmonic_values)(energy_ev) + gap_value = fit * 0.9994 + return gap_value + return None + + +# def calc_gap(energy_kev): +# """ +# Calculate the undulator gap based on the provided energy value. + +# This function determines the gap required for generating a specific +# photon energy, based on whether the energy falls in the low-energy or +# high-energy range. For low energies (<= 22 keV), the gap is calculated using +# `calculate_low_energy_gap`. For high energies (> 22 keV), the gap is computed +# using `calculate_high_energy_gap` with a set of parameters obtained from +# `u19_fit_params`. + +# Args: +# energy_kev (float): The photon energy in keV for which the magnet gap is +# calculated. Must be a positive value. + +# Returns: +# float: The calculated magnet gap in millimeters. +# """ +# if energy_kev <= 31: +# gap = calculate_low_energy_gap(energy_kev) +# else: +# u19_fit = u19_fit_params() +# gap = calculate_high_energy_gap(energy_kev, u19_fit) +# return float(gap) + + +def set_gap(energy_ev, print_result=True): + """ + set the gap + """ + gap = new_calc_gap(energy_ev) + # else: + # gap = calc_gap(energy_kev) + if gap is not None and Harmonics.min_gap_value <= gap <= 20: + umv(dev.id_gap, gap) + if print_result: + print(f"Setting gap to {gap:.3f} mm") + else: + msg = ( + f"Position {gap: .3f} mm is outside the allowed scan range of " + f"4.5 to 20 mm. Not changing the gap." + ) + raise ValueError(msg) + return gap diff --git a/pxii_bec/macros/set_kbox.sh b/pxii_bec/macros/set_kbox.sh index fa30fd9..99c821a 100755 --- a/pxii_bec/macros/set_kbox.sh +++ b/pxii_bec/macros/set_kbox.sh @@ -33,7 +33,7 @@ fi DEVICE_NAME="$1" SET_VALUE="$2" -if ! [[ "$SET_VALUE" =~ ^[0-9]+$ ]]; then +if ! [[ "$SET_VALUE" =~ ^[0-9]+\.[0-9]+$ ]]; then echo "Error: set_value must be numeric" exit 1 fi diff --git a/pxii_bec/macros/temp/config.py b/pxii_bec/macros/temp/config.py new file mode 100644 index 0000000..1d07498 --- /dev/null +++ b/pxii_bec/macros/temp/config.py @@ -0,0 +1,24 @@ +""" "Initialises the sample environment devices, guards, +dependencies and planner""" + +# import yaml +# from devices import build_devices +# from guards import attach_guards +# from policies import attach_policies + + +def init_se_devices(): + """Initialises the sample environment devices""" + directory = "/sls/x10sa/config/bec/production/pxii_bec/pxii_bec/device_configs/" + # directory = "./" + filename = "se_devices.yaml" + file = directory + filename + print(f"Loading devices from {file}") + se_devices = build_devices(file) + attach_guards(se_devices) + attach_policies(se_devices) + + return se_devices + + + diff --git a/pxii_bec/macros/temp/devices.py b/pxii_bec/macros/temp/devices.py new file mode 100644 index 0000000..7956976 --- /dev/null +++ b/pxii_bec/macros/temp/devices.py @@ -0,0 +1,167 @@ +"""Set up the positioned devices""" + +from dataclasses import dataclass, field +from typing import Callable, List, Dict, Optional, Union + +import yaml + + +@dataclass +class PositionDevice: + """Generic device that moves between named or numeric positions""" + + bec_name: str + positions: Dict[str, float] = field(default_factory=dict) + tol: float = 0.1 + + guards: List[Callable[[], None]] = field(default_factory=list) + policy: Optional[Callable[[float], None]] = None + + # line below defines if the device is permitted to move to any arbitrary position or not + allow_arbitrary: bool = False + + def __post_init__(self): + # Use this for BEC + self.mot = getattr(dev, self.bec_name) + + # Use this for testing + # self.mot = self.MockMotor() + + # Normalize position names + self.positions = {k.lower(): v for k, v in self.positions.items()} + + # ------------------------- + # internal helpers + # ------------------------- + + def _check_guards(self): + for g in self.guards: + g() + + def _resolve_target(self, target: Union[str, float]) -> float: + """Convert target into a motor position""" + + if isinstance(target, str): + name = target.lower() + + if name not in self.positions: + raise ValueError(f"Unknown position '{target}'") + + return self.positions[name] + + if isinstance(target, (float, int)): + if not self.allow_arbitrary: + raise ValueError(f"{self.bec_name} only accepts named positions") + return float(target) + + raise TypeError("Target must be str or float") + + # ------------------------- + # motion + # ------------------------- + + def move(self, target: Union[str, float]): + """Unified move interface""" + + pos = self._resolve_target(target) + + self._check_guards() + + if self.policy: + self.policy(pos) + + # Use for testing + # self.mot.move(pos) + + # Use in BEC + scans.umv(self.mot, pos, relative=False) + # s = scans.mv(self.mot, pos, relative=False) + # s.wait(timeout=5) + + # def set_position(self, target: Union[str, float]): + # """Only to be used for testing purposes""" + # pos = self._resolve_target(target) + # self.mot.move(pos) + + # ------------------------- + # readback + # ------------------------- + + @property + def actual(self) -> float: + """Return the actual position of the device.""" + return self.mot.read()[self.bec_name]["value"] + # return self.mot.position + + @property + def pos(self) -> str: + """Return the closest matching position""" + + for name, pos in self.positions.items(): + if abs(self.actual - pos) <= self.tol: + return name + + return "unknown" + + def is_at(self, position: str) -> bool: + """Return True if the device is at the given position.""" + position = position.lower() + + if position not in self.positions: + raise ValueError(f"Unknown position '{position}'") + + return abs(self.actual - self.positions[position]) <= self.tol + + # ------------------------- + # Mock Motor Implementation + # ------------------------- + + class MockMotor: + """Mock implementation of MotorLike for testing and initialization.""" + + def __init__(self): + self.position = 0.0 + + def move(self, value: float): + """Move the motor to the given position.""" + self.position = value + + def read(self): + """Read the current position of the motor.""" + return {"value": self.position} + + +def build_devices(yaml_file): + """Takes the defined positions from the device yaml file + and adds them to the PositionDevice class. + """ + # discrete_devs = [] + # continuous_devs = [] + se_devices = {} + + with open(yaml_file, encoding="utf-8") as f: + data = yaml.safe_load(f) + + for bec_name, cfg in data.items(): + # Skip devices without userParameter + user = cfg.get("userParameter") + + if not user: + continue + + tol = user.get("tol", 0.1) + + positions = {k: v for k, v in user.items() if k not in ("type", "tol")} + + if user["type"] == "discrete": + dev = PositionDevice(bec_name, positions, tol=tol, allow_arbitrary=False) + # discrete_devs.append(bec_name) + se_devices[bec_name] = dev + elif user["type"] == "continuous": + dev = PositionDevice(bec_name, positions, tol=tol, allow_arbitrary=True) + # continuous_devs.append(bec_name) + se_devices[bec_name] = dev + + # print(f"Discrete devices: {discrete_devs}") + # print(f"Continuous: {continuous_devs}") + return se_devices diff --git a/pxii_bec/macros/temp/enums.py b/pxii_bec/macros/temp/enums.py new file mode 100755 index 0000000..40b8d9f --- /dev/null +++ b/pxii_bec/macros/temp/enums.py @@ -0,0 +1,22 @@ +"""Enums for beamline states""" +from enum import Enum + + +class BeamlineState(str, Enum): + """List of beamline states""" + ROBOT_SAMPLE_EXCHANGE = "robot_sample_exchange" + SAMPLE_ALIGNMENT = "sample_alignment" + DATA_COLLECTION = "data_collection" + DC_XRF = "DC_XRF" + MANUAL_SAMPLE_EXCHANGE = "manual_sample_exchange" + BEAM_VISUALISATION = "beam_visualisation" + FLUX_MEASUREMENT = "flux_measurement" + BEAMSTOP_ALIGNMENT = "beamstop_alignment" + MAINTENANCE = "maintenance" + XTAL_SNAPSHOT = "xtal_snapshot" + + +class TemperatureMode(str, Enum): + """List of temperature modes""" + CRYO = "cryo" + ROOM_TEMP = "room_temp" diff --git a/pxii_bec/macros/temp/guards.py b/pxii_bec/macros/temp/guards.py new file mode 100644 index 0000000..42799d2 --- /dev/null +++ b/pxii_bec/macros/temp/guards.py @@ -0,0 +1,95 @@ +"""Setup guards for devices.""" + + +class GuardViolation(Exception): + """Raised when a guarded move is not allowed.""" + + +class AtPositionGuard: + """Guard that checks if a device is in a specific position.""" + + def __init__(self, device, position): + self.device = device + self.pos = position + + def check(self): + """Check if the device is in the specified position.""" + if self.device.pos != self.pos: + raise GuardViolation( + f"{self.device.bec_name} must be in the '{self.pos}' position" + ) + # print("move allowed") + return True + + def requirement(self): + """Return the requirement for the guard.""" + return (self.device.bec_name, self.pos) + + +class MinMaxGuard: + """Guard that checks if a device is within a specific range.""" + + def __init__(self, device, limit_value, direction): + self.device = device + self.limit_value = limit_value + self.direction = direction # direction: 'max' or 'min' + + def check(self): + """Check if the device is within the specified range.""" + if self.direction == "less_than": + if not (self.device.actual - self.device.tol) <= self.limit_value: + raise GuardViolation( + f"{self.device.bec_name} must be less than or equal to {self.limit_value} mm" + ) + elif self.direction == "more_than": + if not (self.device.actual + self.device.tol) >= self.limit_value: + raise GuardViolation( + f"{self.device.bec_name} must be greater than or equal to {self.limit_value} mm" + ) + else: + raise ValueError( + f"Invalid direction '{self.direction}'. Use 'less_than' or 'more_than'." + ) + + # print("move allowed") + return True + + def requirement(self): + """Return the requirement for the guard.""" + # planner cannot handle numeric constraints directly + # return None -> planner ignores + return None + + +def guards_setup(d): + """Define guards for devices.""" + guards = {} + guards["bs_safe"] = AtPositionGuard(d["bs_z"], position="safe") + guards["bs_max_blin"] = MinMaxGuard( + d["bs_z"], direction="less_than", limit_value=d["bs_z"].positions["max_blin"] + ) + guards["bs_work_min"] = MinMaxGuard( + d["bs_z"], direction="more_than", limit_value=d["bs_z"].positions["work_min"] + ) + guards["bs_pos_in"] = AtPositionGuard(d["bs_pos"], position="in") + guards["gonx_out"] = MinMaxGuard( + d["gon_x"], direction="less_than", limit_value=d["gon_x"].positions["out"] + ) + guards["gonx_safe"] = AtPositionGuard(d["gon_x"], position="safe") + guards["diag_y_out"] = MinMaxGuard( + d["diag_y"], direction="less_than", limit_value=d["diag_y"].positions["out"] + ) + guards["coll_y_out"] = MinMaxGuard( + d["coll_y"], direction="less_than", limit_value=d["coll_y"].positions["out"] + ) + return guards + + +def attach_guards(d): + """Attach guards to devices.""" + g = guards_setup(d) + d["diag_y"].guards.append(g["bs_work_min"].check) + d["bl_pos"].guards.append(g["bs_max_blin"].check) + d["bs_pos"].guards.append(g["bs_safe"].check) + d["bs_z"].guards.append(g["bs_pos_in"].check) + d["coll_y"].guards.append(g["bs_work_min"].check) diff --git a/pxii_bec/macros/temp/planner.py b/pxii_bec/macros/temp/planner.py new file mode 100644 index 0000000..b976571 --- /dev/null +++ b/pxii_bec/macros/temp/planner.py @@ -0,0 +1,244 @@ +"""Planner to move between beamline states""" +from enum import Enum +import yaml +from collections import defaultdict, deque + + +class BeamlineState(str, Enum): + ROBOT_SAMPLE_EXCHANGE = "robot_sample_exchange" + SAMPLE_ALIGNMENT = "sample_alignment" + DATA_COLLECTION = "data_collection" + DC_XRF = "DC_XRF" + MANUAL_SAMPLE_EXCHANGE = "manual_sample_exchange" + BEAM_VISUALISATION = "beam_visualisation" + FLUX_MEASUREMENT = "flux_measurement" + BEAMSTOP_ALIGNMENT = "beamstop_alignment" + MAINTENANCE = "maintenance" + XTAL_SNAPSHOT = "xtal_snapshot" + +class TemperatureMode(str, Enum): + CRYO = "cryo" + ROOM_TEMP = "room_temp" + +def get_states(): + """Returns the states defined in beamline_states.yaml""" + directory = "/sls/x10sa/config/bec/production/pxii_bec/pxii_bec/device_configs/" + # directory = "./" + filename = "beamline_states.yaml" + file = directory + filename + with open(file, "r", encoding="utf-8") as f: + cfg = yaml.safe_load(f) + states = {} + allow_modifiers = {} + + for name, config in cfg["states"].items(): + state = BeamlineState(name) + + allow_modifiers[state] = config.pop("allow_modifiers", False) + + states[state] = config + + return states, allow_modifiers + + # cfg = yaml.safe_load(f) + # return { + # BeamlineState(name): config + # for name, config in cfg["states"].items() + # } + + +class StateManager: + """Moves devices to the correct positions to achieve a given state""" + + def __init__(self, + devices, + states: dict[BeamlineState, dict[str, str]], + allow_modifiers=None, + deps=None, + debug=False, + ): + self.devices = devices + self.states = states + self.allow_modifiers = allow_modifiers or {} + self.deps = deps + self.debug = debug + + self.modifiers = { + TemperatureMode.CRYO: {"cryo_pos": "in"}, + TemperatureMode.ROOM_TEMP: {"cryo_pos": "out"}, + } + + def _merged_state(self, state, modifier): + target = dict(self.states[state]) + + if modifier: + if isinstance(modifier, str): + modifier = TemperatureMode(modifier) + + if self.allow_modifiers.get(state, False): + target.update(self.modifiers[modifier]) + return target + + def move_to(self, state_name, modifier=None): + """Move devices to the correct positions to achieve a given state""" + if isinstance(state_name, str): + state_name = BeamlineState(state_name) + target = self._merged_state(state_name, modifier) + + plan = self._plan(target) + + print("PLAN:") + for i, stage in enumerate(plan): + print(f"Stage {i + 1}: {stage}") + + for stage in plan: + for dev, pos in stage: + d = self.devices[dev] + if not d.is_at(pos): + + if self.debug: + print(f"→ Moving {dev} -> {pos}") + # print(" Before:", self.get_states()) + + try: + d.move(pos) + + except Exception as e: + print(f"Exception occurred: {e}") + print(f"\nFAILED MOVE: {dev} -> {pos}") + print("States at failure:", self.get_positions()) + raise + + # if self.debug: + # print(" After :", self.get_states()) + # if not d.is_at(pos): + # d.move(pos) + + # def reset(self, state): + # """Reset all devices to the given state""" + # if isinstance(state, str): + # state = BeamlineState(state) + # for dev, pos in self.states[state].items(): + # self.devices[dev].set_pos(pos) + + def available_states(self): + """Return a list of available states""" + return list(self.states.keys()) + + def get_positions(self): + """Return current positions of all SE devices""" + return {name: dev.pos for name, dev in self.devices.items()} + + def print_positions(self): + """Return current state of all devices""" + for name, device in self.devices.items(): + print(f"{name:10s} : {device.pos}") + + def diff_states(self, before): + """Return a dict of {device: (before, after)} pairs for devices that changed state""" + after = self.get_positions() + return {k: (before[k], after[k]) for k in before if before[k] != after[k]} + + def current_state(self): + """Return all current matching BeamlineState and TemperatureMode combinations, + prioritizing non-None modifiers first.""" + matches = [] # Store all matching (state, modifier) pairs + ignore_keys = {"bl_bright", "fl_bright"} + + for state in self.states: + # Start with prioritized modifiers: Non-None first, then None. + modifiers = list(self.modifiers.keys()) + modifiers.append(None) # Add `None` as a fallback after real modifiers. + + for modifier in modifiers: + # Combine state and modifier to get full configuration + config = self._merged_state(state, modifier) + + # Check if all devices match their expected positions + if all(self.devices[d].is_at(p) + for d, p in config.items() + if d not in ignore_keys + ): + # print(f"Current state: {state.name}, Modifier: {modifier.name if modifier else 'None'}") + matches.append((state.name, modifier.name if modifier else 'None')) + + return matches if matches else None + + + + def is_state(self, state, modifier=None): + """Check if the current state matches the given state and modifier.""" + actual = self.current_state() + if not actual: + return False + + if modifier is None: + # match any modifier + return any(s == state.name for s, _ in actual) + + return (state.name, modifier.name) in actual + + def _plan(self, target): + + graph = defaultdict(set) + indeg = defaultdict(int) + nodes = set() + + for dev, pos in target.items(): + node = (dev, pos) + nodes.add(node) + + for dep in self.deps.get(node, []): + graph[dep].add(node) + indeg[node] += 1 + nodes.add(dep) + + q = deque(n for n in nodes if indeg[n] == 0) + stages = [] + + while q: + stage = list(q) + stages.append(stage) + q.clear() + + for n in stage: + for m in graph[n]: + indeg[m] -= 1 + if indeg[m] == 0: + q.append(m) + + if sum(len(s) for s in stages) != len(nodes): + raise RuntimeError("Circular dependency in state dependencies") + return stages + + +def planner_deps(): + """Define the dependencies between beamline positions""" + return { + ("bs_z", "samp"): [ + ("gon_x", "out"), + ("diag_y", "out"), + ("coll_y", "out"), + ], + ("gon_x", "in"): [ + ("diag_y", "out"), + ("bs_z", "safe"), + ], + ("diag_y", "scint"): [ + ("gon_x", "out"), + ("cryo_pos", "out") + ], + ("diag_y", "i1"): [ + ("gon_x", "out"), + ("cryo_pos", "out")], + ("bs_pos", "out"): [("bs_z", "safe")], + ("bs_pos", "in"): [("bs_z", "safe")], + ("diag_y", "out"): [("bs_z", "safe")], + ("diag_y", "park"): [("bs_z", "safe")], + ("coll_y", "out"): [("bs_z", "safe")], + ("coll_y", "park"): [("bs_z", "safe")], + ("coll_y", "in"): [("bs_z", "safe")], + ("coll_y", "intermediate"): [("bs_z", "safe")] + } + + diff --git a/pxii_bec/macros/temp/policies.py b/pxii_bec/macros/temp/policies.py new file mode 100644 index 0000000..34f7790 --- /dev/null +++ b/pxii_bec/macros/temp/policies.py @@ -0,0 +1,73 @@ +'''Define guard policies for devices in the beamline.''' +# from guards import GuardViolation, guards_setup + + +def is_sample_area_clear_for_beamstop(d): + '''Check if the sample area is clear of diag_y, coll_y, and gonx''' + g = guards_setup(d) + if g["diag_y_out"].check() and g["coll_y_out"].check() and g["gonx_out"].check(): + return True + return False + + +def is_sample_area_clear_for_gonx(d): + '''Check if the sample area is clear of diag_y and bs_z''' + g = guards_setup(d) + if g["diag_y_out"].check() and g["bs_work_min"].check(): + return True + return False + + +def make_gon_x_policy(d): + '''Create the policy for gon_x''' + def gon_x_policy(target): + cfg = d["gon_x"].positions + if target >= cfg["out"] and not is_sample_area_clear_for_gonx(d): + raise GuardViolation("Sample area is not clear") + + return gon_x_policy + + +def make_bs_z_policy(d): + '''Create the policy for bs_z''' + def bs_z_policy(target): + """Checks that the target position is within limits""" + cfg = d["bs_z"].positions + # Lower bound + if target < cfg["work_min"] and not is_sample_area_clear_for_beamstop(d): + raise GuardViolation("Sample area is not clear") + if target < cfg["min"]: + raise GuardViolation( + f"Requested beamstop Z {target} is below recommended minimum {cfg['min']}" + ) + # Upper bound + if d["bl_pos"].pos == "in" and target > cfg["max_blin"]: + raise GuardViolation( + f"Beamstop Z cannot move beyond {cfg['max_blin']} when backlight is IN" + ) + + return bs_z_policy + + +def make_diag_y_policy(d): + '''Create the policy for diag_y''' + def diag_y_policy(target): + cfg = d["diag_y"].positions + # Don't move in if the goniometer is >= 'in' + if d["gon_x"].actual >= d["gon_x"].positions["in"] and target > cfg['out']: + raise GuardViolation( + f"Diagnostic device cannot move beyond {cfg['out']} mm when goniometer is not OUT" + ) + if d['cryo_pos'].pos == "in" and target > cfg["out"]: + raise GuardViolation( + f"Diagnostic device cannot move beyond {cfg['out']} mm when cryo is IN" + ) + + return diag_y_policy + + +def attach_policies(d): + '''Attach the policies to the devices''' + d["bs_z"].policy = make_bs_z_policy(d) + d["gon_x"].policy = make_gon_x_policy(d) + d["diag_y"].policy = make_diag_y_policy(d) diff --git a/pxii_bec/macros/temp/pxii-devices-new.yaml b/pxii_bec/macros/temp/pxii-devices-new.yaml new file mode 100644 index 0000000..0f7aa0f --- /dev/null +++ b/pxii_bec/macros/temp/pxii-devices-new.yaml @@ -0,0 +1,1621 @@ +sls_current: + description: SLS Current + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - SLS + readOnly: True + softwareTrigger: false + +fe_bpm1: + description: FE XBPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm2: + description: FE XBPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm3: + description: FE XBPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm4: + description: FE XBPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpmsum: + description: FE XBPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-FE-XBPM1:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +fe_bpm_x: + description: FE BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_bpm_y: + description: FE BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-FE-XBPM1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xr: + description: FE Slit X Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yt: + description: FE Slit Y Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xw: + description: FE Slit X Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_yb: + description: FE Slit Y Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xcen: + description: FE Slit X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_xsize: + description: FE Slit X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ycen: + description: FE Slit Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:CENTERY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +fe_sl_ysize: + description: FE Slit Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-FE-SL1:SIZEY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - fe + readOnly: False + softwareTrigger: false + +bsf_sl_xw: + description: BSF Slit Wall + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xr: + description: BSF Slit Ring + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yt: + description: BSF Slit Top + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_yb: + description: BSF Slit Bottom + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xcen: + description: BSF X Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_xsize: + description: BSF X Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ycen: + description: BSF Y Centre + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_sl_ysize: + description: BSF Y Size + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f1_y: + description: BSF Filter 1 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +bsf_f2_y: + description: BSF Filter 2 Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-BSFFI2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bsf + readOnly: False + softwareTrigger: false + +dcm_bragg: + description: DCM Bragg Angle + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_x: + description: DCM Lateral + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_perp: + description: DCM Perpendicular + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-CR2'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_pitch: + description: DCM 2nd Crystal Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_fpitch: + description: DCM 2nd Crystal Fine Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-FINEPITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +dcm_froll: + description: DCM 2nd Crystal Fine roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-OP-DCM:ROTZ-CR2-FINEROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - dcm + readOnly: False + softwareTrigger: false + +lu_bpm1: + description: LU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm2: + description: LU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm3: + description: LU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm4: + description: LU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpmsum: + description: LU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-OP-LUBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +lu_bpm_x: + description: BPM2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_bpm_y: + description: BPM2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z1: + description: Lens Z1 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_z2: + description: Lens Z2 + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUTRZ2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_y: + description: SmarPod1 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_z: + description: SmarPod1 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotx: + description: SmarPod1 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_roty: + description: SmarPod1 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod1_rotz: + description: SmarPod1 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD1:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_y: + description: SmarPod2 Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_z: + description: SmarPod2 Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotx: + description: SmarPod2 RX + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_roty: + description: SmarPod2 RY + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +lu_pod2_rotz: + description: SmarPod2 RZ + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-OP-LUPOD2:ROTZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - lu + readOnly: False + softwareTrigger: false + +ss_bpm1: + description: SS BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm2: + description: SS BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm3: + description: SS BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm4: + description: SS BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpmsum: + description: SS BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SSBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +ss_bpm_x: + description: SS BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_bpm_y: + description: SS BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f1_x: + description: SS Filter 1 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI1:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f2_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI2:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f3_x: + description: SS Filter 2 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI3:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_f4_x: + description: SS Filter 4 X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSFI4:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xw: + description: SS Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xr: + description: SS Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xcen: + description: SS Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_xsize: + description: SS Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yt: + description: SS Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_yb: + description: SS Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ycen: + description: SS Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_sl_ysize: + description: SS Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +ss_xi_x: + description: SS X-ray eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + userParameter: {"type": multi-position,"in": 7.5, "out": -2.1} + +ss_xi_y: + description: SS X-ray eye Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSXI:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + +vfm_xu: + description: VFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_xd: + description: VFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yur: + description: VFM Upstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yw: + description: VFM Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_ydr: + description: VFM Downstream Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bu: + description: VFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_bd: + description: VFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_yaw: + description: VFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_roll: + description: VFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_pitch: + description: VFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_x: + description: VFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +vfm_y: + description: VFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - vfm + readOnly: False + softwareTrigger: false + +hfm_xu: + description: HFM Upstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_xd: + description: HFM Downstream X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yuw: + description: HFM Upstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yr: + description: HFM Ring Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_ydw: + description: HFM Downstream Wall Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bu: + description: HFM Upstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_bd: + description: HFM Downstream Bender + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_yaw: + description: HFM Virtual Yaw + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_roll: + description: HFM Virtual Roll + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_pitch: + description: HFM Virtual Pitch + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_x: + description: HFM Virtual X + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +hfm_y: + description: HFM Virtual Y + deviceClass: ophyd_devices.EpicsMotorEC + deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - hfm + readOnly: False + softwareTrigger: false + +bcu_bpm1: + description: BCU BPM Channel 1 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current1:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm2: + description: BCU BPM Channel 2 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current2:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm3: + description: BCU BPM Channel 3 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current3:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm4: + description: BCU BPM Channel 4 + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current4:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpmsum: + description: BCU BPM Summed + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-BCBPM:SumAll:MeanValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bcu_bpm_x: + description: BCU BPM X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_bpm_y: + description: BCU BPM Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCBPM:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xw: + description: BCU Slit Wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xr: + description: BCU Slit Ring + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXR'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xcen: + description: BCU Slit X Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_xsize: + description: BCU Slit X Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLH:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yt: + description: BCU Slit Top + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYT'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_yb: + description: BCU Slit Bottom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYB'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ycen: + description: BCU Slit Y Centre + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:CENTER'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +bcu_sl_ysize: + description: BCU Slit Y Size + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BCSLV:SIZE'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - bcu + readOnly: False + softwareTrigger: false + +samcam_x: + description: Sample Camera X + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_xsig: + description: Sample Camera X Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaX_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_y: + description: Sample Camera Y + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_ysig: + description: Sample Camera Y Sigma + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaY_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_max: + description: Sample Camera Max + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:MaxValue_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - scam + readOnly: True + softwareTrigger: false + +samcam_exp: + description: Sample Camera Exposure + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:AcquireTime', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +samcam_gain: + description: Sample Camera Gain + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:Gain', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +scam_zoom: + description: Sample Camera Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-MS:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - scam + readOnly: False + softwareTrigger: false + +coll_x: + description: Collimator X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +diag_z: + description: Scintillator/diode Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +i1: + description: I1 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-SCLDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +bs_x: + description: Beamstop X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +bs_y: + description: Beamstop Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +gon_y: + description: Goniometer Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRY1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +gon_z: + description: Goniometer X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRZ1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +omega: + description: Omega + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:ROTU'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +cryo_x: + description: Cryo X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-CS:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + +cryo_temp: + description: Cryo Temperature + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:TEMP_RBV', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: True + softwareTrigger: false + +det_xi_focus: + description: X-ray eye 2 Focus + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:FOCUS'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_zoom: + description: X-ray eye 2 Zoom + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:ZOOM'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_xi_x: + description: X-ray eye X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-XEYE:TRX'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +i2: + description: I2 Diode + deviceClass: ophyd.EpicsSignalRO + deviceConfig: {read_pv: 'X10SA-ES-XEYEDI:READOUT', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: monitored + deviceTags: + - bpm + readOnly: True + softwareTrigger: false + +det_y: + description: Detector Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + +det_z: + description: Detector Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DET:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + diff --git a/pxii_bec/macros/temp/pxii-state-devices.yaml b/pxii_bec/macros/temp/pxii-state-devices.yaml new file mode 100644 index 0000000..10acd5c --- /dev/null +++ b/pxii_bec/macros/temp/pxii-state-devices.yaml @@ -0,0 +1,143 @@ +bl_bright: + description: Backlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, “on”: 1.3, “off”: 0.0, “tol”: 0.01} + +bl_pos: + description: Backlight Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, “in”: 1.0, “out”: 0.0} + +bs_pos: + description: Beamstop Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, “in”: 1.0, “out”: 0.0} + +bs_z: + description: Beamstop Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "min": 13, "samp": 15, "work_min": 20, "safe": 41, "max_blin": 42, "max_blout": 70} + +coll_y: + description: Collimator Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "in": 41.5, "out": 20.0, “intermediate”: 32, "park": 1,"tol":0.05} + +cryo_pos: + description: Cryo positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, “in”: 1.0, “out”: 0.0} + +det_cov: + description: Detector cover + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-DETCOV:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, “open”: 2.0, “close”: 1.0} + +diag_y: + description: Scintillator/diode Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, "scint": 38.62, "i1": 44.0, "out": 20.0,"park": 1,"tol":0.3} + +fl_bright: + description: Frontlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-FL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, “on”: 3.0, “off”: 0.0, “tol”: 0.01} + +gon_x: + description: Goniometer X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRX1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type": continuous, “in”: 0.0, “out”: -10.0, “safe”: -100, “tol”: 0.5} + +xrf_pos: + description: XRF Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-XRF:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - state + readOnly: False + softwareTrigger: false + userParameter: {"type":discrete, “in”: 1.0, “out”: 0.0} + diff --git a/pxii_bec/macros/temp/se_devices.yaml b/pxii_bec/macros/temp/se_devices.yaml new file mode 100644 index 0000000..994a7dd --- /dev/null +++ b/pxii_bec/macros/temp/se_devices.yaml @@ -0,0 +1,206 @@ +ss_sl_xw: + description: SS slit wall + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - ss + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + in: 1.0 + out: 2.0 + +bs_z: + description: Beamstop Z + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-BS:TRZ'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + min: 13 + samp: 15 + work_min: 20 + safe: 41 + max_blin: 42 + max_blout: 70 + +gon_x: + description: Goniometer X + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-DF1:TRX1'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + in: 0.0 + out: -10.0 + safe: -100 + tol: 0.5 + +diag_y: + description: Scintillator/diode Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-SCL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + scint: 38.62 + i1: 44.0 + out: 20.0 + park: 1 + tol: 0.3 + +coll_y: + description: Collimator Y + deviceClass: ophyd_devices.EpicsMotor + deviceConfig: {prefix: 'X10SA-ES-COL:TRY'} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + in: 41.5 + intermediate: 32 + out: 20.0 + park: 1 + tol: 0.05 + +bs_pos: + description: Beamstop Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: discrete + in: 1.0 + out: 0.0 + +xrf_pos: + description: XRF Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-XRF:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: discrete + in: 1.0 + out: 0.0 + +cryo_pos: + description: Cryo Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-CS:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: discrete + in: 1.0 + out: 0.0 + +det_cov: + description: Detector Cover + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-DETCOV:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - det + readOnly: False + softwareTrigger: false + userParameter: + type: discrete + 'open': 2.0 + 'close': 1.0 + +bl_bright: + description: Backlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + 'on': 1.3 + 'off': 0.0 + 'tol': 0.01 + + +bl_pos: + description: Backlight Positioner + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-BL:POS-SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: discrete + in: 1.0 + out: 0.0 + +fl_bright: + description: Frontlight Brightness + deviceClass: ophyd.EpicsSignal + deviceConfig: {read_pv: 'X10SA-ES-FL:SET', auto_monitor: true} + onFailure: buffer + enabled: True + readoutPriority: baseline + deviceTags: + - se + readOnly: False + softwareTrigger: false + userParameter: + type: continuous + 'on': 3.0 + 'off': 0.0 + diff --git a/pxii_bec/macros/test_states.txt b/pxii_bec/macros/test_states.txt new file mode 100644 index 0000000..374fa38 --- /dev/null +++ b/pxii_bec/macros/test_states.txt @@ -0,0 +1,39 @@ +import pytest +# from enums import BeamlineState +# from init_beamline import init_beamline_environment + +def test_states123(): + ALL_STATES = [ + BeamlineState.BEAMSTOP_ALIGNMENT, + BeamlineState.DATA_COLLECTION, + BeamlineState.MAINTENANCE, + BeamlineState.ROBOT_SAMPLE_EXCHANGE, + BeamlineState.SAMPLE_ALIGNMENT, + BeamlineState.DC_XRF, + BeamlineState.FLUX_MEASUREMENT, + BeamlineState.XTAL_SNAPSHOT, + BeamlineState.MANUAL_SAMPLE_EXCHANGE, + BeamlineState.BEAM_VISUALISATION, + ] + + # @pytest.fixture + # def env(): + # d, planner = init_beamline_environment("PXII") + # return d, planner + + + # @pytest.mark.parametrize("from_state", ALL_STATES) + # @pytest.mark.parametrize("to_state", ALL_STATES) + def test_state_transitions(env, from_state, to_state): + if from_state == to_state: + pytest.skip("Skipping same-state transition") + + d, planner = env + # Move to initial state + planner.move_to(from_state) + + # Then transition + planner.move_to(to_state) + + # Assert final state + assert planner.is_state(to_state) == True