diff --git a/bam/baseconfig.py b/bam/baseconfig.py index 43f6e835f359df517cdbdef4523192257575b9e9..75f506ccdaadd740acc3edff88cab1a277d6b3d3 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 3a72d53d06fd1ddde5bfdc1eda110b0bcc42f75a..a59d28ee76fb10a5cd89c8006b3fbd4969a8650a 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 0000000000000000000000000000000000000000..22a97ca8f6e10fc0f0cad38d2ca24b524704afb5 --- /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 0000000000000000000000000000000000000000..4d6e03d8b6d5a3977fb612f46b6b732681daa0dd --- /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 f0f489a9d6a81f2b5802ad56e66facb854cc5ece..c751ecc4af1fdf1f04439547a53ec5640eb94399 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 0d7865a2b4011293c7f5bc43a8dcded22d376751..33c66da8e023ed376d2dd4a65c481e557de96feb 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 11a940fab5b39ed6fcfba360a101356b21777c43..b6020324a12529a50f83ba2d3b9eff7be542057a 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