trb_write(0xfffe,0x00c5,0x20ff); #Timeouts
if($system eq 'Vacuum') {
- trb_write($ccu,0x00c0,0x00e1);
- trb_write($ccu,0x00c1,0x00e1);
- trb_write($ccu,0x00c3,0x00ff); #only slowcontrol for unused FPGA
+ trb_write($ccu,0x00c0,0x00f1);
+ trb_write($ccu,0x00c1,0x00f1);
+ trb_write($ccu,0x00c3,0x00f1);
+# trb_write($ccu,0x00c0,0x00e1);
+# trb_write($ccu,0x00c1,0x00e1);
+# trb_write($ccu,0x00c3,0x00ff); # unused FPGAs: enable slowcontrol only
}
if($system eq 'ELab') {
- trb_write($ccu,0x00c0,0x00ec);
- trb_write($ccu,0x00c1,0x00ec);
- trb_write($ccu,0x00c3,0x00fc); # only 0x00, 0x02, 0x03 active
-# trb_write($ccu,0x00c0,0x00f8);
+
+# trb_write($ccu,0x00c0,0x00ec);
+# trb_write($ccu,0x00c1,0x00ec);
+# trb_write($ccu,0x00c3,0x00fc); # only 0x00, 0x02, 0x03 active
+
+# trb_write($ccu,0x00c0,0x00f8);
# trb_write($ccu,0x00c1,0x00f8);
# trb_write($ccu,0x00c3,0x00f8); # only 0x03 active
+
+ trb_write($ccu,0x00c0,0x00f4);
+ trb_write($ccu,0x00c1,0x00f4);
+ trb_write($ccu,0x00c3,0x00f4); # only 0x02 active
}
#Send arbiter start signal
### ------------ Interpret the command line arguments ------------
-usage () { echo -e "\nUsage: ./scurve_new2.sh [ELab/Vacuum] [Number of Runs] [Step Size]\n"; }
+usage () { echo -e "\nUsage: ./scurve_control.sh [ELab/Vacuum] [Number of Runs] [Step Size]\n"; }
if [ -z "$1" ] # check if first parameter is empty
then
if [ $1 == 'ELab' ]
then
- printf -v trbaddr '%s' '0xd882'
+ PERIPH_ROC='0xd882'
+ CCU='0x8880'
export DAQOPSERVER=localhost:88
+ JTAG_CONFIG_FILE=/local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
+ SETUP_FILE=/local.1/htdocs/mvdconfig/setup/scurve2_setup_ELab2.xml
elif [ $1 == 'Vacuum' ]
then
- printf -v trbaddr '%s' '0xd000'
+ PERIPH_ROC='0xd000'
+ CCU='0x8000'
export DAQOPSERVER=localhost:7
+ JTAG_CONFIG_FILE=/local.1/htdocs/mvdconfig/config/sensorE0scurve.xml
+ SETUP_FILE=/local.1/htdocs/mvdconfig/setup/scurve2_setup.xml
else
echo Error: system unspecified! Use ELab or Vacuum as the first parameter.
exit -1
# Setting up general properties of the ROC:
-# trbcmd w $trbaddr 0x8002 0xaaa0aaa0 # set sensor ID for sensor 0
-# trbcmd w $trbaddr 0x8402 0xbbb0bbb0 # set sensor ID for sensor 1
-trbcmd w $trbaddr 0x8001 0x1 # set testmode was 8006
+# trbcmd w $PERIPH_ROC 0x8002 0xaaa0aaa0 # set sensor ID for sensor 0
+# trbcmd w $PERIPH_ROC 0x8402 0xbbb0bbb0 # set sensor ID for sensor 1
+trbcmd w $PERIPH_ROC 0x8001 0x1 # set testmode was 8006
-trbcmd w 0x8880 0xc0 0xf4
-trbcmd w 0x8880 0xc1 0xf4
-trbcmd w 0x8880 0xc3 0xf4
+#trbcmd w $CCU 0xc0 0xf4
+#trbcmd w $CCU 0xc1 0xf4
+#trbcmd w $CCU 0xc3 0xf4
# Starting the configuration / readout cycles
-for BANK in 0
+for BANK in 0 1 2 3
do
echo -e "\nBank $BANK"
-for i in $(seq 180 $stepsize 240)
+for i in $(seq 101 $stepsize 255)
do
echo Threshold $i
printf -v threshhex '%02x' $i
- trbcmd w $trbaddr 0x8002 0x1 # set soft reset to 1 (skip run 0) was 8005
+ trbcmd w $PERIPH_ROC 0x8002 0x1 # set soft reset to 1 (skip run 0) was 8005
# change sensor settings, i.e. thresholds to $i
if [[ $BANK -eq 0 ]]; then
#echo "DAC_BIAS/IVDREF1A=$i;DAC_BIAS/IVDREF1B=$i;DAC_BIAS/IVDREF1C=$i;DAC_BIAS/IVDREF1D=$i;DIS_DISCRI/DisDiscri=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000" | ./changeConfigVal.pl -c /local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
- echo "DAC_BIAS/IVDREF1A=$i;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c /local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
+ echo "DAC_BIAS/IVDREF1A=$i;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c $JTAG_CONFIG_FILE
elif [[ $BANK -eq 1 ]]; then
- echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=$i;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c /local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
+ echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=$i;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c $JTAG_CONFIG_FILE
elif [[ $BANK -eq 2 ]]; then
- echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=$i;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c /local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
+ echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=$i;DAC_BIAS/IVDREF1D=255" | ./changeConfigVal.pl -c $JTAG_CONFIG_FILE
elif [[ $BANK -eq 3 ]]; then
- echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=$i" | ./changeConfigVal.pl -c /local.1/htdocs/mvdconfig/config/sensorE0scurve2.xml
+ echo "DAC_BIAS/IVDREF1A=255;DAC_BIAS/IVDREF1B=255;DAC_BIAS/IVDREF1C=255;DAC_BIAS/IVDREF1D=$i" | ./changeConfigVal.pl -c $JTAG_CONFIG_FILE
fi
# programming the sensor via JTAG
- if [ $1 == 'Vacuum' ]
- then
- ./init_setup.pl /local.1/htdocs/mvdconfig/setup/scurve2_setup.xml
- #./init_setup.pl /local.1/htdocs/mvdconfig/setup/scurve2_setup.xml
- elif [ $1 == 'ELab' ]
- then
- ./init_setup.pl /local.1/htdocs/mvdconfig/setup/scurve2_setup_ELab2.xml
- #./startup.pl /local.1/htdocs/mvdconfig/setup/scurve2_setup_ELab2.xml
- fi
+ ./init_setup.pl $SETUP_FILE
sleep 0.3 # wait until the run is finished (throw away data, because dirty)
# Start taking data and cycle through runs:
printf -v runhex '%05x' $j
check="0"
#while [ "$check" -eq "0" ]; do
- trbcmd w $trbaddr 0x8002 0x1 # reset the FPGA buffers was 8005
- # result=$(trbcmd r $trbaddr 0x8005)
+ trbcmd w $PERIPH_ROC 0x8002 0x1 # reset the FPGA buffers was 8005
+ # result=$(trbcmd r $PERIPH_ROC 0x8005)
# check=${result:17:1}
echo "attempting soft-reset..."
#done
- trbcmd w $trbaddr 0x8002 0x0 # clear the previous reset was 8005
- trbcmd w $trbaddr 0x8003 0x$threshhex$BANK$runhex # write current scan parameters to ROC-FPGA (later in data) was 8007
+ trbcmd w $PERIPH_ROC 0x8002 0x0 # clear the previous reset was 8005
+ trbcmd w $PERIPH_ROC 0x8003 0x$threshhex$BANK$runhex # write current scan parameters to ROC-FPGA (later in data) was 8007
- trbcmd w $trbaddr 0xb00b 0x1 # start the next run in the s-curve mode
+ trbcmd w $PERIPH_ROC 0xb00b 0x1 # start the next run in the s-curve mode
sleep 0.3 # wait until run is finished
done
done
done
+