#!/bin/bash


BasePath=../../..;source $BasePath/Commons.sh


COMMAND="netcat -w 3 $ThisDev.golem 5555"
scope_address="nc -w 1 $ThisDev.golem 5555"

columns="1 2 3 4"

# 0621:Check the voltage generated by discharge in stabilization coils
#_CheckCoils
#diags=( 'U_loop-d' 'U_radial' 'U_vertical' 'U_loop-m')
# Vertical coil commissioning
diags=( 'U^vertical_loop-d'  'U^vertical_fg' 'U^vertical_currclamp' 'Trigger^vertical')



#e.g. source Commons.sh ;OpenSessionSomewhere /golem/svoboda/Dirigent/Devices/Oscilloscopes/RigolMSO5104-a/Stabilization.sh


function OpenSession()
{
   echo "
CHANnel1:DISPlay ON;CHANnel1:PROBe 1;CHANnel1:SCALe 5;CHANnel1:OFFSet 0;
CHANnel2:DISPlay ON;CHANnel2:PROBe 1;CHANnel2:SCALe 3;CHANnel2:OFFSet 0;
CHANnel3:DISPlay ON;CHANnel3:PROBe 1;CHANnel3:SCALe 1.2;CHANnel3:OFFSet 0;
CHANnel4:DISPlay ON;CHANnel4:PROBe 1;CHANnel4:SCALe 2;CHANnel4:OFFSet -7;
TIMebase:DELay:ENABle OFF;TIMebase:MAIN:SCALe 4e-3;TIMebase:MAIN:OFFSet 18e-3;
:STOP;:CLEAR;
:SYSTem:KEY:PRESs MOFF
:TRIGger:EDGE:SOURce CHANnel4;TRIGger:EDGE:SLOPe POS;TRIGger:EDGE:LEVel 2;
"|$scope_address
}


function OpenSession_CheckCoils()
{
   echo "
CHANnel1:DISPlay ON;CHANnel1:PROBe 1;CHANnel1:SCALe 4;CHANnel1:OFFSet -6;
CHANnel2:DISPlay ON;CHANnel2:PROBe 1;CHANnel2:SCALe 5;CHANnel2:OFFSet 0;
CHANnel3:DISPlay ON;CHANnel3:PROBe 1;CHANnel3:SCALe 5;CHANnel3:OFFSet 0;
CHANnel4:DISPlay OFF;CHANnel4:PROBe 1;CHANnel4:SCALe 1;CHANnel4:OFFSet 0;
TIMebase:DELay:ENABle OFF;TIMebase:MAIN:SCALe 2e-3;TIMebase:MAIN:OFFSet 9e-3;
:STOP;:CLEAR;
:SYSTem:KEY:PRESs MOFF
:TRIGger:EDGE:SOURce CHANnel1;TRIGger:EDGE:SLOPe POS;TRIGger:EDGE:LEVel 4;
"|$scope_address
}

function Arming()
{
	echo ":SINGLe"|$scope_address
}



function RawDataAcquiring()
{
    getdata
    GetOscScreenShot 
    #web
  
}

function GetOscScreenShot()
{
	echo ":SYSTem:KEY:PRESs MOFF"|$scope_address
	mRelax
    echo ":DISPLAY:DATA?  ON,OFF,BMP"|$COMMAND|tail -c +12 > ScreenShotAll.bmp
    convert ScreenShotAll.bmp ScreenShotAll.png
    convert -resize 200x200 ScreenShotAll.png rawdata.jpg
    rm ScreenShotAll.bmp 
}

function getdata()
{
    for CHANNEL in $columns; do 
        echo "$ThisDev oscilloscope  Downloading data for channel $CHANNEL"
        (echo ":WAV:SOURCE CHAN$CHANNEL;:WAV:FORM ASCii;:WAV:MODE NORM;:WAV:DATA?" |$scope_address|cut -c 12-|sed 's/,/\n/g' > ${diags[$CHANNEL-1]}.csv ) &
        sleep 0.2s
    done
    wait
    mkdir -p ScopeSetup;for i in XINC XOR XREF START STOP; do echo ":WAV:$i?"|$scope_address > ScopeSetup/$i;done
    
    issue="I^vertical_currclamp"
    cat U^vertical_currclamp.csv |awk -F "," '{print $1/(50e-3)}' > $issue.csv
    gnuplot -e 'set datafile separator ",";set terminal jpeg;plot "'$issue.csv'" w l t "'${issue/_/\\\\_}'"' > $issue.jpg;
}
