#!/bin/bash
#
echo "Before doing anything, setup power supplies"
echo "...SRU"
echo "...Trigger adapter"
echo "...5to1 card"
echo "...LV card"
echo "Next: Init serial line ..."
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    echo "EXITING"
    exit 1
fi
#
echo "Init serial line ..."
stty -F $LVCARD 38400 cs8 -cstopb -parenb ixoff -icrnl -opost -onlcr -isig -icanon -echo -echoe
#
echo "Init SRU first time ..."
./srupup --sruif $SRUIF
echo "Next: Init LV card ...."
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    echo "EXITING"
    exit 1
fi
#
echo "Init LV card ...."
./lvcard --mcm1 --mcm2 --mcm3 --mcm4 --mcm5 --init
./lvcard --mcm4 --mcm5 --power 0
echo "Next: ADC readings"
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    echo "EXITING"
    exit 1
fi
#
echo "ADC readings"
./lvcard --read --dump > lvcardadc.out
./lvcardadcdecode . lvcardadc.out | grep -e "MCM4" -e "MCM5"
echo "Next: Enable LVCARD power"
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    echo "EXITING"
    exit 1
fi
#
echo "Enable LVCARD power - press output on"
echo "Next: Power on MCM  and read ADCs"
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    echo "EXITING"
    exit 1
fi
#
echo "Power on MCM"
./lvcard --mcm4 --mcm5 --power 1
echo "Reading ADCs"
./lvcard --read --dump > lvcardadc.out
./lvcardadcdecode . lvcardadc.out | grep -e "MCM4" -e "MCM5"
echo "Next: reading temperatures"
read -p "Exit[eE], else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    ./lvcard --mcm4 --mcm5 --power 0
    echo "EXITING"
    exit 1
fi
#
echo "reading temperatures"
./lvcard --mcm4 --mcm5 --mcmtemp  > lvcardtmp.out
./lvcardtmpdecode . lvcardtmp.out | grep -e MCM4 -e MCM5
echo "Next: MCM init - write DAC settings"
read -p "Exit[eE] and shutdown, else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    ./lvcard --mcm4 --mcm5 --power 0
    echo "EXITING"
    exit 1
fi
#
echo " MCM init - write/read DAC settings"
./lvcard --mcm4 --mcm5 --mcmini
./lvcard --mcm4 --mcm5 --readdac
# HERE: Decode DAC settings
echo "Next: SRU init"
read -p "Exit[eE] and shutdown, else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    ./lvcard --mcm4 --mcm5 --power 0
    echo "EXITING"
    exit 1
fi
#
echo "SRU init"
./srupup --sruif $SRUIF
./mcmdumpregs --fec 0
./mcmdumpregs --fec 1
echo "Next: switch on SALTRO"
read -p "Exit[eE] and shutdown, else continue:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    ./lvcard --mcm4 --mcm5 --power 0
    echo "EXITING"
    exit 1
fi
# saltro on - read ADC and temp
./biasctrltpc.sh 0 1
./lvcard --read --dump > lvcardadc.out
./lvcardadcdecode . lvcardadc.out | grep -e "MCM4" -e "MCM5"
./lvcard --mcm4 --mcm5 --mcmtemp  > lvcardtmp.out
./lvcardtmpdecode . lvcardtmp.out | grep -e "MCM4" -e "MCM5"
read -p "Exit[eE] and shutdown, else DONE:" myinput
re='^[eE]'
if [[ "$myinput" =~ $re ]] ; then
    ./biasctrltpc.sh 1 0
    ./lvcard --mcm4 --mcm5 --power 0
    echo "EXITING"
    exit 1
fi
echo "************"
echo "DONE"
echo "************"
exit




./lvcard --mcm4 --mcm5 --mcmtemp
mcmtemp=`./lvcard --mcm4 --mcm5 --mcmtemp`



./lvcard --mcm4 --mcm5 --mcmini

./lvcard --mcm4 --mcm5 --readdac



grep
Arguments: action 12 mcm 18 dump 0
MCM temperatures
================
SCS5:
TRT
S00009E0000
15D0 021.75
>
SCS6:
TRT
S00009E0000
15A0 021.50
>

./lvcard --mcm4 --mcm5 --mcmini

./lvcard --mcm4 --mcm5 --readdac

Arguments: action 14 mcm 18 dump 0
MCM4 DECAY:
DRD0
S00009E0000
23E8
>
MCM4 REFP:
DRD1
S00009E0000
2A8C
>
MCM4 CM:
DRD2
S00009E0000
25DC
>
MCM4 REFN:
DRD3
S00009E0000
212C
>
MCM5 DECAY:
DRD0
S00009E0000
23E8
>
MCM5 REFP:
DRD1
S00009E0000
2A8C
>
MCM5 CM:
DRD2
S00009E0000
25DC
>
MCM5 REFN:
DRD3
S00009E0000
212C
>

./lvcard --read --dump
./lvcard --read --dump
Arguments: action 2 mcm 0 dump 1
REPLY1:
 ARA1
C0E0 03086
0000 00000
0000 00000
0000 00000
09E0 00158
08C0 00140
6A70 01703
6E80 01768
C0E0 03086
>
ENDREPLY1
VIN  C0E0 3086
MCM1: current 1.5V 0 0
MCM2: current 1.5V 0 0
MCM3: current 1.5V 0 0
MCM4: current 1.5V 9E0 316
MCM5: current 1.5V 8C0 280
REPLY2:
 ARA2
C130 03091
0000 00000
0000 00000
0000 00000
0420 00066
0000 00000
6AA0 01706
6B60 01718
C1B0 03099
>
ENDREPLY2
VIN  C130 3091
MCM1: current 2.5V 0 0
MCM2: current 2.5V 0 0
MCM3: current 2.5V 0 0
MCM4: current 2.5V 420 66
MCM5: current 2.5V 0 0
REPLY3:
 ARA3
0000 00000
0000 00000
0000 00000
5E90 01513
5AC0 01452
7180 01816
6BA0 01722
6EC0 01772
0000 00000
>
ENDREPLY1
VOUT MCM1:  1.5V 0 0
VOUT MCM2:  1.5V 0 0
VOUT MCM3:  1.5V 0 0
VOUT MCM4:  1.5V 5E90 1513
VOUT MCM5:  1.5V 5AC0 1452
REPLY4:
 ARA4
26A0 00618
0100 00016
03E0 00062
9CB0 02507
A990 02713
7790 01913
6CD0 01741
6E40 01764
4130 01043
>
ENDREPLY2
VOUT MCM1:  2.5V 26A0 618
VOUT MCM2:  2.5V 100 16
VOUT MCM3:  2.5V 3E0 62
VOUT MCM4:  2.5V 9CB0 2507
VOUT MCM5:  2.5V A990 2713

./srupup --sruif $SRUIF
../mcmtests/mcmdumpregs --fec 0
../mcmtests/mcmdumpregs --fec 1

# saltro on
./biasctrltpc.sh 0 1

./lvcard --mcm4 --mcm5 --mcmtemp
Arguments: action 12 mcm 18 dump 0
MCM temperatures
================
SCS5:
TRT
S00009E0000
3060 048.25
>
SCS6:
TRT
S00009E0000
2C50 044.25
>


./lvcard --read --dump
Arguments: action 2 mcm 0 dump 1
REPLY1:
 ARA1
B260 02854
0000 00000
0000 00000
0000 00000
6310 01585
59C0 01436
6EB0 01771
7030 01795
B240 02852
>
ENDREPLY1
VIN  B260 2854
MCM1: current 1.5V 0 0
MCM2: current 1.5V 0 0
MCM3: current 1.5V 0 0
MCM4: current 1.5V 6310 3170
MCM5: current 1.5V 59C0 2872
REPLY2:
 ARA2
BDD0 03037
0000 00000
0000 00000
0000 00000
0510 00081
0000 00000
6AA0 01706
6B50 01717
BD00 03024
>
ENDREPLY2
VIN  BDD0 3037
MCM1: current 2.5V 0 0
MCM2: current 2.5V 0 0
MCM3: current 2.5V 0 0
MCM4: current 2.5V 510 81
MCM5: current 2.5V 0 0
REPLY3:
 ARA3
0000 00000
0000 00000
0000 00000
6110 01553
5B70 01463
7160 01814
6BA0 01722
6EC0 01772
0000 00000
>
ENDREPLY1
VOUT MCM1:  1.5V 0 0
VOUT MCM2:  1.5V 0 0
VOUT MCM3:  1.5V 0 0
VOUT MCM4:  1.5V 6110 1553
VOUT MCM5:  1.5V 5B70 1463
REPLY4:
 ARA4
2CC0 00716
0130 00019
0300 00048
9CF0 02511
A5D0 02653
7780 01912
6CE0 01742
6E60 01766
4510 01105
>
ENDREPLY2
VOUT MCM1:  2.5V 2CC0 716
VOUT MCM2:  2.5V 130 19
VOUT MCM3:  2.5V 300 48
VOUT MCM4:  2.5V 9CF0 2511
VOUT MCM5:  2.5V A5D0 2653


./smalltpc-test.sh "0 1" 0 0 1008 0 300 1

./lvcard --mcm4 --mcm5 --mcmtemp
Arguments: action 12 mcm 18 dump 0
MCM temperatures
================
SCS5:
TRT
S00009E0000
26D0 038.75
>
SCS6:
TRT
S00009E0000
24A0 036.50
>

 ./lvcard --read --dump
Arguments: action 2 mcm 0 dump 1
REPLY1:
 ARA1
B1C0 02844
0000 00000
0000 00000
0000 00000
60A0 01546
58A0 01418
6EC0 01772
7000 01792
B190 02841
>
ENDREPLY1
VIN  B1C0 2844
MCM1: current 1.5V 0 0
MCM2: current 1.5V 0 0
MCM3: current 1.5V 0 0
MCM4: current 1.5V 60A0 3092
MCM5: current 1.5V 58A0 2836
REPLY2:
 ARA2
BD30 03027
0000 00000
0000 00000
0000 00000
03D0 00061
0020 00002
6A90 01705
6B50 01717
BD20 03026
>
ENDREPLY2
VIN  BD30 3027
MCM1: current 2.5V 0 0
MCM2: current 2.5V 0 0
MCM3: current 2.5V 0 0
MCM4: current 2.5V 3D0 61
MCM5: current 2.5V 20 2
REPLY3:
 ARA3
0000 00000
0000 00000
0000 00000
60C0 01548
5B30 01459
70E0 01806
6B70 01719
6EA0 01770
0000 00000
>
ENDREPLY1
VOUT MCM1:  1.5V 0 0
VOUT MCM2:  1.5V 0 0
VOUT MCM3:  1.5V 0 0
VOUT MCM4:  1.5V 60C0 1548
VOUT MCM5:  1.5V 5B30 1459
REPLY4:
 ARA4
3ED0 01005
01A0 00026
0290 00041
9C70 02503
A530 02643
7710 01905
6BF0 01727
6E30 01763
5080 01288
>
ENDREPLY2
VOUT MCM1:  2.5V 3ED0 1005
VOUT MCM2:  2.5V 1A0 26
VOUT MCM3:  2.5V 290 41
VOUT MCM4:  2.5V 9C70 2503
VOUT MCM5:  2.5V A530 2643

./lvcard --mcm4 --mcm5 --mcmtemp
Arguments: action 12 mcm 18 dump 0
MCM temperatures
================
SCS5:
TRT
S00009E0000
2870 040.25
>
SCS6:
TRT
S00009E0000
2630 038.00

./lvcard --read --dump
Arguments: action 2 mcm 0 dump 1
REPLY1:
 ARA1
B150 02837
0000 00000
0000 00000
0000 00000
6110 01553
58C0 01420
6EC0 01772
6E80 01768
B120 02834
>
ENDREPLY1
VIN  B150 2837
MCM1: current 1.5V 0 0
MCM2: current 1.5V 0 0
MCM3: current 1.5V 0 0
MCM4: current 1.5V 6110 3106
MCM5: current 1.5V 58C0 2840
REPLY2:
 ARA2
BC90 03017
0000 00000
0000 00000
0000 00000
04B0 00075
0010 00001
6A90 01705
6AF0 01711
BC90 03017
>
ENDREPLY2
VIN  BC90 3017
MCM1: current 2.5V 0 0
MCM2: current 2.5V 0 0
MCM3: current 2.5V 0 0
MCM4: current 2.5V 4B0 75
MCM5: current 2.5V 10 1
REPLY3:
 ARA3
0000 00000
0000 00000
0000 00000
60A0 01546
5B00 01456
6D30 01747
6A70 01703
6E10 01761
0000 00000
>
ENDREPLY1
VOUT MCM1:  1.5V 0 0
VOUT MCM2:  1.5V 0 0
VOUT MCM3:  1.5V 0 0
VOUT MCM4:  1.5V 60A0 1546
VOUT MCM5:  1.5V 5B00 1456
REPLY4:
 ARA4
A360 02614
0340 00052
0260 00038
9C50 02501
A700 02672
7130 01811
6A50 01701
6E20 01762
98A0 02442
>
ENDREPLY2
VOUT MCM1:  2.5V A360 2614
VOUT MCM2:  2.5V 340 52
VOUT MCM3:  2.5V 260 38
VOUT MCM4:  2.5V 9C50 2501
VOUT MCM5:  2.5V A700 2672
 ./lvcard --read --dump > lvcardadc.out
./lvcardadcdecode . lvcardadc.out | grep -e "MCM4" -e "MCM5"

./lvcard --mcm4 --mcm5 --mcmtemp  > lvcardtmp.out
./lvcardtmpdecode . lvcardtmp.out | grep -e MCM4 -e MCM5

Arguments: action 12 mcm 18 dump 0
MCM temperatures
================
SCS5:
TRT
S00009E0000
2940 041.25
>
SCS6:
TRT
S00009E0000
2700 039.00
./smalltpc-test.sh "0 1" 0 0 1008 0 300 1
