From eee739625f84b430fed735e9a0f55667808b63ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Br=C3=BCckner?= Date: Wed, 28 Oct 2015 11:08:19 +0100 Subject: [PATCH] Modified config_gen script --- examples/config_gen | 103 ------------------ .../config_gen_script/beb_31_25.config_gen | 47 ++++++++ examples/config_gen_script/config_gen | 71 ++++++++++++ .../config_gen_script/eiger_2m_1gb.config_gen | 47 ++++++++ 4 files changed, 165 insertions(+), 103 deletions(-) delete mode 100755 examples/config_gen create mode 100644 examples/config_gen_script/beb_31_25.config_gen create mode 100755 examples/config_gen_script/config_gen create mode 100644 examples/config_gen_script/eiger_2m_1gb.config_gen diff --git a/examples/config_gen b/examples/config_gen deleted file mode 100755 index 912573a4c..000000000 --- a/examples/config_gen +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash - -if [ "$1" == "--help" ]; then - echo This tool generates config files. - echo Please edit the variables in the script - echo and run $0 \> output.config. - exit -fi - -# local variables -dir=/home/l_brueckner_m/xsw/settingsdir/eiger - -# HOSTNAMES is special -# Beside of the hostname line it also defines the amount of (half) modules -# for the body part -# take care for the last space -HOSTNAMES="beb069 beb068 beb067 beb066 " - -## header contains constant values at the beginning of the file -header=( -detsizechan="3072 512" -) - -## the body part is for each half module -# counters will count automatically -counters=( -rx_tcpport="1956" -rx_udpport="50001" -) - -# constant values -constants=( -rx_hostname="pc1875" -lock=0 -settingsdir=$dir -caldir=$dir -outdir=/home/l_brueckner_m/xsw/out -) - -# lists contains space separated lists each value for each half module -lists=( -#detectormac="aa:bb:cc:dd:ee:ff 11:22:33:44:55:66" -) - - -## footer contains constant values for the end of the file -footer=( -outdir=$OUTDIR -threaded=1 -) - - -function get_name_value -{ - name=${1%%=*} - value=${1#*=} -} - -function shift_var -{ - shifts=$1 - shift - shift $shifts - value=$1 -} - - -echo hostname ${HOSTNAMES// /+} -for i in "${header[@]}"; do - get_name_value "$i" - echo $name $value -done - -echo - -num=0 -for host in $HOSTNAMES; do - for i in "${counters[@]}"; do - get_name_value "$i" - echo $num:$name $((value+$num)) - done - - for i in "${lists[@]}"; do - get_name_value "$i" - shift_var $num $value - echo $num:$name $value - done - - for i in "${constants[@]}"; do - get_name_value "$i" - echo $num:$name $value - done - echo - num=$((num+1)) -done - -for i in "${footer[@]}"; do - get_name_value "$i" - echo $name $value -done - -exit - diff --git a/examples/config_gen_script/beb_31_25.config_gen b/examples/config_gen_script/beb_31_25.config_gen new file mode 100644 index 000000000..eb4216877 --- /dev/null +++ b/examples/config_gen_script/beb_31_25.config_gen @@ -0,0 +1,47 @@ +#!/bin/bash + +# local variables +dir=/home/l_msdetect/martin/sls_detectors_package/settingsdir/eiger + +# HOSTNAMES is special +# Beside of the hostname line it also defines the amount of (half) modules +# for the body part +# take care for the last space +HOSTNAMES="beb031 beb025 " + +## header contains constant values at the beginning of the file +header=( +detsizechan="2048 512" +) + +## the body part is for each half module +# counters will count automatically +# the number behind ':' indicates the incrementation value + +counters=( +rx_tcpport="1958:1" +rx_udpport="50001:2" +rx_udpport2="50002:2" +) + +# constant values +constants=( +rx_hostname="mpc1975" +lock=0 +settingsdir=$dir +caldir=$dir +) + +# lists contains space separated lists each value for each half module +lists=( +#detectorip="10.1.1.214 10.1.1.213 10.1.1.216 10.1.1.211 10.1.1.215 10.1.1.210 10.1.1.217 10.1.1.212" +) + + +## footer contains constant values for the end of the file +footer=( +outdir=/home/l_msdetect/martin/out +threaded=1 +clkdivider=2 +) + diff --git a/examples/config_gen_script/config_gen b/examples/config_gen_script/config_gen new file mode 100755 index 000000000..28f813912 --- /dev/null +++ b/examples/config_gen_script/config_gen @@ -0,0 +1,71 @@ +#!/bin/bash + +if [ "$1" == "--help" ]; then + echo This tool generates config files. + echo Please edit the variables in the script + echo and run $0 \> output.config. + exit +fi + +if [ "$1" == "" ]; then + echo This script generates config files for slsDetector out of config_gen files + echo Please specify the config_gen file + exit +fi + +. $1 + + +function get_name_value +{ + name=${1%%=*} + value=${1#*=} +} + +function shift_var +{ + shifts=$1 + shift + shift $shifts + value=$1 +} + + +echo hostname ${HOSTNAMES// /+} +for i in "${header[@]}"; do + get_name_value "$i" + echo $name $value +done + +echo + +num=0 +for host in $HOSTNAMES; do + for i in "${counters[@]}"; do + get_name_value "$i" + value2=${value%%:*} + inc=${value#*:} + echo $num:$name $((value2+$((num*$inc)))) + done + + for i in "${lists[@]}"; do + get_name_value "$i" + shift_var $num $value + echo $num:$name $value + done + + for i in "${constants[@]}"; do + get_name_value "$i" + echo $num:$name $value + done + echo + num=$((num+1)) +done + +for i in "${footer[@]}"; do + get_name_value "$i" + echo $name $value +done + +exit + diff --git a/examples/config_gen_script/eiger_2m_1gb.config_gen b/examples/config_gen_script/eiger_2m_1gb.config_gen new file mode 100644 index 000000000..5a315e23b --- /dev/null +++ b/examples/config_gen_script/eiger_2m_1gb.config_gen @@ -0,0 +1,47 @@ +#!/bin/bash + +# local variables +dir=/home/l_msdetect/martin/sls_detectors_package/settingsdir/eiger + +# HOSTNAMES is special +# Beside of the hostname line it also defines the amount of (half) modules +# for the body part +# take care for the last space +HOSTNAMES="beb074 beb071 beb064 beb102 beb087 beb088 beb072 beb073 " + +## header contains constant values at the beginning of the file +header=( +detsizechan="4096 512" +) + +## the body part is for each half module +# counters will count automatically +# the number behind ':' indicates the incrementation value + +counters=( +rx_tcpport="1991:1" +rx_udpport="50011:2" +rx_udpport2="50012:2" +) + +# constant values +constants=( +rx_hostname="10.1.1.100" +rx_udpip="10.1.1.100" +lock=0 +settingsdir=$dir +caldir=$dir +) + +# lists contains space separated lists each value for each half module +lists=( +detectorip="10.1.1.214 10.1.1.213 10.1.1.216 10.1.1.211 10.1.1.215 10.1.1.210 10.1.1.217 10.1.1.212" +) + + +## footer contains constant values for the end of the file +footer=( +outdir=/home/l_msdetect/martin/out +threaded=1 +) +