Sandbox/Dirigent/Et.sh

#!/bin/bash
SUBDIR=Infrastructure
ThisDev=`hostname`

source Commons.sh

ChargingFlag=0


function Init()
{
    CommonInit
    LogIt "$DOWNTO ${FUNCNAME[0]}"
    echo "0" > $SHM/OscRespondStream
    LogIt "$UPFROM ${FUNCNAME[0]}"
}

function Arming()
{
    LogIt "$DOWNTO ${FUNCNAME[0]}"
    echo ":TRIGger:SWEep SINGle"|$oscilosc
	sleep 0.2;echo ":SINGle"|$oscilosc
    LogIt "$UPFROM ${FUNCNAME[0]}"
}


function Prepare()
{
    LogIt "$DOWNTO ${FUNCNAME[0]}"
    ChargingFlag=1
    StartOscAcquiring &
    if [ "$ThisDev" = "Bt" ];then RequestVoltage=$1;fi
    if [ "$ThisDev" = "Et" ];then RequestVoltage=$2;fi
    echo "Charging">$SHM/Status
	LogIt "Requested value $RequestVoltage V"
	echo $RequestVoltage|$SHMstring/RequestVoltage $NULL
	ShCt_DIS;sleep 1;PS_ENG
	MeasuredValue=0
	while [ $MeasuredValue -lt $RequestVoltage ]; do
		MeasuredValue=`tail -1 $SHM/OscRespondStream|xargs printf '%4.0f\n'`
		LogIt "Charging Capacitor $MeasuredValue/ $RequestVoltage V" 
		sleep 1
    done
    ChargingFlag=0
    echo "Charged">$SHM/Status
    PS_DIS
    KillOscAcquiring
	LogIt "$UPFROM ${FUNCNAME[0]}"
    
}	

function StartOscAcquiring()
{
    LogIt "$DOWNTO ${FUNCNAME[0]}"
    if [ "$ThisDev" = "Bt" ];then OSCChannel=3;fi
    if [ "$ThisDev" = "Et" ];then OSCChannel=1;fi
    echo ":TRIGger:SWEep AUTO;RUN"|$oscilosc_w1
    touch $SHM/OscRequestStream
    tail -f $SHM/OscRequestStream|$oscilosc_stream >> $SHM/OscRespondStream &
    while [ $ChargingFlag ]; do 
        echo ":MEAS:ITEM? VAVG, CHANNEL$OSCChannel">> $SHM/OscRequestStream 
        sleep 1
    done
}    




function KillOscAcquiring()
{
    killall netcat # we'll do it better in future

}

function PostDisch()
{
    LogIt "$DOWNTO ${FUNCNAME[0]}"
	sleep 1;ShCt_ENG
	GetScreenShot
	LogIt "$UPFROM ${FUNCNAME[0]}"
    
}

function Emergency()
{
    LogIt "$DOWNTO ${FUNCNAME[0]}"
    $SHMtouch/Emergency
	PS_DIS;sleep 1;ShCt_ENG
	LogIt "$UPFROM ${FUNCNAME[0]}"
    
}	

	

function ShCt_DIS ()
{
	LogIt "Short circuit OFF"
	RelayON 18
}	

function ShCt_ENG ()
{
	LogIt "Short circuit ON"
	RelayOFF 18
}

function PS_ENG ()
{
	LogIt "Connect HV Power sup. to $ThisDev"
	RelayON 17
}	

function PS_DIS ()
{
	LogIt "Disconnect HV Power sup. from $ThisDev"
	RelayOFF 17
}

function HVlightON ()
{
	RelayON 12
}	

function HVlightOFF ()
{
	RelayOFF 12
}