diff --git a/startup/deployStartup.sh b/startup/deployStartup.sh new file mode 100755 index 0000000000000000000000000000000000000000..efbb99c31a8f37eea064985d74438f0134c340d7 --- /dev/null +++ b/startup/deployStartup.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +#Prepare siteApp configuration for IOC instance specific configuration +siteApp=/iocs/sis8300llrf +mkdir -p $siteApp/log/ +mkdir -p $siteApp/run/ + +cp $EPICS_SRC/e3-sis8300llrf/startup/llrf_template.iocsh $siteApp/llrf.iocsh +slots_fpga=$(ls /dev/sis8300-* | cut -f2 -d "-") +if [ ${#slots_fpga} -lt 1 ] ; then + echo "Could not find SIS8300 digitiser board." + echo "Board slot must be manually configured in $siteApp/llrf.cmd" + snippet="epicsEnvSet(\"LLRF_PREFIX\" \"$LLRF_IOC_NAME\" ) \\\n \ +epicsEnvSet(\"LLRF_SLOT\" \"<slot>\" ) \\\n \ +iocshLoad $\(E3_CMD_TOP\)\/llrf.iocsh \\\n \ +iocshLoad $\(E3_CMD_TOP\)\/aliasing1.iocsh \\\n" + echo "snippet = $snippet" + eval "sed -e $'s/<snippet>/$snippet/g' < $EPICS_SRC/e3-sis8300llrf/startup/llrf_template.cmd > $siteApp/llrf.cmd" +else + # Start board enumeration from 1. + i=1 + + snippet="" + for slot_fpga in $(ls /dev/sis8300-* | cut -f2 -d "-" | sort -n) + do + snippet="$snippet \\\n\ +epicsEnvSet(\"LLRF_PREFIX\" \"$LLRF_IOC_NAME$i\" ) \\\n \ +epicsEnvSet(\"LLRF_SLOT\" \"$slot_fpga\" ) \\\n \ +iocshLoad $\(E3_CMD_TOP\)\/llrf.iocsh \\\n \ +iocshLoad $\(E3_CMD_TOP\)\/aliasing$i.iocsh \\\n" + i=$(($i+1)) + done + #Populate digitiser slot and IOC Name in startup script. + eval "sed -e $'s/<snippet>/$snippet/g'\ + < $EPICS_SRC/e3-sis8300llrf/startup/llrf_template.cmd > $siteApp/llrf.cmd" + +fi + + +#Timing configuration +# We check the EVR is available on PCIe to use in timing.iocsh snippet used to configure the EVR. +pcie_enumeration=$(lspci | grep Xilinx | cut -c1-7) +if [ ${#pcie_enumeration} != 7 ] ; then + echo "Could not find Timing Event Receiver on PCIexpress bus." + echo "Therefore no timing configuration created." + echo "# no timing configuration as no EVR detected on PCIe bus." > $siteApp/timing.iocsh +else + eval "sed -e 's/<B:D.F>/$pcie_enumeration/' -e 's/<LLRF_IOC_NAME>/$LLRF_IOC_NAME/' < $EPICS_SRC/e3-sis8300llrf/startup/timing_template.iocsh" > "/iocs/sis8300llrf/timing.iocsh" + cp $EPICS_SRC/e3-sis8300llrf/startup/tr-sequencer.sh $siteApp/tr-sequencer.sh +fi + +# Alias template +cp $EPICS_SRC/e3-sis8300llrf/startup/alias.template $siteApp/alias.template diff --git a/startup/setPVs.sh b/startup/setPVs.sh new file mode 100644 index 0000000000000000000000000000000000000000..b27dd27d4669b3248efe0da28284e9682a8821d0 --- /dev/null +++ b/startup/setPVs.sh @@ -0,0 +1,10 @@ +#!/bin/bash +caput -s ${LLRF_IOC_NAME}:AI0-MAG.DESC "PreAmp Fwd" +caput -s ${LLRF_IOC_NAME}:AI1-MAG.DESC "PwrAmp Fwd" +caput -s ${LLRF_IOC_NAME}:AI2-SMON-MAGCURR.DESC "PwrAmp Rflct" +caput -s ${LLRF_IOC_NAME}:AI3-SMON-MAGCURR.DESC "Circ Fwd" +caput -s ${LLRF_IOC_NAME}:AI4-SMON-MAGCURR.DESC "Cav1 Fwd" +caput -s ${LLRF_IOC_NAME}:AI5-SMON-MAGCURR.DESC "Cav1 Reflct" +caput -s ${LLRF_IOC_NAME}:AI6-SMON-MAGCURR.DESC "Cav2 Fwd" +caput -s ${LLRF_IOC_NAME}:AI7-SMON-MAGCURR.DESC "Cav2 Reflct" + diff --git a/testing/test1.sh b/testing/test1.sh index f5ede7606e5a973de7e7e81cb7920b159315dfee..d4c87380dd200b8324e439e6d154a9c50fb9163a 100755 --- a/testing/test1.sh +++ b/testing/test1.sh @@ -82,7 +82,7 @@ echo 'Simulating backplane triggers to FPGA for pulse_coming, pulse_start and pu for i in `seq 1 50` do - echo "RF Pulse $i" + echo "Beam Pulse $i" sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x20 sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x40 sis8300drv_reg /dev/sis8300-$slot 0x404 -w 0x80