#!/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 }