Sandbox/Dirigent/PwSp.sh
#!/bin/bash
SUBDIR=Infrastructure
ThisDev=PwSp
source Commons.sh
ChargingFlag=0
function Init()
{
CommonInit
LogIt "$DOWNTO ${FUNCNAME[0]}"
echo ":STOP;RUN"|$oscilosc_w1;sleep 1;echo ":STOP"|$oscilosc_w1;sleep 1
LogIt "$UPFROM ${FUNCNAME[0]}"
}
ChargingResistors=0
function Prepare()
{
LogIt "$DOWNTO ${FUNCNAME[0]}"
UBtRequest=$1;UcdRequest=$2
HVon;ChargingFlag=1;ChargResOFF
StatusScanGo
SlowLine=80 # Hrana na pomale nabijeni ....
LogIt "PIDs: $PID1, $PID2"
while [ $ChargingFlag -eq 1 ]; do
UBt=`tail -1 $SHMdir/U@Bt|xargs printf '%4.0f\n'`
StatusBt=`tail -1 $SHMdir/Status@Bt`
Ucd=`tail -1 $SHMdir/U@Et|xargs printf '%4.0f\n'`
StatusEt=`tail -1 $SHMdir/Status@Et`
if [ "$StatusEt" = "Charged" ] && [ "$StatusBt" = "Charged" ];then Finito;ChargingFlag=0;fi
if [ $UBt -gt $(($UBtRequest*$SlowLine/100)) ] && [ $ChargingResistors == 0 ] && [ "$StatusBt" = "Charging" ]; then LogIt "Bt slow PowSup";ChargResON;fi
if [ $Ucd -gt $(($UcdRequest*$SlowLine/100)) ] && [ $ChargingResistors == 0 ] && [ "$StatusEt" = "Charging" ]; then LogIt "Et slow PowSup";ChargResON;fi
if [ "$StatusEt" = "Charged" ] && [ $ChargingResistors == 1 ] && [ $UBt -lt $(($UBtRequest*$SlowLine/100)) ]; then LogIt "Bt boost PowSup";ChargResOFF;fi
sleep 1
done
HVoff
LogIt "$UPFROM ${FUNCNAME[0]}"
}
function Finito()
{
#for i in `seq 4`; do kill $PID$i;done #Priste ...
kill $PID1;kill $PID2;kill $PID3;kill $PID4
}
PID1=0;PID2=0;PID3=0;PID4=0
function StatusScanGo()
{
ssh -T golem@Bt "tail -f "$SHM"/OscRespondStream" >> $SHMdir/U@Bt &
PID1=$!
ssh -T golem@Bt "tail -f "$SHM"/Status 2> /dev/null" >> $SHMdir/Status@Bt &
PID2=$!
ssh -T golem@Et "tail -f "$SHM"/OscRespondStream" >> $SHMdir/U@Et &
PID3=$!
ssh -T golem@Et "tail -f "$SHM"/Status 2> /dev/null" >> $SHMdir/Status@Et &
PID4=$!
}
function Arming()
{
LogIt "Arming@PowSup"
}
function PostDisch()
{
LogIt "PostDisch@PowSup"
}
function HVon()
{
LogIt "HV power supply on"
echo "*B1OS3H"|telnet PowSupPap 10001 1>&- 2>&-
HVlightON
}
function HVoff()
{
LogIt "HV power supply off"
echo "*B1OS3L"|telnet PowSupPap 10001 1>&- 2>&-
HVlightOFF
ChargResON
}
function ChargResOFF()
{
ChargingResistors=0
echo "*B1OS6H"|telnet PowSupPap 10001 1>&- 2>&-;sleep 1
echo "*B1OS7H"|telnet PowSupPap 10001 1>&- 2>&-;sleep 1
echo "*B1OS8H"|telnet PowSupPap 10001 1>&- 2>&-;sleep 1
}
function ChargResON()
{
ChargingResistors=1
echo "*B1OS6L"|telnet PowSupPap 10001 1>&- 2>&-
echo "*B1OS7L"|telnet PowSupPap 10001 1>&- 2>&-
echo "*B1OS8L"|telnet PowSupPap 10001 1>&- 2>&-
}
function HVlightON()
{
Et HVlightON
}
function HVlightOFF()
{
Et HVlightOFF
}