]> jspc29.x-matter.uni-frankfurt.de Git - mvdsensorcontrol.git/commitdiff
PK: update to support the 'Vacuum' setup in the cleanroom
authorMaps <maps@ikf>
Mon, 16 Feb 2015 17:29:28 +0000 (18:29 +0100)
committerMaps <maps@ikf>
Mon, 16 Feb 2015 17:29:28 +0000 (18:29 +0100)
tools/init_system.pl
tools/scurve_control.sh

index 05bc119dd7662f2e575275695049a8cc97288d30..8be4b9e6f83245b2a12e64629bc03ff18c7c885a 100755 (executable)
@@ -82,17 +82,26 @@ run(DAQTOOLSPATH."/tools/loadregisterdb.pl ".CONFIGPATH."/network/register_confi
 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
index 34ecb9e68f8741dca42ccf217d295981cb4be84a..a147aa37f369f15aea25b49627bcdd096fc60b19 100755 (executable)
@@ -5,7 +5,7 @@
 
 ### ------------ 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
@@ -16,12 +16,18 @@ fi
 
 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
@@ -64,50 +70,42 @@ fi
 
 # 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:
@@ -118,17 +116,18 @@ do
     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
+