source: ntrip/trunk/BNC/todo.txt@ 480

Last change on this file since 480 was 308, checked in by mervart, 18 years ago

* empty log message *

File size: 8.7 KB
Line 
1(1 Muss) Beim ersten Start von BNC sollte das Programm mit den
2 Default-Optionen beginnen, die in bnchelp.html genannt sind.
3^^^^^^^^^^ DONE ^^^^^^^^^^^^^
4
5(2 Muss) Problem: Mehr als ein Datenstrom haben den selben 4CharID Mountpoint.
6 Problem: Keine eindeutige Möglichkeit zur Vergabe von
7 RINEX-Dateinamen. Beispiel: Mountpoints FRANKFURT und
8 FRANCE. Mögliche Lösung: Siehe Vorschlag in "bnchelp.html".
9^^^^^^^^^^ DONE ^^^^^^^^^^^^^
10
11(4 Muss) Eigenes Timeout in BNC auf 20sec festsetzen.
12^^^^^^^^^^ DONE ^^^^^^^^^^^^^
13
14(6 Muss) Maximum des Reconnect-Delays auf 128 sec festsetzen
15 (1,2,4,8,16,32,64,128).
16^^^^^^^^^^ DONE ^^^^^^^^^^^^^
17
18(10) Muss) Im Datenfeld Nummber 7 der NET-Records steht das FTP-Verzeichnis
19 für die Sitelogs. Aus den Sitelogs kann optional ein RINEX-Header
20 generiert werden. Das erscheint mir so wichtig, dass ich hierfür
21 ein "Muss" gewählt habe. was denkst Du dazu? Ist das mit
22 vertretbarem Aufwand machbar?
23
24(5 Kann) Die Orientierung im Logfile wäre einfacher, wenn vor jede
25 Ausgabezeile eine Zeitmarke und der zugehörige Mountpoint geschrieben
26 werden könnten. Das mit der Zeitmarke ist sicher machbar. Das mit
27 dem zugehörigen Mountpoint könnte ein Problem sein. Wenn es ein
28 größeres Problem ist, dann bitte weglassen.
29^^^^^^^^^^ DONE ^^^^^^^^^^^^^
30
31(8 Kann) Falls Rückmeldung vom Caster:
32
33 Caster Response: HTTP/1.1 401 Unauthorized
34
35 dann die Sourcetable nochmals anfordern und das Datenfeld
36 Nummer 8 des zugehörigen NET-Records im Logfile mit ausgeben
37 damit der Nutzer weiss, wo er sich registrieren lassen muss für
38 User-ID und Password. Die Zeile im Logfile könnte z.B. lauten:
39
40 Adjust User-ID and Password Register through
41 http://igs.bkg.bund.de/index_ntrip_reg.htm
42^^^^^^^^^^ DONE ^^^^^^^^^^^^^
43
44(9 Kann) Im Default-RINEX-Header die Zeile:
45
46 GENERATED FROM RTCM 2.x STREAM ON www.igs-ip.net COMMENT
47 ändern in
48 RTCM 2.x STREAM ON www.igs-ip.net COMMENT
49
50 Begründung: bei langen IP-Adressen wird Platz gebraucht, deshalb
51 "generated from" einfach weglassen.
52^^^^^^^^^^ DONE ^^^^^^^^^^^^^
53
54(3, Luxus) "Get Data" durch zwei Buttons "Start" und "Stop" unten auf dem
55 Hauptfenster ersetzen. Den jetzigen Button "Quit" so lassen wie er
56 ist.
57^^^^^^^^^^ DONE ^^^^^^^^^^^^^
58
59(7 Absoluter Luxus) Ladebalken aus sich bewegendem graphischen Element
60 einführen um dem Nutzer zu bestätigen, dass BNC am
61 Arbeiten ist.
62^^^^^^^^^^ DONE ^^^^^^^^^^^^^
63
64
65(1 kann) Als ASCII-Output werden SNR1 und SNR2 nicht mit ausgegeben. Da der binaere Output SNR1 und SNR2 jedoch mit ausgibt schlage ich vor, diese beiden Parameter auch beim ASCII-Output mit auszugeben.
66^^^^^^^^^^ DONE ^^^^^^^^^^^^^
67
68(2 kann) Ich habe Tests mit 300..400 Datenstroemen gemacht. (Der NTRIP Broadcaster macht das mit. Fuer BNC scheint die Grenze mit der Hauptspeichergroesse in Verbindung zu stehen - bei 300..400 Datenstroemen ist auf dem Linux-Rechner "gref-ip" Schluss.) Ein kleines Problem kann die quasi zeitgleiche Anforderung aller Datenstroeme fuer den NTRIP Broadcaster darstellen. Wir koennten ihm die Situation erleichtern, wenn wir nach jedem "GET" fuer eine Datenstromanforderung etwa 0.1sec warten bis zum naechsten "GET". Laesst sich z.B. ein 'usleep' an passender Stelle hinzufuergen? Bei 100 Datenstoemen mueüsste man dann etwa 10 sec warten bis alles angelaufen ist - da sehe ich aber kein Problem.
69^^^^^^^^^^ DONE ^^^^^^^^^^^^^
70
71(3 kann) 'Append files' wirkt im Augenblick nur fueür die RINEX-Files. Ich schlage vor, dieses auchfuer "Log-file" und "ASCII-Output" einzufueühren. Wenn BNC wirklich einmal nach einem Programmabsturz neu gestartet werden muss, dann ist es sicher gut einen Blick in das alte Log-file werfen zu koennen.
72^^^^^^^^^^ DONE ^^^^^^^^^^^^^
73
74(4 kann) Das mit den Skeleton-Files funktioniert prima - mit einer kleinen Ausnahme. Die Mountpoints:
75
76WETTZELL
77FRANKFURT
78FRANCE
79BRUS0
80BRUS0
81
82weürden im Augenblick folgende Skeleton-Files suchen
83
84WETT.skl
85FRAN.skl
86BRUS.skl
87
88Ich denke wir sollten das so einstellen, dass nach Skeleton-Files des endgültigen Dateinamens gesucht wird, also:
89
90WETT.skl
91FRAN_KFURT.skl
92FRAN_CE.skl
93BRUS_0.skl
94BRUS_1.skl
95
96Ich hoffe, das ist nicht zu kompliziert einzurichten.
97^^^^^^^^^^ DONE ^^^^^^^^^^^^^
98
99(5 kann) Ebenso wie die Strings "decoder" sind im Mountpoint-Bereich im Augenblick auch die Strings "bytes" editierbar. Das muss allerdings nicht sein. Editiert braucht nur der "decoder" String zu sein.
100^^^^^^^^^^ DONE ^^^^^^^^^^^^^
101
102(6 kann) Was das Re-connect betrifft, so hat RTCM darum gebeten eine Random-Variable einzufuehren zusaetzlich zu dem "sleep: 2,4,8,16,32,64,128". Dieser Zufallsgroesse sollt zwischen 0 und 5 sec liegen. Man muesste dazu also so eine sleep-Reihenfolge einrichten wie
103
104sleep: 2+rand,4+rand,8+rand,16+rand,32+rand,64+rand,128+rand
105
106wobei "rand" eine Zufallszahl zwischen 0 und 5 ist.
107Ich denke, dass das einfach ist (ueber den Sinn kann man streiten).
108^^^^^^^^^^ DONE ^^^^^^^^^^^^^
109
110(7 muss) BNC laesst es zu, dass ein Datenstrom zweifach vom selben NTRIP Broadcaster angefordert wird. Beispiel:
111
112www.igs-ip.net:2101/ALBH0
113www.igs-ip.net:2101/ALBH0
114
115Das macht keinen Sinn - ist aber ausgezeichnet zum Testen! Ich kann beliebig viel "Workload" fuer BNC und insbesondere auch fuer den NTRIP Broadcaster erzeugen!
116
117Leider ist in der RINEX-Ausgabe bei dieser Situation ein Bug drin: Beide RINEX-Daten werden in der selben Datei "ALBH*_1.* abgelegt. Tatsaechlich muessen sie aber in den beiden Dateien
118
119ALBH*_0.*
120ALBH*_1.*
121
122getrennt abgelegt werden. Das klappt auch schon in dem Fall, in dem ein identischer Mountpoint bei zwei verschiedenen Broadcastern vorliegt. Beispiel www.euref-ip.net:2101/BRUS0 und www.igs-ip.net:2101/BRUS0. Dann werden korrekt die Dateien
123
124BRUS*_0.*
125BRUS*_1.*
126
127angelegt. Ich hoffe, Du kannst das Problem mit www.igs-ip.net:2101/ALBH0 plus www.igs-ip.net:2101/ALBH0 finden.
128^^^^^^^^^^ DONE ^^^^^^^^^^^^^
129
130(8 kann) Kannst Du im RINEX-Header noch einen Record fuer das Sampling mit ausgeben? Z.B.:
131 30.000 INTERVAL
132fuer 30sec Sampling. Die Kollegen sagen mir, dass die Berner Software einen solchen Record erwartet.
133-> Geht technisch nicht, wird also nicht gemacht.
134
135(9 kann) Sollten wir in die Routinen irgendwie eine Datei Copyright.cpp aufnehmen
136mit Hinweis auf GNU GPL?
137Der RTIGS-Konverter hat schon einen Copyright-Hinweis von Ken MacLeod drin, ebenso der
138Konverter fuer RTCM 3. Beim RTCM 2 Konverter muesste man noch einen Copyright-Hinweis
139fuer Oliver Montenbruck aufnehmen. In Deine Programmteile koennte man schreiben:
140
141// Part of BNC, a utility for retrieving decoding and
142// converting GNSS data streams from NTRIP broadcasters,
143// written by Leos Mervart.
144//
145// Copyright (C) 2006
146// German Federal Agency for Cartography and Geodesy (BKG)
147// http://www.bkg.bund.de
148// Czech Technical University Prague, Department of Advanced Geodesy
149// http://www.fsv.cvut.cz
150//
151// Email: euref-ip@bkg.bund.de
152//
153// This program is free software; you can redistribute it and/or
154// modify it under the terms of the GNU General Public License
155// as published by the Free Software Foundation, version 2.
156//
157// This program is distributed in the hope that it will be useful,
158// but WITHOUT ANY WARRANTY; without even the implied warranty of
159// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
160// GNU General Public License for more details.
161//
162// You should have received a copy of the GNU General Public License
163// along with this program; if not, write to the Free Software
164// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
165^^^^^^^^^^ DONE ^^^^^^^^^^^^^
166
167(10 kann) Im Log-Bereich des Hauptfensters sowie gegebenenfalls im Log-File
168sollte, sobald BNC neu gestartet wird oder nach einem Re-Start, also noch
169vor dem GET fuer die Datenstroeme, eine Meldung erscheinen wie:
170
17115:49:33 ============ Start BNC ============
172
173Begruendung: Wenn viele Datenstroeme angefordert werden (z.B. 100), dann
174passiert auf dem Bildschirm zunaechst nichts, weil ja etwa 100 x 0.1 = 10sec
175gebraucht werden, um die Verbindungen zum Caster herzustellen. Die Meldung
176'Start BNC' macht dem Nutzer sofort klar, dass BNC korrekt angelaufen ist
177obwohl im Log-Bereich nocht nichts weiter zu sehen ist. (Psychologisches
178Problem, wenn der Nutzer nach ein paar Sekunden auf dem Bildschirm nichts
179sieht dann glaubt er, etwas sei nicht korrekt.)
180^^^^^^^^^^ DONE ^^^^^^^^^^^^^
181
182(11 kann) Skeleton Files von EUREF einbauen, Datenfeld Nummber 8 im
183NET-Record von www.euref-ip.net zeigt bereits auf das richtige HTTP-Verzeichnis,
184Beispiel fuer ein Skeleton-File dort:
185http://www.epncb.oma.be/stations/log/skl/GOPE.skl.
186^^^^^^^^^^ DONE ^^^^^^^^^^^^^
187
Note: See TracBrowser for help on using the repository browser.