From 75072a371e6166f85e4e9058c15cfc68d6650cbd Mon Sep 17 00:00:00 2001 From: Jens Georg <jens.georg@desy.de> Date: Thu, 2 Jul 2020 14:40:56 +0200 Subject: [PATCH] Add flashsd4dbc3 Also split up config a bit --- bam/baseconfig.py | 84 +++++++++++------------------------ bam/hostlist | 2 +- bam/settings/FLASH.py | 71 +++++++++++++++++++++++++++++ bam/settings/XFEL.py | 77 ++++++++++++++++++++++++++++++++ bam/templates/BAM.dmap | 2 +- bam/templates/bam_server.conf | 3 +- bam/templates/toroid.xlmap | 2 +- 7 files changed, 180 insertions(+), 61 deletions(-) create mode 100644 bam/settings/FLASH.py create mode 100644 bam/settings/XFEL.py diff --git a/bam/baseconfig.py b/bam/baseconfig.py index 43f6e83..75f506c 100644 --- a/bam/baseconfig.py +++ b/bam/baseconfig.py @@ -11,88 +11,58 @@ else: def makeDoocsArray(values: typing.Iterable) -> str: return " ".join(map(str, values)) -TOROID_LOCATION = { - '203.B1' : 'TORA.203.B1' +# Names of the properties for the different flattops on the Toroid server +TOROID_FT = { + 'XFEL' : ['SAMPLE.SA1', 'SAMPLE.SA2', 'SAMPLE.SA3'], + 'FLASH' : ['SAMPLE.FLASH1', 'SAMPLE.FLASH2'] } +# Lab is part of XFEL but has different location +TOROID_FT['LAB'] = TOROID_FT['XFEL'] -MLO_DEVICE = { - '203.B1' : 'LASER.LOCK.XLO' -} +# +# Settings which are filled by the accelerator-specific files +# -MLO_LOCATION = { - '203.B1' : 'XTIN.MLO1' -} +TOROID_LOCATION = dict() -LINK_LOCATION = { - '203.B1' : 'XTIN.AMC6.CONTROLLER' -} +MLO_DEVICE = dict() -LINK_LOCK_NUMBER = { - '203.B1' : 1 -} +MLO_LOCATION = dict() -TOROID_FT = { - 'XFEL' : ['SAMPLE.SA1', 'SAMPLE.SA2', 'SAMPLE.SA3'], - 'FLASH' : ['SAMPLE.FLASH1', 'SAMPLE.FLASH2'] -} +LINK_LOCATION = dict() -# Lab is part of XFEL but has different location -TOROID_FT['LAB'] = TOROID_FT['XFEL'] +LINK_LOCK_NUMBER = dict() -TIMER_LOCATION = { - '203.B1' : 'SD205B1' -} +TIMER_LOCATION = dict() -TOROID_DATA_THREESHOLD = { - '203.B1' : 5e-3 -} +TOROID_DATA_THRESHOLD = dict() -MOTOR_CONVERSION_FACTOR = { - '203.B1' : [4.981200e-01, 4.974300e-01, 4.974300e-01, 4.974300e-01], -} +MOTOR_CONVERSION_FACTOR = dict() -MOTOR_CONVERSION_REFLECTION = { - '203.B1' : [1, 1, 1, 1] -} +MOTOR_CONVERSION_REFLECTION = dict() -MOTOR_CONVERSION_TRANSLATION_OFFSET = { - '203.B1' : [0, 0, 0, 0] -} +MOTOR_CONVERSION_TRANSLATION_OFFSET = dict() -DELTAT_MOTOR_SIGN = { - '203.B1' : [1, 1, 1] -} +DELTAT_MOTOR_SIGN = dict() -DELTAT_SIGN = { - '203.B1' : [1e-3, 1e-3, 1e-3] -} +DELTAT_SIGN = dict() -MODULATION_SIGN = { - '203.B1' : [-1, -1] -} +MODULATION_SIGN = dict() -START_ARRAY_VALUE_ACCURACY = { - '203.B1' : 1 -} +START_ARRAY_VALUE_ACCURACY = dict() -N_SAMPLE_ACCURACY = { - '203.B1' : '255' -} +N_SAMPLE_ACCURACY = dict() -FEEDBACK_THRESHOLD_CHARGE = { - '203.B1' : [0,0,0] -} +FEEDBACK_THRESHOLD_CHARGE = dict() -ARRIVAL_TIME_OFFSET = { - '203.B1' : [-1.300000e+05, -1.300000e+05, 0.0] -} +ARRIVAL_TIME_OFFSET = dict() #### # Common hardware settings #### BAM_DEVNO = 3 -MOTOR_DEVNO = 8 +MOTOR_DEVNO = 'devs8' # # Generic configuration diff --git a/bam/hostlist b/bam/hostlist index 3a72d53..a59d28e 100644 --- a/bam/hostlist +++ b/bam/hostlist @@ -2,7 +2,7 @@ # flash #flashcpusdbc2.desy.de D flash BAM/3DBC2 BAM/1UBC2/1UBC2 -#flashcpusd4dbc3.desy.de D flash BAM/4DBC3 +flashcpusd4dbc3.desy.de D flash BAM/4DBC3 #flashcpusd1sfelc.desy.de D flash BAM/1SFELC #flashcpusd8fl2burn.desy.de D flash BAM/8FL2BURN #flashcpusd7flfmaff.desy.de D flash BAM/7FLFMAFF diff --git a/bam/settings/FLASH.py b/bam/settings/FLASH.py new file mode 100644 index 0000000..22a97ca --- /dev/null +++ b/bam/settings/FLASH.py @@ -0,0 +1,71 @@ +MOTOR_DEVNO='unis6' + +TOROID_LOCATION.update({ + '4DBC3' : '5DBC3' +}) + +MLO_DEVICE.update({ + '4DBC3' : 'LASER.LOCK.XLO' +}) + +MLO_LOCATION.update({ + '4DBC3' : 'FLASH.MLO1' +}) + +LINK_LOCATION.update({ + '4DBC3' : 'FLASH.AMC7.CONTROLLER' +}) + +LINK_LOCK_NUMBER.update({ + '4DBC3' : 3 +}) + +TIMER_LOCATION.update({ + '4DBC3' : 'SD4DBC3' +}) + +TOROID_DATA_THRESHOLD.update({ + '4DBC3' : 1e-2 +}) + +MOTOR_CONVERSION_FACTOR.update({ + '4DBC3' : [1.042700e+00, 1.042700e+00, 1.042700e+00, 1.042700e+00], +}) + +MOTOR_CONVERSION_REFLECTION.update({ + '4DBC3' : [1, 1, 1, 1] +}) + +MOTOR_CONVERSION_TRANSLATION_OFFSET.update({ + '4DBC3' : [0, 0, 0, 0] +}) + +DELTAT_MOTOR_SIGN.update({ + '4DBC3' : [1, 1, 1] +}) + +DELTAT_SIGN.update({ + '4DBC3' : [1e-3, 1e-3, 1e-3] +}) + +MODULATION_SIGN.update({ + '4DBC3' : [-1, -1] +}) + +START_ARRAY_VALUE_ACCURACY.update({ + '4DBC3' : 1 +}) + +N_SAMPLE_ACCURACY.update({ + '4DBC3' : '200' +}) + +FEEDBACK_THRESHOLD_CHARGE.update({ + '4DBC3' : [0,0,0] +}) + +ARRIVAL_TIME_OFFSET.update({ + '4DBC3' : [-1.300000e+05, -1.300000e+05, 0.0] +}) + + diff --git a/bam/settings/XFEL.py b/bam/settings/XFEL.py new file mode 100644 index 0000000..4d6e03d --- /dev/null +++ b/bam/settings/XFEL.py @@ -0,0 +1,77 @@ +TOROID_LOCATION.update({ + '203.B1' : 'TORA.203.B1' +}) + +MLO_DEVICE.update({ + '203.B1' : 'LASER.LOCK.XLO' +}) + +MLO_LOCATION.update({ + '203.B1' : 'XTIN.MLO1' +}) + +LINK_LOCATION.update({ + '203.B1' : 'XTIN.AMC6.CONTROLLER' +}) + +LINK_LOCK_NUMBER.update({ + '203.B1' : 1 +}) + +TOROID_FT.update({ + 'XFEL' : ['SAMPLE.SA1', 'SAMPLE.SA2', 'SAMPLE.SA3'], + 'FLASH' : ['SAMPLE.FLASH1', 'SAMPLE.FLASH2'] +}) + +# Lab is part of XFEL but has different location +TOROID_FT['LAB'] = TOROID_FT['XFEL'] + +TIMER_LOCATION.update({ + '203.B1' : 'SD205B1' +}) + +TOROID_DATA_THRESHOLD.update({ + '203.B1' : 5e-3 +}) + +MOTOR_CONVERSION_FACTOR.update({ + '203.B1' : [4.981200e-01, 4.974300e-01, 4.974300e-01, 4.974300e-01], +}) + +MOTOR_CONVERSION_REFLECTION.update({ + '203.B1' : [1, 1, 1, 1] +}) + +MOTOR_CONVERSION_TRANSLATION_OFFSET.update({ + '203.B1' : [0, 0, 0, 0] +}) + +DELTAT_MOTOR_SIGN.update({ + '203.B1' : [1, 1, 1] +}) + +DELTAT_SIGN.update({ + '203.B1' : [1e-3, 1e-3, 1e-3] +}) + +MODULATION_SIGN.update({ + '203.B1' : [-1, -1] +}) + +START_ARRAY_VALUE_ACCURACY.update({ + '203.B1' : 1 +}) + +N_SAMPLE_ACCURACY.update({ + '203.B1' : '255' +}) + +FEEDBACK_THRESHOLD_CHARGE.update({ + '203.B1' : [0,0,0] +}) + +ARRIVAL_TIME_OFFSET.update({ + '203.B1' : [-1.300000e+05, -1.300000e+05, 0.0] +}) + + diff --git a/bam/templates/BAM.dmap b/bam/templates/BAM.dmap index f0f489a..c751ecc 100644 --- a/bam/templates/BAM.dmap +++ b/bam/templates/BAM.dmap @@ -1,6 +1,6 @@ ##mako BAM_DEVICE (pci:pcieunis${BAM_DEVNO}?map=sdiag_bam_fmc25_${BAM_REVISION}.mapp) -MOTOR_DEVICE (pci:pciedevs${MOTOR_DEVNO}?map=sync_pzt4_md22_md22_fmc20_6s45_${MOTOR_REVISION}.mapp) +MOTOR_DEVICE (pci:pcie${MOTOR_DEVNO}?map=sync_pzt4_md22_md22_fmc20_6s45_${MOTOR_REVISION}.mapp) TOROID_RAW (doocs?facility=${ACCELERATOR}.DIAG&device=TOROID&location=${TOROID_LOCATION[STATION]}) TOROID (logicalNameMap?map=toroid.xlmap) MLO_RAW (doocs?facility=${ACCELERATOR}.SYNC&device=${MLO_DEVICE[STATION]}&location=${MLO_LOCATION[STATION]}) diff --git a/bam/templates/bam_server.conf b/bam/templates/bam_server.conf index 0d7865a..33c66da 100644 --- a/bam/templates/bam_server.conf +++ b/bam/templates/bam_server.conf @@ -40,7 +40,7 @@ BUNCH_POSITION.1: BUNCH_POSITION.1.ZMQNAME: "${timer}/BUNCH_POSITION.1" TOROID_DATA: TOROID_DATA.ZMQNAME: "${ACCELERATOR}.DIAG/TOROID/${TOROID_LOCATION[STATION]}/CHARGE.TD" -TOROID_DATA_THREESHOLD: ${TOROID_DATA_THREESHOLD[STATION]} +TOROID_DATA_THREESHOLD: ${TOROID_DATA_THRESHOLD[STATION]} TOROID_ADDRESS: "${ACCELERATOR}.DIAG/TOROID/${TOROID_LOCATION[STATION]}" TIMERMQ_SERVER.ZMQNAME: "${timer}/MACRO_PULSE_NUMBER" SET_PEAK_BASE_LOW_CHARGE_CHANNEL: 0 @@ -53,4 +53,5 @@ DELTAT_SIGN: ${makeDoocsArray(DELTAT_SIGN[STATION])} MODULATION_SIGN: ${makeDoocsArray(MODULATION_SIGN[STATION])} START_ARRAY_VALUE_ACCURACY: ${START_ARRAY_VALUE_ACCURACY[STATION]} N_SAMPLE_ACCURACY: ${N_SAMPLE_ACCURACY[STATION]} +FEEDBACK_THREESHOLD_CHARGE: ${makeDoocsArray(FEEDBACK_THRESHOLD_CHARGE[STATION])} } diff --git a/bam/templates/toroid.xlmap b/bam/templates/toroid.xlmap index 11a940f..b602032 100644 --- a/bam/templates/toroid.xlmap +++ b/bam/templates/toroid.xlmap @@ -13,7 +13,7 @@ %else: <redirectedRegister name="SASE.${i}"> <targetDevice>TOROID_RAW</targetDevice> - <targetRegister>${TOROID_FT[ACCELERATOR][i]}</targetRegister> + <targetRegister>${TOROID_FT[ACCELERATOR][i]}</targetRegister> </redirectedRegister> %endif %endfor -- GitLab