TASK=TestovaciLinkaTorB
NET=11
WAIT=sleep 2s
PAPQUIDOa=telnet 192.168.$(NET).254 10001  >/dev/null 2>/dev/null #(8 IN/8 OUT)
PAPAD4ETHa=192.168.$(NET).253 10001 #00:20:4A:98:E6:1E
PAPAD4ETHb=192.168.$(NET).252 10001 #00:20:4A:98:E7:48
PAPQUIDOb=telnet 192.168.$(NET).251 10001  >/dev/null 2>/dev/null #00:20:4A:AF:1F:EC (2 IN/16 OUT)
#REMOTEPC=svoboda@=192.168.11.250
#REMOTEPC=svoboda@192.168.2.40
REMOTEPC=svoboda@192.168.11.210
REMOTEDIR=/home/svoboda/GOLEM/velin/DAS/USBscope
REMOTEMAKE=ssh $(REMOTEPC) make -iB -s -C $(REMOTEDIR)
#Frekvence 3E5 atp hapruji (spatne se nastavi frekvence USBscope), musi byt zatim 1E5, 1E6 atp.
USBscFREQ=1E5


wish2s=echo pack [label .tst -text {$$text}]|wish & jobid=$$! ; sleep 2s; kill $$jobid


MAKELOG=zip $$aktdir/log makefile controlpanel


cnp:
	sh controlpanel

usbscope:
	mkdir -p Tasks/$(TASK);
	aktdir=Tasks/$(TASK)/`date '+%d%m%y_%H%M'`; echo $$aktdir > aktdir; mkdir $$aktdir; $(MAKELOG);$(REMOTEMAKE) capt LENGTH=3072 FREQ=$(USBscFREQ) > $$aktdir/usbscope;cd $$aktdir; echo "set xlabel 't[ms]'; set ylabel 'U [V]';set nokey;plot 'usbscope' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot -persist; echo "set terminal postscript enhanced;  set xlabel 't[us]'; set ylabel 'U [V]';plot 'usbscope'"|gnuplot > plot.ps; convert -rotate 90 plot.ps plot.png #nakreslit graf


process:
	make -iB preprocess
	make -iB shot
	make -iB postprocess
	make -iB gplots


pripravDAS:
	mkdir -p Tasks/$(TASK);aktdir=Tasks/$(TASK)/`date '+%d%m%y_%H%M'`; echo $$aktdir > aktdir; mkdir $$aktdir; $(MAKELOG);
	$(REMOTEMAKE) getready LENGTH=3072 FREQ=$(USBscFREQ)


shot:
	echo '*B1OS7H'|$(PAPQUIDOb); sleep 0.5s;echo '*B1OS7L'|$(PAPQUIDOb)
	#1250 je 0.1 ms
	#12500 je 1ms
	#125000 10 ms
	$(REMOTEMAKE) shot PLENGTH=125000

sberDAS:   
	$(REMOTEMAKE) postpr
	scp $(REMOTEPC):/$(REMOTEDIR)/data.zip `cat aktdir`/

gplots:
	cd `cat aktdir`; unzip -u data.zip;
	cd `cat aktdir`; echo "set xlabel 't[ms]'; set ylabel 'U [V]';plot 'usbscope0.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot -persist & echo "set terminal postscript enhanced; set xlabel 't[ms]'; set ylabel 'U [V]' ; set nokey;plot 'usbscope0.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot > usbscope0.ps;convert -rotate 90 usbscope0.ps usbscope0.png &
	cd `cat aktdir`; echo "set xlabel 't[ms]'; set ylabel 'U [V]';plot 'usbscope1.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot -persist & echo "set terminal postscript enhanced; set xlabel 't[ms]'; set ylabel 'U [V]';set nokey;plot 'usbscope1.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot > usbscope0.ps;convert -rotate 90 usbscope1.ps usbscope1.png &
	cd `cat aktdir`; echo "set xlabel 't[ms]'; set ylabel 'U [V]';plot 'usbscope0.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1), 'usbscope1.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot -persist & echo "set terminal postscript enhanced; set xlabel 't[ms]'; set ylabel 'U [V]';set nokey;plot 'usbscope1.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1),'usbscope1.dta' using (1000*\$$0/$(USBscFREQ)):(\$$1)"|gnuplot > usbscopeall.ps;convert -rotate 90 usbscopeall.ps usbscopeall.png &


go:
	sleep 2s
	make inicializace -B
	sleep 3s
	make nabijeni -B
	sleep 5s
	make priprava -B
	sleep 5s
	make shot -B
	sleep 4s
	make zaver -B


inicializace:
	#Nastavujeme pouze zkrat aktivne, ostatni vypnuto.
	echo '*B1OS1L'|$(PAPQUIDOb);echo '*B1OS2L'|$(PAPQUIDOb);echo '*B1OS3L'|$(PAPQUIDOb);echo '*B1OS4L'|$(PAPQUIDOb);echo '*B1OS5L'|$(PAPQUIDOb);echo '*B1OS6H'|$(PAPQUIDOb);echo '*B1OS7L'|$(PAPQUIDOb);echo '*B1OS8L'|$(PAPQUIDOb);
nabijeni:
	echo '*B1OS5L'|$(PAPQUIDOb) #Pripojeni zdroje ke C
	$(WAIT)
	echo '*B1OS1H'|$(PAPQUIDOb);echo '*B1OS2H'|$(PAPQUIDOb);echo '*B1OS3H'|$(PAPQUIDOb) #Pripojeni zdroje k siti

priprava:
	echo '*B1OS5H'|$(PAPQUIDOb) #Odpojeni zdroje ke C
	echo '*B1OS1L'|$(PAPQUIDOb);echo '*B1OS2L'|$(PAPQUIDOb);echo '*B1OS3L'|$(PAPQUIDOb) #Odpojeni zdroje k siti
	sleep 1s
	make pripravDAS -B #Pripravidt USB prevodniky na triger

zaver:
	echo '*B1OS6L'|$(PAPQUIDOb) #zkratovat
	echo '*B1OS5L'|$(PAPQUIDOb) 
	sleep 1s
	make sberDAS -B
	make gplots -B


konec:
	echo '*B1OS1L'|$(PAPQUIDOb);echo '*B1OS2L'|$(PAPQUIDOb);echo '*B1OS3L'|$(PAPQUIDOb);echo '*B1OS4L'|$(PAPQUIDOb);echo '*B1OS5L'|$(PAPQUIDOb);echo '*B1OS6L'|$(PAPQUIDOb);echo '*B1OS7L'|$(PAPQUIDOb);echo '*B1OS8L'|$(PAPQUIDOb);

sw:
	echo *B1OS$(ch)$(st)|$(PAPQUIDOb) #jednoduch switch

puls:
	echo *B1OS$(ch)H|$(PAPQUIDOb) #on
	sleep 0.1s
	echo *B1OS$(ch)L|$(PAPQUIDOb) #off
 
vakuumOn:
	xterm -e 'make vakuumcheck' & jobid=$$!;echo $$jobid >vacuumid #Mereni vakua, ID pro zabiti 
	sleep 3s; text='Vypinam zavzdusneni';$(wish2s) &
	echo *B1OS3H|$(PAPQUIDOa) #zavzdusneni rotacky vypnout
	sleep 3s; text='Zapinam rotacku';$(wish2s) &
	echo *B1OS2H|$(PAPQUIDOa) #rotacku rozbehnout
	sleep 3s; text='Pripojuji ventilem rotacku ke komore';$(wish2s) &
	echo *B1OS1H|$(PAPQUIDOa) #rotacku ventilem pripojit

test:



vakuumOff:
	text='Odpojuji rotacku od komory';$(wish2s) &
	echo *B1OS1L|$(PAPQUIDOa) #rotacku ventilem odpojit
	sleep 3s;text='Vypinam rotacku';$(wish2s) &
	echo *B1OS2L|$(PAPQUIDOa) #rotacku vypnout
	sleep 3s;text='Zavzdusnuji';$(wish2s) &
	echo *B1OS3L|$(PAPQUIDOa) #zavzdusnit
	pid=`head -1 vacuumid`;for i in `ps -ef| awk '$$3 == '$$pid' { print $$2 }'`; do kill $$i; done
	cd `tail -1 vacuumid`; echo "plot 'vacuumlog'"|gnuplot -persist; echo "set terminal postscript enhanced;  set xlabel 't[s]'; set ylabel 'vacuum gauge VPR20 [mV]';plot 'vacuumlog'"|gnuplot > plot.ps; convert -rotate 90 plot.ps plot.png #nakreslit graf




vakuumcheck:
	mkdir -p Tasks/$(TASK); mkdir -p Tasks/$(TASK)/vacuum; 
	starttime=`date '+%s'`;dirvac=Tasks/$(TASK)/vacuum/`date '+%d%m%y_%H%M'`; echo $$dirvac >> vacuumid; mkdir $$dirvac; while [ 1 ]; do let akttime=`date '+%s'`-$$starttime; echo -n -e $$akttime \\t >> $$dirvac/vacuumlog; $(PAPBASE)|awk '{print $$4}' >> $$dirvac/vacuumlog ; sleep 5s; echo -n -e $$akttime \\t; $(PAPBASE)|awk '{print $$4}';sleep 5s; done


fg:
	sh fg

editace:
	emacs makefile controlpanel &

paptest:
	echo 'set fh [socket $(PAPAD4ETHa)];puts $$fh "*B1MR0"; flush $$fh;gets $$fh line; puts $$line;close $$fh;'|tclsh|awk '{print $$10}'

PAPBASE=echo 'set fh [socket $(PAPAD4ETHa)];puts $$fh "*B1MR0"; flush $$fh;gets $$fh line; puts $$line;close $$fh;'|tclsh

ad4eth1:
	$(PAPBASE)|awk '{print $$4*4+100}'
ad4eth2:
	$(PAPBASE)|awk '{print $$7}'
ad4eth3:
	$(PAPBASE)|awk '{print $$10}'
ad4eth3a:
	$(PAPBASE)|awk '{print ($$10*4+100)/1000}'
ad4eth4:
	$(PAPBASE)|awk '{print $$13}'
on:
	echo *B1OS1H|$(PAPQUIDOa) #off
off:
	echo *B1OS1L|$(PAPQUIDOa) #off

kontrola:	
	$(PAPBASE)|awk '{if ($$10 > 2000){system("make -is off")}}'
	$(PAPBASE)|awk '{if ($$10 > 1000 && $$10 < 2000 ){system("make -is on")}}'


vakuumgraf:
	echo "plot '`tail -1 vacuumid`/vacuumlog'"|gnuplot -persist

killgnuplots:
	killall gnuplot_x11


logbook:
	konqueror Tasks/index.html 

editlb:
	emacs --title 'Emacs GOLEM logbook' Tasks/*.html 

buonkonsole:
	konsole &

buonkrus:
	krusader --left ~/GOLEM/velin --right ~/GOLEM/velin/Tasks/$(TASK)   
