Rev 3258 Rev 3271
1 ;Josef Szylar ver 1.6 - 4. 8. 2013 1 ;Josef Szylar ver 1.6 - 4. 8. 2013
2 ;PODMÍNKA JEN 80 ZNAKŮ 2 ;PODMÍNKA JEN 80 ZNAKŮ
3 ;PŘÍKAZY JEN 255 ZNAKŮ 3 ;PŘÍKAZY JEN 255 ZNAKŮ
4   4  
5 ;Zmeny: 5 ;Zmeny:
6 ;- Opravena chyba s prepisovanim vypisu zacatku 6 ;- Opravena chyba s prepisovanim vypisu zacatku
7 ;- cas necitlivosti upraven na 2 7 ;- cas necitlivosti upraven na 2
8 ;- cas ovaleni upraven na 4 8 ;- cas ovaleni upraven na 4
9 ;- Doplneno generovani pruklepu screenshotu pri bolidu do adresare s bolidy 9 ;- Doplneno generovani pruklepu screenshotu pri bolidu do adresare s bolidy
10 ;- Graficka zmena vypisu 10 ;- Graficka zmena vypisu
11 ;- Pridan zaznam o intenzite sumu do no_met 11 ;- Pridan zaznam o intenzite sumu do no_met
12   12  
13   13  
14 ;Časovače 14 ;Časovače
15 ;timer0 - časovač maximální mezery mezi 2 meteory K_max_time_btw_met 15 ;timer0 - časovač maximální mezery mezi 2 meteory K_max_time_btw_met
16 ;timer3 - časovač pro odpočet screenshotu bez meteoru K_max_time_to_scr 16 ;timer3 - časovač pro odpočet screenshotu bez meteoru K_max_time_to_scr
17 ;timer4 - časovač pro odečet screenshotu s meteorem po odvalení několika málo sekund aby nebyl meteor moc nahoře 17 ;timer4 - časovač pro odečet screenshotu s meteorem po odvalení několika málo sekund aby nebyl meteor moc nahoře
18   18  
19 ;Proměnné: 19 ;Proměnné:
20 ;n=0 noise background šum pozadí 20 ;n=0 noise background šum pozadí
21 ;n_1=0 šum v okamžiku detekce meteoru 21 ;n_1=0 šum v okamžiku detekce meteoru
22 ;f=0 frequency of maximum amplitude frekvence na které se nachází maximum 22 ;f=0 frequency of maximum amplitude frekvence na které se nachází maximum
23 ;aver_amp=0 average amplitude +- 100 Hz průměrná aplituda v rozsahu +- 100Hz od maxima 23 ;aver_amp=0 average amplitude +- 100 Hz průměrná aplituda v rozsahu +- 100Hz od maxima
24 ;aver_amp_1=-999 je average amplitude aktualizovaná v průběhu měření meteoru 24 ;aver_amp_1=-999 je average amplitude aktualizovaná v průběhu měření meteoru
25 ;aver_amp_max=-999 je maximální hodnota z hodnot v průběhu měření meteoru 25 ;aver_amp_max=-999 je maximální hodnota z hodnot v průběhu měření meteoru
26 ;mag=0 magnitude 26 ;mag=0 magnitude
27 ;hour_count=0 count of meteors in hour 27 ;hour_count=0 count of meteors in hour
28 ;dur_count=0 maximální délka meteoru (count po dobu existence meteoru) 28 ;dur_count=0 maximální délka meteoru (count po dobu existence meteoru)
29 ;dur_count_1=0 pomocný k uchování hodnoty dur_count 29 ;dur_count_1=0 pomocný k uchování hodnoty dur_count
30 ;t0=0 průběžný čas a datum (aktualizace každých 50ms) v textové formě "YYYYMMDDhh" 30 ;t0=0 průběžný čas a datum (aktualizace každých 50ms) v textové formě "YYYYMMDDhh"
31 ;t0_1 uložený čas pro jméno datového souboru k odeslaní ftp po uplynulé hodině 31 ;t0_1 uložený čas pro jméno datového souboru k odeslaní ftp po uplynulé hodině
32 ;t1=0 čas start aktuální meteor v UNIX timestamp formě 32 ;t1=0 čas start aktuální meteor v UNIX timestamp formě
33 ;t1_1=0 uložený čas pro zápis do RMOB_dur souboru value:event 33 ;t1_1=0 uložený čas pro zápis do RMOB_dur souboru value:event
34 ;t1_2=0 uložený čas pro odesílání "no meteor" screenshotu 34 ;t1_2=0 uložený čas pro odesílání "no meteor" screenshotu
35 ;t2=0 průběžný čas hour (hodnota průběžné hodiny) v textové formě "hh" 35 ;t2=0 průběžný čas hour (hodnota průběžné hodiny) v textové formě "hh"
36 ;t3=0 průběžný čas hodiny minuty a vteřiny v textové formě "mmss" 36 ;t3=0 průběžný čas hodiny minuty a vteřiny v textové formě "mmss"
37 ;t4=0 čas meteoru s nejdelší dobou aktivity (násobek K_int_cond * dur_count) 37 ;t4=0 čas meteoru s nejdelší dobou aktivity (násobek K_int_cond * dur_count)
38 ;id_met=0 identifikátor meteoru do screenshotu 38 ;id_met=0 identifikátor meteoru do screenshotu
39   39  
40 ;Konstanty: 40 ;Konstanty:
41 ;K_station_name="JOSY_A" station name (devices code - 7 characters maximum, only "A-Z" and "_" - get your unique station code on http://home.robozor.cz) 41 ;K_station_name="JOSY_A" station name (devices code - 7 characters maximum, only "A-Z" and "_" - get your unique station code on http://home.robozor.cz)
42   42  
43 ;K_path_scr vložit lokální adresář pro screenshoty 43 ;K_path_scr vložit lokální adresář pro screenshoty
44 ;K_path_audio vložit lokální adresář pro audio soubory 44 ;K_path_audio vložit lokální adresář pro audio soubory
45 ;K_path_RMOB vložit lokální adresář textové soubory RMOB 45 ;K_path_RMOB vložit lokální adresář textové soubory RMOB
46 ;K_path_SDR vložit lokální adresář textové soubory RMOB 46 ;K_path_SDR vložit lokální adresář textové soubory RMOB
47 ;K_max_time_btw_met=2 minimalni doba mezi 2 meteory v sekundachjsou (nižší se počítá jako 1 meteor) 47 ;K_max_time_btw_met=2 minimalni doba mezi 2 meteory v sekundachjsou (nižší se počítá jako 1 meteor)
48 ;K_max_time_to_scr=100 maximální doba bez meteoru, která pokud vyprší, udělá screenshot (max doba za kterou odroluje waterfall) 48 ;K_max_time_to_scr=100 maximální doba bez meteoru, která pokud vyprší, udělá screenshot (max doba za kterou odroluje waterfall)
49 ;K_init_cond=50 interval pro nastavení vyhodnocení scriptu 50ms Evaluate SpectrumLab condition interval (50ms) 49 ;K_init_cond=50 interval pro nastavení vyhodnocení scriptu 50ms Evaluate SpectrumLab condition interval (50ms)
50 ;K_time_to_start_up_waterf=4 vteřiny od okraje screenshot Kolik sekund se má počkat do screenshotu po detekci metreoru (jak daleko od okraje) 50 ;K_time_to_start_up_waterf=4 vteřiny od okraje screenshot Kolik sekund se má počkat do screenshotu po detekci metreoru (jak daleko od okraje)
51 ;K=7 - citlivost detekce meteoru 51 ;K=7 - citlivost detekce meteoru
52 ;K_min_dur_count_bolid=50 detekce bolidu pro audio (2,5 vteřiny) 52 ;K_min_dur_count_bolid=50 detekce bolidu pro audio (2,5 vteřiny)
53   53  
54 ;Události 54 ;Události
55 ;A_init (inicializace) 55 ;A_init (inicializace)
56 ;A_measurement (kdykoliv po 50 ms) 56 ;A_measurement (kdykoliv po 50 ms)
57 ;A_still_detect (událost trvání meteoru nebo bolidu) - průběžně 57 ;A_still_detect (událost trvání meteoru nebo bolidu) - průběžně
58 ;A_start_detect (událost detekce začátku meteoru nebo bolidu) 58 ;A_start_detect (událost detekce začátku meteoru nebo bolidu)
59 ;A_start_detect_bolid (událost 2,5 vteřiny od detekce meteoru) 59 ;A_start_detect_bolid (událost 2,5 vteřiny od detekce meteoru)
60 ;A_end_detect (událost detekce konce meteoru nebo bolidu) 60 ;A_end_detect (událost detekce konce meteoru nebo bolidu)
61 ;A_end_detect_end (konec cyklu události detekce konce meteoru nebo bolidu) 61 ;A_end_detect_end (konec cyklu události detekce konce meteoru nebo bolidu)
62 ;A_write_waterf (událost záznamu popisu detekce do waterfallu) 62 ;A_write_waterf (událost záznamu popisu detekce do waterfallu)
63 ;A_update_SDR_data_file (událost generování souboru SDR screenshot při záznamu meteoru) 63 ;A_update_SDR_data_file (událost generování souboru SDR screenshot při záznamu meteoru)
64 ;A_update_RMOB_Dur_file (událost generování souborů RBOB) 64 ;A_update_RMOB_Dur_file (událost generování souborů RBOB)
65 ;A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor) 65 ;A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor)
66 ;A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor) 66 ;A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor)
67 ;A_once_hour_20s_before (událost 1x za hodinu před ukončením hodiny 20 vteřin) 67 ;A_once_hour_20s_before (událost 1x za hodinu před ukončením hodiny 20 vteřin)
68 ;A_once_hour 68 ;A_once_hour
69 ;A_once_hour_10s_before (událost 1x za hodinu před ukončením hodiny 10 vteřin) 69 ;A_once_hour_10s_before (událost 1x za hodinu před ukončením hodiny 10 vteřin)
70 ;A_once_hour_30s_after (událost 1x za hodinu po ukončení hodiny 30 vteřin) 70 ;A_once_hour_30s_after (událost 1x za hodinu po ukončení hodiny 30 vteřin)
71   71  
72   72  
73 ;-----------------A_init - Inicializace proměnných a konstant-------------------- 73 ;-----------------A_init - Inicializace proměnných a konstant--------------------
74 if( initialising ) then A_init=1:A_still_detect=0:n=0:n_1=0:f=0:f_1=0:aver_amp=0:a=0:mag=0:mag_max=0:hour_count=0:dur_count=0:dur_count_1=0:aver_amp_1=-999:aver_amp_max=-999:t0=0:t0_1=0:t1=0:t1_1=0:t1_2=0:t2=0:t3=0:t4=0:bolide=0 74 if( initialising ) then A_init=1:A_still_detect=0:n=0:n_1=0:f=0:f_1=0:aver_amp=0:a=0:mag=0:mag_max=0:hour_count=0:dur_count=0:dur_count_1=0:aver_amp_1=-999:aver_amp_max=-999:t0=0:t0_1=0:t1=0:t1_1=0:t1_2=0:t2=0:t3=0:t4=0:bolide=0
75 if( A_init = 1 ) then A_init=2:id_met="no":id_met2="no":K_station_name="SVAK1_":K_path_scr="c:\\meteors\\capture\\":K_path_audio="c:\\meteors\\bolides\\":K_path_RMOB="C:\\meteors\\RMOB\\":K_path_SDR="C:\\meteors\\data\\" 75 if( A_init = 1 ) then A_init=2:id_met="no":id_met2="no":K_station_name="SVAK1_":K_path_scr="c:\\meteors\\capture\\":K_path_audio="c:\\meteors\\audio\\":K_path_RMOB="C:\\meteors\\RMOB\\":K_path_SDR="C:\\meteors\\data\\"
76 if( A_init = 2 ) then A_init=3:K_max_time_btw_met=2:K_max_time_to_scr=100:K_init_cond=50:K_time_to_start_up_waterf=4:K=7:K_min_dur_count_bolid=50 76 if( A_init = 2 ) then A_init=3:K_path_extra="c:\\meteors\\extra\\":K_max_time_btw_met=2:K_max_time_to_scr=100:K_init_cond=50:K_time_to_start_up_waterf=4:K=7:K_min_dur_count_bolid=50
77 if( A_init = 3 ) then A_init=4:A_measurement=0:A_start_detect=0:A_end_detect=0:A_end_detect_end=0:A_write_waterf=0:A_update_SDR_data_file=0:A_update_RMOB_Dur_file=0:A_met_screenshot=0 77 if( A_init = 3 ) then A_init=4:A_measurement=0:A_start_detect=0:A_end_detect=0:A_end_detect_end=0:A_write_waterf=0:A_update_SDR_data_file=0:A_update_RMOB_Dur_file=0:A_met_screenshot=0
78 if( A_init = 4 ) then A_init=5:A_no_met_screenshot=0:A_once_hour_20s_before=0:A_once_hour=0:A_once_hour_10s_before=0:A_once_hour_30s_after=0:A_once_hour_40s_after=0:timer3.restart(K_max_time_to_scr) 78 if( A_init = 4 ) then A_init=5:A_no_met_screenshot=0:A_once_hour_20s_before=0:A_once_hour=0:A_once_hour_10s_before=0:A_once_hour_30s_after=0:A_once_hour_40s_after=0:timer3.restart(K_max_time_to_scr)
79 if( A_init = 5 ) then A_init=0 79 if( A_init = 5 ) then A_init=0
80   80  
81 ;----------------A_measurement - (po 50 ms)------------------------------------- 81 ;----------------A_measurement - (po 50 ms)-------------------------------------
82 ;n=noise(9800,10200) aktualizace a výpočet hodnoty šumu (záleží na nastavení FFT) 82 ;n=noise(9800,10200) aktualizace a výpočet hodnoty šumu (záleží na nastavení FFT)
83 ;f=peak_f(10300,10900) max intenzita signálu v daném intervalu frekvencí 83 ;f=peak_f(10300,10900) max intenzita signálu v daném intervalu frekvencí
84 ;aver_amp=avrg(f-100,f+100) vrací prům. intenzitu signálu 100 Hz kolem maxima 84 ;aver_amp=avrg(f-100,f+100) vrací prům. intenzitu signálu 100 Hz kolem maxima
85 ;t0=str("YYYYMMDDhh",now) uloží aktuální datum 85 ;t0=str("YYYYMMDDhh",now) uloží aktuální datum
86 ;t1=now uloží UNIX time stamp na microsekundy (tečka oddělovač) 86 ;t1=now uloží UNIX time stamp na microsekundy (tečka oddělovač)
87 ;t2=str("hh",now) uloží aktuální hodinu 87 ;t2=str("hh",now) uloží aktuální hodinu
88 ;t3=str("mmss",now) uloží aktuální minutu a vteřinu 88 ;t3=str("mmss",now) uloží aktuální minutu a vteřinu
89 ;------------------------------------------------------------------------------- 89 ;-------------------------------------------------------------------------------
90 if( never ) then REM --- A_measurement - (each 50 ms) ---------------------------- 90 if( never ) then REM --- A_measurement - (each 50 ms) ----------------------------
91 if( always ) then A_measurement=1:n=noise(9800,10200):f=peak_f(10300,10900):aver_amp=avrg(f-100,f+100):a=(n+K) 91 if( always ) then A_measurement=1:n=noise(9800,10200):f=peak_f(10300,10900):aver_amp=avrg(f-100,f+100):a=(n+K)
92 if( A_measurement=1 ) then A_measurement=0:t0=str("YYYYMMDDhh",now):t1=round(now*1000):t2=str("hh",now):t3=str("mmss",now) 92 if( A_measurement=1 ) then A_measurement=0:t0=str("YYYYMMDDhh",now):t1=round(now*1000):t2=str("hh",now):t3=str("mmss",now)
93   93  
94 ;-----------------A_still_detect (an event of meteor or bolide continue)----------- 94 ;-----------------A_still_detect (an event of meteor or bolide continue)-----------
95 if( aver_amp>a ) then A_still_detect=A_still_detect+1:timer0.restart(K_max_time_btw_met):timer3.restart(K_max_time_to_scr):dur_count=dur_count+1:aver_amp_1=aver_amp 95 if( aver_amp>a ) then A_still_detect=A_still_detect+1:timer0.restart(K_max_time_btw_met):timer3.restart(K_max_time_to_scr):dur_count=dur_count+1:aver_amp_1=aver_amp
96   96  
97 ;-----------------A_aver_amp (udalost aktualizace maximalni hodnoty aver_amp)--- 97 ;-----------------A_aver_amp (udalost aktualizace maximalni hodnoty aver_amp)---
98 if( aver_amp_1>aver_amp_max ) then aver_amp_max=aver_amp_1 98 if( aver_amp_1>aver_amp_max ) then aver_amp_max=aver_amp_1
99   99  
100 ;-----------------A_start_detect (událost začátku meteoru)---------------------- 100 ;-----------------A_start_detect (událost začátku meteoru)----------------------
101 if( never ) then REM --- A_start_detect (an event of begin of meteor) -------------- 101 if( never ) then REM --- A_start_detect (an event of begin of meteor) --------------
102 if( A_still_detect=1 ) then A_still_detect=2:A_start_detect=1:t1_1=t1:id_met=(K_station_name+str(t1_1)):sp.print(" ^ t+"+str("ss",time)) 102 if( A_still_detect=1 ) then A_still_detect=2:A_start_detect=1:t1_1=t1:id_met=(K_station_name+str(t1_1)):sp.print("` ^ t+"+str("ss",time))
103 if( A_start_detect=1 ) then A_start_detect=2:n_1=n:f_1=f 103 if( A_start_detect=1 ) then A_start_detect=2:n_1=n:f_1=f
104 if( A_start_detect=2 ) then A_start_detect=0: 104 if( A_start_detect=2 ) then A_start_detect=0:
105   105  
106 ;------------A_end_detect (událost detekce konce meteoru nebo bolidu)----------- 106 ;------------A_end_detect (událost detekce konce meteoru nebo bolidu)-----------
107 if( never ) then REM --- A_end_detect (end of meteor) --- 107 if( never ) then REM --- A_end_detect (end of meteor) ---
108 if( timer0.expired(1) ) then A_end_detect=1:id_met2=id_met:hour_count=hour_count+1:timer4.restart(K_time_to_start_up_waterf):dur_count1=dur_count*K_init_cond: 108 if( timer0.expired(1) ) then A_end_detect=1:id_met2=id_met:hour_count=hour_count+1:timer4.restart(K_time_to_start_up_waterf):dur_count1=dur_count*K_init_cond:
109 if( A_end_detect=1 ) then A_end_detect=2:sp.print(" "+id_met2+" HCount"+str(hour_count)+" nb"+str(round(n_1))+" f"+str(f_1)+" dur"+str(dur_count1)+" mag"+str(round(n_1-aver_amp_max+10))) 109 if( A_end_detect=1 ) then A_end_detect=2:sp.print("` "+id_met2+" HCount"+str(hour_count)+" nb"+str(round(n_1))+" f"+str(f_1)+" dur"+str(dur_count1)+" mag"+str(round(n_1-aver_amp_max+10)))
110 if( A_end_detect=2 ) then A_end_detect=3:A_update_SDR_data_file=1 110 if( A_end_detect=2 ) then A_end_detect=3:A_update_SDR_data_file=1
111 if( A_end_detect=3 ) then A_end_detect=0 111 if( A_end_detect=3 ) then A_end_detect=0
112 112
113 ;-----------------A_update_SDR_data_file---------------------------------------- 113 ;-----------------A_update_SDR_data_file----------------------------------------
114 ;SDR datový soubor záznamu radiometeorů (projekt astrozor.cz) 114 ;SDR datový soubor záznamu radiometeorů (projekt astrozor.cz)
115 ;Název souboru:JOSY_A20130123.dat 115 ;Název souboru:JOSY_A20130123.dat
116 if( never ) then REM --- write data to file (project astrozor.cz) --- 116 if( never ) then REM --- write data to file (project astrozor.cz) ---
117 if( A_update_SDR_data_file=1 ) then A_update_SDR_data_file=2:fopen1(K_path_SDR+K_station_name+t0+".dat",a) 117 if( A_update_SDR_data_file=1 ) then A_update_SDR_data_file=2:fopen1(K_path_SDR+K_station_name+t0+".dat",a)
118 if( A_update_SDR_data_file=2 ) then A_update_SDR_data_file=3:fp1(id_met2+" ; "+str(round(n_1))+" ; "+str(f_1)+" ; "+str(aver_amp_max)+" ; "+str(round(n_1-aver_amp_max+10))+" ; "+str(dur_count_1)+" ; "+str(K_init_cond)+" ; "+str(K_min_dur_count_bolid)) 118 if( A_update_SDR_data_file=2 ) then A_update_SDR_data_file=3:fp1(id_met2+" ; "+str(round(n_1))+" ; "+str(f_1)+" ; "+str(aver_amp_max)+" ; "+str(round(n_1-aver_amp_max+10))+" ; "+str(dur_count1)+" ; "+str(K_init_cond)+" ; "+str(K_min_dur_count_bolid))
119 if( A_update_SDR_data_file=3 ) then A_update_SDR_data_file=4:fclose1 119 if( A_update_SDR_data_file=3 ) then A_update_SDR_data_file=4:fclose1
120 if( A_update_SDR_data_file=4 ) then A_update_SDR_data_file=5:A_end_detect_end=1 120 if( A_update_SDR_data_file=4 ) then A_update_SDR_data_file=5:A_end_detect_end=1
121 if( A_update_SDR_data_file=5 ) then A_update_SDR_data_file=0 121 if( A_update_SDR_data_file=5 ) then A_update_SDR_data_file=0
122 122
123 ;--------------A_end_detect_end------------------------------------------------- 123 ;--------------A_end_detect_end-------------------------------------------------
124 ;zametení 124 ;zametení
125 if( never ) then REM --- Cleaning ---------------------------------------------- 125 if( never ) then REM --- Cleaning ----------------------------------------------
126 if( A_end_detect_end=1 ) then A_end_detect_end=2:dur_count=0:dur_count_1=0:aver_amp_1=-999:aver_amp_max=-999:rec.trigger=0:A_still_detect=0 126 if( A_end_detect_end=1 ) then A_end_detect_end=2:dur_count=0:dur_count_1=0:aver_amp_1=-999:aver_amp_max=-999:rec.trigger=0:A_still_detect=0
127 if( A_end_detect_end=2 ) then A_end_detect_end=3:REM exec(K_path_audio+"ftp_up.bat "+id_met2+".wav") 127 if( A_end_detect_end=2 ) then A_end_detect_end=3:REM exec(K_path_audio+"ftp_up.bat "+id_met2+".wav")
128 if( A_end_detect_end=3 ) then A_end_detect_end=0 128 if( A_end_detect_end=3 ) then A_end_detect_end=0
129   129  
130 ;-----------------A_start_detect_bolid (událost start bolidu)------------------- 130 ;-----------------A_start_detect_bolid (událost start bolidu)-------------------
131 if( never ) then REM --- A_start_detect_bolid (begin of fireball) -------------- 131 if( never ) then REM --- A_start_detect_bolid (begin of fireball) --------------
132 if( dur_count=K_min_dur_count_bolid ) then rec.filename=K_path_audio+id_met+".wav":rec.trigger=1:bolide=1 132 if( dur_count=K_min_dur_count_bolid ) then rec.filename=K_path_audio+id_met+".wav":rec.trigger=1:bolide=1
133   133  
134 ;---A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor)--- 134 ;---A_met_screenshot (událost generování screenshotu waterfallu pokud je zaznamenán meteor)---
135 if( never ) then REM --- A_met_screenshot (capture a screenshot with meteor) --- 135 if( never ) then REM --- A_met_screenshot (capture a screenshot with meteor) ---
136 if( timer4.expired(1) ) then A_met_screenshot=1:capture (K_path_scr+id_met2+".jpg") 136 if( timer4.expired(1) ) then A_met_screenshot=1:capture (K_path_scr+id_met2+".jpg")
137 if((A_met_screenshot=1)&&(bolide=1)) then capture (K_path_audio+id_met2+".jpg") 137 if((A_met_screenshot=1)&&(bolide=1)) then capture (K_path_extra+id_met2+".jpg")
138 if( A_met_screenshot=1 ) then A_met_screenshot=2:REM exec(K_path_scr+"ftp_up.bat "+id_met2+".jpg") 138 if( A_met_screenshot=1 ) then A_met_screenshot=2:REM exec(K_path_scr+"ftp_up.bat "+id_met2+".jpg")
139 if( A_met_screenshot=2 ) then A_met_screenshot=0:bolide=0 139 if( A_met_screenshot=2 ) then A_met_screenshot=0:bolide=0
140   140  
141 ;---A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor)--- 141 ;---A_no_met_screenshot (událost generování screenshotu waterfallu pokud není dlouho zaznamenán meteor)---
142 if( never ) then REM --- A_no_met_screenshot (capture a screenshot without meteor) --- 142 if( never ) then REM --- A_no_met_screenshot (capture a screenshot without meteor) ---
143 if( timer3.expired ) then A_no_met_screenshot=1:t1_2=t1:capture (K_path_scr+K_station_name+str(t1_2)+"no_met.jpg") 143 if( timer3.expired ) then A_no_met_screenshot=1:t1_2=t1:capture (K_path_scr+K_station_name+str(t1_2)+"no_met.jpg")
144 if( A_no_met_screenshot=1 ) then A_no_met_screenshot=2:fopen1(K_path_SDR+K_station_name+t0+".dat",a) 144 if( A_no_met_screenshot=1 ) then A_no_met_screenshot=2:fopen1(K_path_SDR+K_station_name+t0+".dat",a)
145 if( A_no_met_screenshot=2 ) then A_no_met_screenshot=3:fp1(K_station_name+str(t1_2)+"no_met ; "+str(round(n))+" ; ; ; ; ; ; ") 145 if( A_no_met_screenshot=2 ) then A_no_met_screenshot=3:fp1(K_station_name+str(t1_2)+"no_met ; "+str(round(n))+" ; ; ; ; ; ; ")
146 if( A_no_met_screenshot=3 ) then A_no_met_screenshot=4:fclose1 146 if( A_no_met_screenshot=3 ) then A_no_met_screenshot=4:fclose1
147 if( A_no_met_screenshot=4 ) then A_no_met_screenshot=5:t1_2=0 147 if( A_no_met_screenshot=4 ) then A_no_met_screenshot=5:t1_2=0
148 if( A_no_met_screenshot=5 ) then A_no_met_screenshot=0:timer3.restart(K_max_time_to_scr) 148 if( A_no_met_screenshot=5 ) then A_no_met_screenshot=0:timer3.restart(K_max_time_to_scr)
149 149
150 ;-A_once_hour_20s_before (událost 1x za hodinu před ukončením hodiny 20 vteřin)- 150 ;-A_once_hour_20s_before (událost 1x za hodinu před ukončením hodiny 20 vteřin)-
151 ;RMOB - soubor pro měření hodinových četností radiometeorů (projekt www.rmob.org) 151 ;RMOB - soubor pro měření hodinových četností radiometeorů (projekt www.rmob.org)
152 ;Název souboru:RMOB-201301.dat, kde RMOB je zkratka pro Radio Meteor Observing Bulletin, 2013 je rok a 01 je měsíc 152 ;Název souboru:RMOB-201301.dat, kde RMOB je zkratka pro Radio Meteor Observing Bulletin, 2013 je rok a 01 je měsíc
153 if( never ) then REM --- A_once_hour_20s_before (an event 1x per hour - 20 seconds) --- 153 if( never ) then REM --- A_once_hour_20s_before (an event 1x per hour - 20 seconds) ---
154 if( val(t3,"####")=5940 ) then A_once_hour_20s_before=A_once_hour_20s_before+1 154 if( val(t3,"####")=5940 ) then A_once_hour_20s_before=A_once_hour_20s_before+1
155 if( A_once_hour_20s_before=1 ) then A_once_hour=1:fopen4(K_path_RMOB+"RMOB-"+str("YYYYMM",now)+".dat",a):fp4(t0,",",t2,",",hour_count):fclose4:t0_1=t0 155 if( A_once_hour_20s_before=1 ) then A_once_hour=1:fopen4(K_path_RMOB+"RMOB-"+str("YYYYMM",now)+".dat",a):fp4(t0,",",t2,",",hour_count):fclose4:t0_1=t0
156 if( A_once_hour=1 ) then A_once_hour=2:sp.print("Last hour=",hour_count):hour_count=0 156 if( A_once_hour=1 ) then A_once_hour=2:sp.print("Last hour=",hour_count):hour_count=0
157 if( A_once_hour=2 ) then A_once_hour=0 157 if( A_once_hour=2 ) then A_once_hour=0
158   158  
159 ;-A_once_hour_10s_before (událost 1x za hodinu před ukončením hodiny 10 vteřin)- 159 ;-A_once_hour_10s_before (událost 1x za hodinu před ukončením hodiny 10 vteřin)-
160 if( never ) then REM --- A_once_hour_10s_before (an event 1x per hour - 10 seconds) --- 160 if( never ) then REM --- A_once_hour_10s_before (an event 1x per hour - 10 seconds) ---
161 if( val(t3,"####")=5950 ) then A_once_hour_10s_before=1:A_once_hour_20s_before=0: 161 if( val(t3,"####")=5950 ) then A_once_hour_10s_before=1:A_once_hour_20s_before=0:
162 if( A_once_hour_10s_before=1 ) then A_once_hour_10s_before=0 162 if( A_once_hour_10s_before=1 ) then A_once_hour_10s_before=0
163   163  
164 ;-A_once_hour_30s_after (událost 1x za hodinu po ukončení hodiny 30 vteřin)- 164 ;-A_once_hour_30s_after (událost 1x za hodinu po ukončení hodiny 30 vteřin)-
165 if( never ) then REM --- A_once_hour_30s_after (an event 1x per hour + 30 seconds) --- 165 if( never ) then REM --- A_once_hour_30s_after (an event 1x per hour + 30 seconds) ---
166 if( val(t3,"####")=0030 ) then A_once_hour_30s_after=A_once_hour_30s_after+1 166 if( val(t3,"####")=0030 ) then A_once_hour_30s_after=A_once_hour_30s_after+1
167 if( A_once_hour_30s_after=1 ) then A_once_hour=1:REM exec(K_path_SDR+"ftp_up.bat "+K_station_name+t0_1+".dat") 167 if( A_once_hour_30s_after=1 ) then A_once_hour=1:REM exec(K_path_SDR+"ftp_up.bat "+K_station_name+t0_1+".dat")
168 if( A_once_hour=1 ) then A_once_hour=0 168 if( A_once_hour=1 ) then A_once_hour=0
169   169  
170 ;-A_once_hour_40s_after (událost 1x za hodinu po ukončení hodiny 40 vteřin)- 170 ;-A_once_hour_40s_after (událost 1x za hodinu po ukončení hodiny 40 vteřin)-
171 if( never ) then REM --- A_once_hour_40s_after (an event 1x per hour + 40 seconds) --- 171 if( never ) then REM --- A_once_hour_40s_after (an event 1x per hour + 40 seconds) ---
172 if( val(t3,"####")=0040 ) then A_once_hour_40s_after=1:A_once_hour_30s_after=0 172 if( val(t3,"####")=0040 ) then A_once_hour_40s_after=1:A_once_hour_30s_after=0
173 if( A_once_hour_40s_after=1 ) then A_once_hour_40s_after=2:t0_1=0 173 if( A_once_hour_40s_after=1 ) then A_once_hour_40s_after=2:t0_1=0
174 if( A_once_hour_40s_after=2 ) then A_once_hour_40s_after=0 174 if( A_once_hour_40s_after=2 ) then A_once_hour_40s_after=0
175 175