CS_scan_multi_ROB_bothspeeds.sh, Current source scan for all the JFCalib ROB simultanously at half and full speed.
293 lines
6.8 KiB
Bash
293 lines
6.8 KiB
Bash
#!/bin/bash
|
|
|
|
# to run do: bash CS_scan.sh
|
|
|
|
# prerequisites:
|
|
# - setup_env.sh souced
|
|
# - the hostname is set
|
|
# - detector is on
|
|
# - fileneame script has been sourced
|
|
# - source pccalib.sh [pc] (pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test)
|
|
# last file should have exactly 4194368000 byte in it.
|
|
|
|
|
|
|
|
KILLRCV0="killall ju_udp_receiver_3threads_2_0_jfcalib0"
|
|
KILLRCV1="killall ju_udp_receiver_3threads_2_0_jfcalib1"
|
|
KILLRCV2="killall ju_udp_receiver_3threads_2_0_jfcalib2"
|
|
KILLRCV3="killall ju_udp_receiver_3threads_2_0_jfcalib3"
|
|
KILLRCV4="killall ju_udp_receiver_3threads_2_0_jfcalib4"
|
|
KILLRCV5="killall ju_udp_receiver_3threads_2_0_jfcalib5"
|
|
|
|
$KILLRCV0
|
|
sleep 1
|
|
$KILLRCV1
|
|
sleep 1
|
|
$KILLRCV2
|
|
sleep 1
|
|
$KILLRCV3
|
|
sleep 1
|
|
$KILLRCV4
|
|
sleep 1
|
|
$KILLRCV5
|
|
sleep 1
|
|
|
|
if [[ "$0" == *"CS_scan_multi_ROB.sh"* ]]; then
|
|
echo "script changes env. variables: should be invoked with source, not sh "
|
|
exit
|
|
|
|
fi
|
|
|
|
if [ ! -v $6 ]; then
|
|
echo $0
|
|
echo "printing filenames for all modules " $1 $2 $3 $4 $5 $6
|
|
|
|
source Multi_filename_creator.sh $1 $2 $3 $4 $5 $6
|
|
|
|
sls_detector_put stop #just in case
|
|
sls_detector_put powerchip 1
|
|
|
|
|
|
|
|
sls_detector_put frames 640
|
|
sls_detector_put period 0.005
|
|
sls_detector_put exptime 0.000010
|
|
sls_detector_put highvoltage 200
|
|
|
|
# configure for receiver on pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test
|
|
# source pccalib.sh [pc] (pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test)
|
|
sls_detector_put 0:udp_dstport 32411
|
|
sls_detector_put 1:udp_dstport 32412
|
|
sls_detector_put 2:udp_dstport 32413
|
|
sls_detector_put 3:udp_dstport 32414
|
|
sls_detector_put 4:udp_dstport 32415
|
|
sls_detector_put 5:udp_dstport 32416
|
|
|
|
sls_detector_put udp_dstip $DSTIP #10.1.4.105
|
|
sls_detector_put udp_dstmac $DSTMAC #3C:FD:FE:A2:14:D8
|
|
sls_detector_put 0:udp_srcip 10.1.1.9 #10.1.4.9
|
|
sls_detector_put 1:udp_srcip 10.1.1.10
|
|
sls_detector_put 2:udp_srcip 10.1.1.11
|
|
sls_detector_put 3:udp_srcip 10.1.1.12
|
|
sls_detector_put 4:udp_srcip 10.1.1.13
|
|
sls_detector_put 5:udp_srcip 10.1.1.14
|
|
sls_detector_put 0:udp_srcmac 00:ab:be:cc:dd:e2
|
|
sls_detector_put 1:udp_srcmac 00:ab:6b:03:5a:d5
|
|
sls_detector_put 2:udp_srcmac 00:ab:d9:ee:bc:bd
|
|
sls_detector_put 3:udp_srcmac 00:ab:1d:4f:bd:6a
|
|
sls_detector_put 4:udp_srcmac 00:ab:d3:ae:0f:1f
|
|
sls_detector_put 5:udp_srcmac 00:ab:f2:a5:c0:a2
|
|
|
|
sls_detector_put readoutspeed half_speed
|
|
#sls_detector_put readoutspeed full_speed
|
|
#sls_detector_put dbitphase 125
|
|
sls_detector_put 0:txdelay_frame 0
|
|
sls_detector_put 1:txdelay_frame 0
|
|
sls_detector_put 2:txdelay_frame 1
|
|
sls_detector_put 3:txdelay_frame 1
|
|
sls_detector_put 4:txdelay_frame 2
|
|
sls_detector_put 5:txdelay_frame 2
|
|
sls_detector_put 0:master 1
|
|
sls_detector_put sync 1
|
|
sls_detector_get master
|
|
sls_detector_get status
|
|
|
|
|
|
sleep 3
|
|
sls_detector_put currentsource 0
|
|
sleep 2
|
|
sls_detector_put frames 10000
|
|
sleep 2
|
|
sls_detector_put start
|
|
sleep 60
|
|
sls_detector_put stop
|
|
sleep 1
|
|
sls_detector_get status
|
|
sls_detector_put frames 640
|
|
|
|
$TKCSG0_0 &
|
|
sleep 3
|
|
$TKCSG0_1 &
|
|
sleep 3
|
|
$TKCSG0_2 &
|
|
sleep 3
|
|
$TKCSG0_3 &
|
|
sleep 3
|
|
$TKCSG0_4 &
|
|
sleep 3
|
|
$TKCSG0_5 &
|
|
sleep 3
|
|
|
|
echo "recording G0 pede"
|
|
sls_detector_acquire
|
|
sleep 1
|
|
|
|
|
|
echo "recording G1 pede"
|
|
sls_detector_put gainmode forceswitchg1
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
|
|
|
|
echo "recording G2 pede"
|
|
sls_detector_put gainmode forceswitchg2
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
|
|
|
|
sls_detector_put gainmode dynamic
|
|
sleep 1
|
|
|
|
|
|
# turn on current source
|
|
# bit 16 high bit 17 low = automatic cal col sweep
|
|
# bit 16 high bit 17 high = cal col selected with bits 26-20
|
|
sls_detector_put currentsource 1 nofix 0
|
|
sleep 5
|
|
|
|
|
|
# loop 1
|
|
for tint in {50..450..50} # 25 is too small here, 50 min
|
|
do
|
|
tint_sec=$(printf %.9f $(echo "$tint/1000000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 2a
|
|
for tint in {50..100..5}
|
|
do
|
|
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 2b
|
|
for tint in {110..200..10}
|
|
do
|
|
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 2c
|
|
for tint in {225..450..25}
|
|
do
|
|
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 3a
|
|
for tint in {50..100..5}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 3b
|
|
for tint in {110..200..10}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
|
|
sleep 1
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 3c
|
|
for tint in {225..450..25}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 4a
|
|
for tint in {50..100..5}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/1000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
# loop 4b
|
|
for tint in {110..250..10}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/1000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sleep 2
|
|
sls_detector_put acquire
|
|
sleep 1
|
|
done
|
|
|
|
|
|
echo "Finished scan at halfspeed"
|
|
sls_detector_put exptime 0.000010
|
|
sleep 1
|
|
|
|
$KILLRCV0
|
|
sleep 1
|
|
$KILLRCV1
|
|
sleep 1
|
|
$KILLRCV2
|
|
sleep 1
|
|
$KILLRCV3
|
|
sleep 1
|
|
$KILLRCV4
|
|
sleep 1
|
|
$KILLRCV5
|
|
sleep 1
|
|
|
|
sls_detector_put period 0.002
|
|
sleep 2
|
|
sls_detector_put frames 1000000
|
|
sleep 2
|
|
sls_detector_put currentsource 0
|
|
sleep 2
|
|
sls_detector_put highvoltage 0
|
|
sleep 2
|
|
sls_detector_put powerchip 0
|
|
echo "Script finished"
|
|
sleep 4
|
|
|
|
else
|
|
echo "Specify module number for each jfcalib board after firt argument"
|
|
echo "Script finished"
|
|
fi
|