#!/bin/bash SUBDIR=Infrastructure ThisDev=`hostname` source Commons.sh function Init() { CommonInit LogIt "$DOWNTO ${FUNCNAME[0]}" echo "0" > $SHM/OscRespondStream echo "Charging">$SHM/Status LogIt "$UPFROM ${FUNCNAME[0]}" } function Arming() { LogIt "$DOWNTO ${FUNCNAME[0]}" echo ":TRIGger:SWEep SINGle"|$oscilosc_w1 sleep 0.2;echo ":SINGle"|$oscilosc_w1 LogIt "$UPFROM ${FUNCNAME[0]}" } function Final() { LogIt "$PASSING ${FUNCNAME[0]}" } function Prepare() { LogIt "$DOWNTO ${FUNCNAME[0]}" if [ "$ThisDev" = "Bt" ];then RequestVoltage=$1;fi if [ "$ThisDev" = "Et" ];then RequestVoltage=$2;fi if [ $RequestVoltage -gt 0 ]; then echo "Charging">$SHM/Status StartOscAcquiring & LogIt "Requested value $RequestVoltage V" echo $RequestVoltage|$SHMstring/RequestVoltage $NULL ShCt_DIS;sleep 1;PS_ENG MeasuredValue=0 while [ $MeasuredValue -lt $RequestVoltage ]; do MeasuredValue=$(OscValue) LogIt "Charging Capacitor `ssh PwSp cat $SHM/Charging 2>/dev/null` $MeasuredValue/ $RequestVoltage V" sleep 1 done LogIt "Final voltage before plasma: $(OscValue) V" killall tail;killall netcat echo "Charged">$SHM/Status PS_DIS else echo "Charged">$SHM/Status fi LogIt "$UPFROM ${FUNCNAME[0]}" } function StartOscAcquiring() { LogIt "$DOWNTO ${FUNCNAME[0]}" if [ "$ThisDev" = "Bt" ];then OSCChannel=1;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 [ `cat $SHM/Status` != "Finished" ]; do echo ":MEAS:ITEM? VAVG, CHANNEL$OSCChannel">> $SHM/OscRequestStream sleep 1 done LogIt "$UPFROM ${FUNCNAME[0]}" } function ForceTrigger() { LogIt "$DOWNTO ${FUNCNAME[0]}" echo ":TFORce"|$oscilosc_w1 LogIt "$UPFROM ${FUNCNAME[0]}" } function KillOscAcquiring() { killall netcat # we'll do it better in future, mozna poslat ^C do streamu ... } function PostDisch() { LogIt "$DOWNTO ${FUNCNAME[0]}" sleep 1;ShCt_ENG GetScreenShot echo ":TRIGger:SWEep AUTO;RUN"|$oscilosc_w1 sleep 0.2 MeasuredValue= LogIt "Final voltage @PostDisch: `echo ":MEAS:ITEM? VAVG, CHANNEL1"|$oscilosc_w1|xargs printf '%4.0f\n'` V" echo "Finished">$SHM/Status LogIt "$UPFROM ${FUNCNAME[0]}" } function Emergency() { LogIt "$DOWNTO ${FUNCNAME[0]}" $SHMtouch/Emergency PS_DIS;sleep 1;ShCt_ENG KillOscAcquiring 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 }