diff options
Diffstat (limited to 'tests/heb')
-rwxr-xr-x | tests/heb/DataTaking.sh | 96 | ||||
-rwxr-xr-x | tests/heb/cfg/BoardOFF.sh | 11 | ||||
-rwxr-xr-x | tests/heb/cfg/BoardOn.sh | 57 | ||||
-rw-r--r-- | tests/heb/cfg/README | 11 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_ADC_1_Delay.sh | 10 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_ADC_2_Delay.sh | 10 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_ADC_3_Delay.sh | 10 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_ADC_4_Delay.sh | 11 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_Default.sh | 30 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_Delay_chip.sh | 11 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_FPGA_clock_delay.sh | 10 | ||||
-rwxr-xr-x | tests/heb/cfg/Set_TH_Delay.sh | 10 | ||||
-rwxr-xr-x | tests/heb/debug/debug.sh | 45 | ||||
-rwxr-xr-x | tests/heb/debug/request_data.sh | 27 |
14 files changed, 349 insertions, 0 deletions
diff --git a/tests/heb/DataTaking.sh b/tests/heb/DataTaking.sh new file mode 100755 index 0000000..b6046d7 --- /dev/null +++ b/tests/heb/DataTaking.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +#Channel 1 --> 05 +#Channel 2 --> 0B +#Channel 1&2 --> 0F +#Channel 3 --> 13 +#Channel 4 --> 23 +#Channel 3&4 --> 33 +#ALL --> 3F + +#rm *.out +pci -r dma1 --multipacket -o /dev/null + +echo "Start DMA ..... " +#pci --start-dma dma1 +sleep 0.2 + +echo "Data Reset ... " +pci -w 0x9040 000003f1 +sleep 0.1 +pci -w 0x9040 000003f0 + +sleep 0.1 +#echo "Pilot bunch emulator ..... " +#pci -w 0x9040 400003f0 +sleep 0.2 +pci -w 0x9040 03f0 +#pci -r 0x9000 -s 40 +#sleep 0.2 +echo "Start data pci. ..... " +pci -w 0x9040 00bf0 + +sleep 2 + +echo "Stop data acquis...... " +pci -w 0x9040 003f0 +pci -r 0x9000 -s 40 +sleep 0.1 +echo "Enable data transfer.... " +pci -w 0x9040 007f0 +exit +sleep 2 +pci -r dma1 -o run_num_$1.out --multipacket +sleep 2 + +pci -w 0x9040 003f0 +#echo "Status ... " + + + +pci -r 0x9000 -s 40 + + status=`pci -r 0x9050 -s 1 | awk '{print $2$3$4}'` + if [ "$status" != "85000021" ]; then + echo "--------------------------------->>>> ERROR! ... " + error=1 + exit + else + echo " Status 1 -> OK " + fi + + status=`pci -r 0x9000 -s 1 | awk '{print $2$3$4}'` + if [ "$status" != "01000021" ]; then + echo "--------------------------------->>>> ERROR! ... " + error=1 + exit + else + echo " Status 1 Readout -> OK " + fi + +status=`pci -r 0x9008 -s 1 | awk '{print $2$3$4}'` + if [ "$status" != "01000021" ]; then + echo "--------------------------------->>>> ERROR! ... " + error=1 + exit + else + echo " Status 2 Readout -> OK " + fi + +status=`pci -r 0x9010 -s 1 | awk '{print $2$3$4}'` + if [ "$status" != "01000021" ]; then + echo "--------------------------------->>>> ERROR! ... " + error=1 + exit + else + echo " Status 3 Readout -> OK " + fi + +status=`pci -r 0x9018 -s 1 | awk '{print $2$3$4}'` + if [ "$status" != "01000021" ]; then + echo "--------------------------------->>>> ERROR! ... " + error=1 + exit + else + echo " Status 4 Readout -> OK " + fi diff --git a/tests/heb/cfg/BoardOFF.sh b/tests/heb/cfg/BoardOFF.sh new file mode 100755 index 0000000..351bcb8 --- /dev/null +++ b/tests/heb/cfg/BoardOFF.sh @@ -0,0 +1,11 @@ +#!/bin/bash + + +echo " ************************************************************** " +echo " Board OFF" +echo " ************************************************************** " + +pci -w 0x9040 0x01 +sleep 0.5 + +pci --stop-dma dma1 diff --git a/tests/heb/cfg/BoardOn.sh b/tests/heb/cfg/BoardOn.sh new file mode 100755 index 0000000..b14c73b --- /dev/null +++ b/tests/heb/cfg/BoardOn.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +echo " ************************************************************** " +echo " Start DMA" +echo " ************************************************************** " + +pci --start-dma dma1 +sleep 0.5 +pci --list-dma-engines + + +echo " ************************************************************** " +echo " Board ON procedure" +echo " ************************************************************** " + +pci -w 0x9040 0x01 +sleep 1 + +echo "switch ON the power supply --> FIRST <--" +echo "Press a key to continue ...." +read -n 1 -s + +echo "Switch ON T/Hs" +pci -w 0x9040 0x3C1 +pci -r 0x9040 -s1 + +echo "switch ON the power supply --> SECOND <--" +echo "Press a key to continue ...." +read -n 1 -s + +echo "Switch ON ADCs" +pci -w 0x9040 0x3F1 +pci -r 0x9040 -s1 +sleep 0.1 + + +pci -w 0x9040 0x3F0 +pci -r 0x9040 -s1 +sleep 1 + +echo " Status ................... " +pci -r 0x9000 -s 40 + + + +./PLL_conf_calib_3001.sh + +echo " Status ................... " +pci -r 0x9000 -s 40 + + +echo " ************************************************************** " +echo " Board Ready" +echo " ************************************************************** " + + +echo " --> remember to run: ./Set_Default.sh" diff --git a/tests/heb/cfg/README b/tests/heb/cfg/README new file mode 100644 index 0000000..125bc0d --- /dev/null +++ b/tests/heb/cfg/README @@ -0,0 +1,11 @@ + - Initializing + ./BoardOn.sh + ./Set_Default.sh + + - Configuring the size + pci -w 9020 0x20 (linear scale) + + * Number of samples are determined by 0x9020 / 0x9028 (0x0e by default) + * For each sample is descibed by (184 / 2) * 128 bits + * Where most-significant bytes of 4 dwords (128 bit) are iterating + from 0x00 to 0xb8 with step 0x02 diff --git a/tests/heb/cfg/Set_ADC_1_Delay.sh b/tests/heb/cfg/Set_ADC_1_Delay.sh new file mode 100755 index 0000000..bd8f980 --- /dev/null +++ b/tests/heb/cfg/Set_ADC_1_Delay.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Set CH_4 clock ADC 1 delay... " + +upfix=000501 +fixed=4 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time value picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed diff --git a/tests/heb/cfg/Set_ADC_2_Delay.sh b/tests/heb/cfg/Set_ADC_2_Delay.sh new file mode 100755 index 0000000..d6cdf75 --- /dev/null +++ b/tests/heb/cfg/Set_ADC_2_Delay.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Set CH_5 clock ADC 2 delay... " + +upfix=000501 +fixed=5 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time value picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed diff --git a/tests/heb/cfg/Set_ADC_3_Delay.sh b/tests/heb/cfg/Set_ADC_3_Delay.sh new file mode 100755 index 0000000..567b977 --- /dev/null +++ b/tests/heb/cfg/Set_ADC_3_Delay.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Set CH_6 clock ADC 3 delay... " + +upfix=000501 +fixed=6 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time value picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed diff --git a/tests/heb/cfg/Set_ADC_4_Delay.sh b/tests/heb/cfg/Set_ADC_4_Delay.sh new file mode 100755 index 0000000..d666595 --- /dev/null +++ b/tests/heb/cfg/Set_ADC_4_Delay.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +echo "Set CH_7 clock ADC 4 delay... " + +upfix=000501 +fixed=7 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time value picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed + diff --git a/tests/heb/cfg/Set_Default.sh b/tests/heb/cfg/Set_Default.sh new file mode 100755 index 0000000..0149bf0 --- /dev/null +++ b/tests/heb/cfg/Set_Default.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +echo "Set Defaults delay value in the board... " + +./Set_FPGA_clock_delay.sh 0 +sleep 0.1 + + ./Set_Delay_chip.sh 16 16 16 16 +sleep 0.1 + +./Set_TH_Delay.sh 12 +sleep 0.1 + +./Set_ADC_1_Delay.sh 5 +sleep 0.1 + +./Set_ADC_2_Delay.sh 5 +sleep 0.1 + +./Set_ADC_3_Delay.sh 5 +sleep 0.1 + +./Set_ADC_4_Delay.sh 5 + +#pci -w 0x9020 200b20 +pci -w 0x9020 20 +pci -w 0x9028 e + +echo " DONE ................ " + diff --git a/tests/heb/cfg/Set_Delay_chip.sh b/tests/heb/cfg/Set_Delay_chip.sh new file mode 100755 index 0000000..3d15cad --- /dev/null +++ b/tests/heb/cfg/Set_Delay_chip.sh @@ -0,0 +1,11 @@ +#!/bin/bash + + zero=0 + hex_val1=$(printf "%02x\n" $1) + hex_val2=$(printf "%02x\n" $2) + hex_val3=$(printf "%02x\n" $3) + hex_val4=$(printf "%02x\n" $4) + + pci -w 0x9080 $zero$hex_val4$hex_val3$hex_val2$hex_val1 + pci -r 0x9080 -s 1 + sleep 0.5 diff --git a/tests/heb/cfg/Set_FPGA_clock_delay.sh b/tests/heb/cfg/Set_FPGA_clock_delay.sh new file mode 100755 index 0000000..f4d0f46 --- /dev/null +++ b/tests/heb/cfg/Set_FPGA_clock_delay.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Set delay on T/Hs signals... " + +upfix=000501 +fixed=0 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed diff --git a/tests/heb/cfg/Set_TH_Delay.sh b/tests/heb/cfg/Set_TH_Delay.sh new file mode 100755 index 0000000..9a6e58f --- /dev/null +++ b/tests/heb/cfg/Set_TH_Delay.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +echo "Set delay on T/Hs signals... " + +upfix=000501 +fixed=3 + + hex_val=$(printf "%01x\n" $1) + echo "Set $hex_val --> Time picosecond = `expr $1 "*" 150`." + pci -w 0x9060 $upfix$hex_val$fixed diff --git a/tests/heb/debug/debug.sh b/tests/heb/debug/debug.sh new file mode 100755 index 0000000..2db21d4 --- /dev/null +++ b/tests/heb/debug/debug.sh @@ -0,0 +1,45 @@ +#! /bin/bash + +SCRIPT_PATH="`dirname \"$0\"`" +SCRIPT_PATH="`( cd \"$TESTS_PATH\" && pwd )`" +PCILIB_PATH=${SCRIPT_PATH%/tests/*} + +function pci { + LD_LIBRARY_PATH="$PCILIB_PATH" $PCILIB_PATH/pci $* +} + +function strip_bad_values { + LD_LIBRARY_PATH="$PCILIB_PATH" $PCILIB_PATH/apps/heb_strip_bad_values $* +} + +function request_data { + $PCILIB_PATH/tests/heb/debug/request_data.sh $* +} + +while [ 1 ]; do + from=`pci --list-dma-engines | grep C2S | sed -s 's/\s\+/ /g' | cut -d ' ' -f 6` + to=`pci --list-dma-engines | grep C2S | sed -s 's/\s\+/ /g' | cut -d ' ' -f 8` + + if [ $from -gt $to ]; then + buffers="`seq $from 255` `seq 0 $to`" + else + buffers=`seq $from $to` + fi + + echo $buffers + + rm data.out + for i in $buffers; do + pci --read-dma-buffer dma1r:$i -o data.out + done + + + error=`strip_bad_values data.out | head -n 1 | cut -f 1 -d ':'` + if [ $error != "0x1140" ]; then + echo "Problems found" + exit + else + echo "Fine" + request_data + fi +done diff --git a/tests/heb/debug/request_data.sh b/tests/heb/debug/request_data.sh new file mode 100755 index 0000000..b751f5d --- /dev/null +++ b/tests/heb/debug/request_data.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +pci -r dma1 --multipacket -o /dev/null + +#echo "Data Reset ... " +pci -w 0x9040 000003f1 +sleep 0.1 +pci -w 0x9040 000003f0 + +sleep 0.1 +#echo "Pilot bunch emulator ..... " +#pci -w 0x9040 400003f0 +sleep 0.2 +pci -w 0x9040 03f0 +#pci -r 0x9000 -s 40 +#sleep 0.2 +#echo "Start data pci. ..... " +pci -w 0x9040 00bf0 + +sleep 2 + +#echo "Stop data acquis...... " +pci -w 0x9040 003f0 +pci -r 0x9000 -s 40 +sleep 0.1 +#echo "Enable data transfer.... " +pci -w 0x9040 007f0 |