diff options
Diffstat (limited to 'tests/heb/debug')
-rwxr-xr-x | tests/heb/debug/debug.sh | 45 | ||||
-rwxr-xr-x | tests/heb/debug/request_data.sh | 27 |
2 files changed, 72 insertions, 0 deletions
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 |