#!/bin/bash
#
# General settings
#===================
datadir=/home/jum/wdir/ilcdaq/data
chipnumber=0 # set to number written on chip - replace by argument if it exist, chip0 = testruns
dcladdress=0
chipaddress=7
mode=0
shaper=0
polarity=1
threshold=(10 15 12 20)
post=$((7 << 14))
pre=$((3 << 17))
above=$((2 << 12))
dpcfg_value=`printf '%x' $((mode + post +pre + above))`
echo $dpcfg_value
channels=0
samples=`printf '%x' 1000`
events=500
#
# VXI settings
#=============
vxipath=$HOME/ilc/ilcdaq/chiptests/vxi11/bin
IP="192.168.4.10"
#USER2 : pulse for 12 and 16mV/fc = gain0 and gain2
#USER3 : 60% (12/20) of USER2 suitable 20 and 27mV/fC = gain1 and gain3
#
# Init MCM registers
#===================
for register in {10..17}
do
    ./mcmwrreg --fec $dcladddress --register $register --write --value FFFF
done
mcmregister=`printf '%x' $((0x10 + $chipaddress))`
./mcmwrreg --fec $dcladdress --register $mcmregister --write --value $channels

# Loop over gains
#================
for gain in {0..3}
do
    echo $gain ${threshold[${gain}]}
    if [ ${gain} == 0 ]; then
	echo 1
#	$vxipath/vxi11_send_verify $IP "SOURCE1:FUNCTION USER2"
    elif [ ${gain} == 1 ]; then
	echo 2
#	$vxipath/vxi11_send_verify $IP "SOURCE1:FUNCTION USER3"
    elif [ ${gain} == 2 ]; then
	echo 3
#	$vxipath/vxi11_send_verify $IP "SOURCE1:FUNCTION USER2"
    elif [ ${gain} == 3 ]; then
	echo 4
#	$vxipath/vxi11_send_verify $IP "SOURCE1:FUNCTION USER3"
    else
	echo "no such gain - exiting"
	exit
    fi
    datfile=`printf '%s/chip%d/readout-zerozup-c%d-g%1d-s%1d-p%1d.dat' $datadir $chipnumber $chipaddress $gain $shaper $polarity`
    echo $datfile
done
