226 lines
4.4 KiB
Bash
226 lines
4.4 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
|
|
|
|
if [ "$1" == "" ] || [ $# -gt 1 ]; then
|
|
echo "Parameter 1 is empty specify G0 for normal, HG0 for HG0G1G2"
|
|
exit 0
|
|
fi
|
|
|
|
KILLRCV="killall ju_udp_receiver_3threads_2_0"
|
|
$KILLRCV
|
|
|
|
sls_detector_put powerchip 0
|
|
sleep 1
|
|
|
|
sls_detector_put stop
|
|
|
|
sls_detector_put powerchip 1
|
|
|
|
sleep 3
|
|
|
|
|
|
|
|
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 mpc2012
|
|
sls_detector_put udp_dstport 32410
|
|
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 udp_srcip $SRCIP #10.1.4.9
|
|
sls_detector_put udp_srcmac 00:ab:be:cc:dd:e2
|
|
|
|
sls_detector_put readoutspeed 1
|
|
sls_detector_put start # this puts the chip in a known state.
|
|
sls_detector_put stop
|
|
|
|
|
|
|
|
|
|
if [ "$1" == 'HG0' ]; then
|
|
sls_detector_put settings highgain0
|
|
#sls_detector_put reg 0x58 0x00800f ; sls_detector_put setbit 0x58 31 ; sls_detector_put clearbit 0x58 31;
|
|
echo "HG0G1G2 mode"
|
|
else
|
|
sls_detector_put settings gain0
|
|
#sls_detector_put reg 0x58 0x10800f ; sls_detector_put setbit 0x58 31 ; sls_detector_put clearbit 0x58 31;
|
|
echo "normal mode"
|
|
fi
|
|
|
|
sls_detector_put reg 0x7f 0xff1f
|
|
#sls_detector_put reg 0x59 0x1110
|
|
|
|
|
|
#sls_detector_put reg 0x5b 0xffffffff
|
|
#sls_detector_put reg 0x5a 0xffffffff
|
|
|
|
#sls_detector_put setbit 0x58 30 ; sls_detector_put clearbit 0x58 30;#set colum select register to ffffffff, normal state, switch enabled.
|
|
|
|
sls_detector_put gainmode dynamic
|
|
|
|
|
|
|
|
|
|
if [ "$1" == 'HG0' ]; then
|
|
$TKCSHG0 &
|
|
else
|
|
$TKCSG0 &
|
|
fi
|
|
sleep 2
|
|
|
|
|
|
echo "recording G0 pede"
|
|
sls_detector_put start
|
|
sleep 4
|
|
|
|
|
|
echo "recording G1 pede"
|
|
sls_detector_put gainmode forceswitchg1
|
|
sls_detector_put start
|
|
sleep 4
|
|
|
|
|
|
echo "recording G2 pede"
|
|
sls_detector_put gainmode forceswitchg2
|
|
sls_detector_put start
|
|
sleep 4
|
|
|
|
|
|
sls_detector_put gainmode dynamic
|
|
|
|
|
|
# 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 0x8000000000000000 normal #low
|
|
|
|
sleep 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
done
|
|
|
|
|
|
# loop 3b
|
|
for tint in {110..200..10}
|
|
do
|
|
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
|
|
echo "setting integration time to (s) " $tint_sec
|
|
sls_detector_put exptime $tint_sec
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
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
|
|
sls_detector_put start
|
|
sleep 4
|
|
done
|
|
|
|
|
|
echo "Finished scan"
|
|
sls_detector_put exptime 0.000010
|
|
sls_detector_put period 0.002
|
|
sls_detector_put frames 1000000
|
|
sls_detector_put currentsource 0
|
|
sls_detector_put highvoltage 0
|
|
echo "Script finished"
|
|
sleep 4
|
|
$KILLRCV
|