Changeset 1030 in ntrip for trunk/BNC


Ignore:
Timestamp:
Aug 10, 2008, 1:58:23 AM (16 years ago)
Author:
weber
Message:

* empty log message *

Location:
trunk/BNC
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM/GPSDecoder.h

    r1029 r1030  
    102102
    103103  QList<p_obs> _obsList;
     104  QList<int> _typeList; // RTCM message types
    104105};
    105106
  • trunk/BNC/RTCM3/RTCM3Decoder.cpp

    r1022 r1030  
    124124   
    125125        while(int rr = RTCM3Parser(&_Parser)) {
     126
     127        // RTCM message types
     128        // ------------------
     129          for (int kk = 0; kk < _Parser.typeSize; kk++) {
     130            _typeList.push_back(_Parser.typeList[kk]);
     131          }
     132          _Parser.typeSize = 0;
    126133   
    127134          // GNSS Observations
  • trunk/BNC/RTCM3/rtcm3torinex.c

    r1006 r1030  
    11/*
    22  Converter for RTCM3 data to RINEX.
    3   $Id: rtcm3torinex.c,v 1.29 2008/07/22 15:15:51 stoecker Exp $
     3  $Id: rtcm3torinex.c,v 1.12 2008/08/01 14:03:28 mervart Exp $
    44  Copyright (C) 2005-2008 by Dirk Stöcker <stoecker@alberding.eu>
    55
     
    5151
    5252/* CVS revision and version */
    53 static char revisionstr[] = "$Revision: 1.29 $";
     53static char revisionstr[] = "$Revision: 1.12 $";
    5454
    5555#ifndef COMPILEDATE
     
    283283
    284284    GETBITS(type,12)
     285    handle->typeList[handle->typeSize] = type;           /* RTCM message types */
     286    if(handle->typeSize < 100) {handle->typeSize += 1;}  /* RTCM message types */
    285287    switch(type)
    286288    {
     
    15321534
    15331535#ifndef NO_RTCM3_MAIN
    1534 static char datestr[]     = "$Date: 2008/07/22 15:15:51 $";
     1536static char datestr[]     = "$Date: 2008/08/01 14:03:28 $";
    15351537
    15361538/* The string, which is send as agent in HTTP request */
  • trunk/BNC/RTCM3/rtcm3torinex.h

    r661 r1030  
    44/*
    55  Converter for RTCM3 data to RINEX.
    6   $Id: rtcm3torinex.h,v 1.9 2007/10/17 06:12:00 mervart Exp $
     6  $Id: rtcm3torinex.h,v 1.10 2008/01/29 14:53:15 mervart Exp $
    77  Copyright (C) 2005-2006 by Dirk Stoecker <stoecker@alberding.eu>
    88
     
    196196  int    lastlockl1[64];
    197197  int    lastlockl2[64];
     198  int    typeSize;       /* RTCM message types */
     199  int    typeList[101];  /* RTCM message types */
    198200  int    datapos[RINEXENTRY_NUMBER];
    199201  int    dataflag[RINEXENTRY_NUMBER];
  • trunk/BNC/bncabout.html

    r777 r1030  
    2121The Bundesamt fuer Geodaesie und Kartographie (BKG) may not be held liable for damages of any kind, direct or consequential, which may result from the use of this software.<br>
    2222<br>
    23 BKG, Frankfurt, Germany, April 2008<br>
     23BKG, Frankfurt, Germany, August 2008<br>
    2424E-Mail: <a><u>euref-ip@bkg.bund.de</u></a>.<br>
    2525</p>
  • trunk/BNC/bncgetthread.cpp

    r1029 r1030  
    130130  if ( settings.value("perfIntr").toString().indexOf("6 hours") != -1 ) { _perfIntr = 21600; }
    131131  if ( settings.value("perfIntr").toString().indexOf("1 day") != -1 ) { _perfIntr = 86400; }
     132
     133  // RTCM message types
     134  // ------------------
     135  _checkMountPoint = settings.value("messTypes").toString();
    132136
    133137  // RINEX writer
     
    658662        }
    659663        _decoder->_obsList.clear();
    660       }
     664
     665        // RTCM message types
     666        // ------------------
     667        if ( _checkMountPoint == _staID || _checkMountPoint == "ALL" ) {
     668          if (0<_decoder->_typeList.size()) {
     669            QString type;
     670            for (int ii=0;ii<_decoder->_typeList.size();ii++) {
     671              type =  QString("%1 ").arg(_decoder->_typeList[ii]);
     672              if (type != "") {
     673                emit(newMessage(_staID + ": Received message type " + type.toAscii() ));              }
     674            }
     675          }
     676        }
     677        _decoder->_typeList.clear();
     678      }
     679
     680      // Timeout, reconnect
     681      // ------------------
    661682      else {
    662683        emit(newMessage(_staID + ": Data Timeout, reconnecting"));
  • trunk/BNC/bncgetthread.h

    r1029 r1030  
    8484   QString     _endDateOut;
    8585   QString     _endTimeOut;
     86   QString     _checkMountPoint;
    8687   bool        _makePause;
    8788   int         _obsRate;
  • trunk/BNC/bnchelp.html

    r1000 r1030  
    101101&nbsp; &nbsp; &nbsp; 3.9.5. <a href=#advscript>Advisory Script</a><br>
    102102&nbsp; &nbsp; &nbsp; 3.9.6. <a href=#perflog>Performance Log</a><br>
    103 3.10. <a href=#mountpoints>Mountpoints</a><br>
    104 &nbsp; &nbsp; &nbsp; 3.10.1. <a href=#mountadd>Add Mountpoints</a><br>
    105 &nbsp; &nbsp; &nbsp; 3.10.2. <a href=#mounthost>Broadcaster Host and Port</a><br>
    106 &nbsp; &nbsp; &nbsp; 3.10.3. <a href=#mountuser>Broadcaster User and Password</a><br>
    107 &nbsp; &nbsp; &nbsp; 3.10.4. <a href=#mounttable>Get Table</a><br>
    108 &nbsp; &nbsp; &nbsp; 3.10.5. <a href=#mountdelete>Delete Mountpoints</a><br>
    109 &nbsp; &nbsp; &nbsp; 3.10.6. <a href=#mountedit>Edit Mountpoints</a><br>
    110 3.11. <a href=#start>Start</a><br>
    111 3.12. <a href=#stop>Stop</a><br>
    112 3.13. <a href=#nw>No Window</a>
     1033.10. <a href=#messtypes>RTCM Message Types</a><br>
     104&nbsp; &nbsp; &nbsp; 3.10.1. <a href=#messmount>Mountpoint</a><br>
     1053.11. <a href=#mountpoints>Mountpoints</a><br>
     106&nbsp; &nbsp; &nbsp; 3.11.1. <a href=#mountadd>Add Mountpoints</a><br>
     107&nbsp; &nbsp; &nbsp; 3.11.2. <a href=#mounthost>Broadcaster Host and Port</a><br>
     108&nbsp; &nbsp; &nbsp; 3.11.3. <a href=#mountuser>Broadcaster User and Password</a><br>
     109&nbsp; &nbsp; &nbsp; 3.11.4. <a href=#mounttable>Get Table</a><br>
     110&nbsp; &nbsp; &nbsp; 3.11.5. <a href=#mountdelete>Delete Mountpoints</a><br>
     111&nbsp; &nbsp; &nbsp; 3.11.6. <a href=#mountedit>Edit Mountpoints</a><br>
     1123.12. <a href=#start>Start</a><br>
     1133.13. <a href=#stop>Stop</a><br>
     1143.14. <a href=#nw>No Window</a>
    113115</p>
    114116
     
    573575</p>
    574576
    575 <p><a name="mountpoints"><h4>3.10. Mountpoints</h4></p>
     577<p><a name="messtypes"><h4>3.10. RTCM Message Types</h4></p>
     578<p>
     579When configuring a GNSS receiver for RTCM stream generation, the setup interface may not provide details about RTCM message types. As reliable information concerning stream contents should be available i.e. for NTRIP broadcaster operators to maintain the broadcaster's sourcetable, BNC allows to check RTCM Version 3.x streams for incoming message types and their repetition rates. 
     580</p>
     581
     582<p><a name="messmount"><h4>3.10.1 Mountpoint - optional</h4></p>
     583<p>
     584Specify the mountpoint of an RTCM Version 3.x stream to log the numbers of incoming message types. Logged time stamps refer to message reception time and allow to understand repetition rates. Enter 'ALL' if you want to log message type numbers of all configured streams. Beware that the size of the logfile can rapidly increase depending on the number of incoming RTCM Version 3.x streams.
     585</p>
     586<p>This option is primarily meant for testing and evaluation. An empty option field (default) means that you don't want BNC to print the message type numbers carried in RTCM Version 3.x streams.
     587</p>
     588
     589<p><a name="mountpoints"><h4>3.11. Mountpoints</h4></p>
    576590<p>
    577591Each stream on an NTRIP broadcaster is defined using a unique source ID called mountpoint. An NTRIP client like BNC access the desired data stream by referring to its mountpoint. Information about mountpoints is available through the source-table maintained by the NTRIP broadcaster. Note that mountpoints could show up in BNC more than once when retrieving streams from several NTRIP broadcasters.
     
    590604</table>
    591605
    592 <p><a name="mountadd"><h4>3.10.1 Add Mountpoints</h4></p>
     606<p><a name="mountadd"><h4>3.11.1 Add Mountpoints</h4></p>
    593607<p>
    594608Button 'Add Mountpoints' opens a window that allows user to select data streams from an NTRIP broadcaster according to their mountpoints.
    595609</p>
    596610
    597 <p><a name="mounthost"><h4>3.10.2 Broadcaster Host and Port - required</h4></p>
     611<p><a name="mounthost"><h4>3.11.2 Broadcaster Host and Port - required</h4></p>
    598612<p>
    599613Enter the NTRIP broadcaster host IP and port number. <u>http://www.rtcm-ntrip.org/home</u> provides information about known NTRIP broadcaster installations. Note that EUREF and IGS operate NTRIP broadcasters at <u>http://www.euref-ip.net/home</u> and <u>http://www.igs-ip.net/home</u>.
    600614</p>
    601615
    602 <p><a name="mountuser"><h4>3.10.3 Broadcaster User and Password - required for protected streams</h4></p>
     616<p><a name="mountuser"><h4>3.11.3 Broadcaster User and Password - required for protected streams</h4></p>
    603617<p>
    604618Some streams on NTRIP broadcasters may be restricted. Enter a valid 'User' ID and 'Password' for access to protected streams. Accounts are usually provided per NTRIP broadcaster through a registration procedure. Register through <u>http://igs.bkg.bund.de/index_ntrip_reg.htm</u> for access to protected streams on <u>www.euref-ip.net</u> and <u>www.igs-ip.net</u>.
    605619</p>
    606620
    607 <p><a name="mounttable"><h4>3.10.4 Get Table</h4></p>
     621<p><a name="mounttable"><h4>3.11.4 Get Table</h4></p>
    608622<p>
    609623Use the 'Get Table' button to download the source-table from the NTRIP broadcaster. Pay attention to data fields 'format' and 'format-details'. Keep in mind that BNC can only decode and convert streams that come in RTCM Version 2.x, RTCM Version 3.x, or RTIGS format. RTCM Version 2.x streams must contain message types 18 and 19 while RTCM Version 3.x streams must contain GPS or SBAS message types 1002 or 1004 and may contain GLONASS message types 1010 or 1012, see data field 'format-details' for available message types and their repetition rates in brackets. Note that in order to produce RINEX Navigation files RTCM Version 3.x streams containing message types 1019 (GPS) and 1020 (GLONASS) are required. Select your streams line by line, use +Shift and +Ctrl when necessary.
     
    616630</p>
    617631
    618 <p><a name="mountdelete"><h4>3.10.5 Delete Mountpoints</h4></p>
     632<p><a name="mountdelete"><h4>3.11.5 Delete Mountpoints</h4></p>
    619633<p>
    620634To remove a stream from the 'Mountpoints' list in the main window, highlight it by clicking on it and hit the 'Delete Mountpoints' button. You can also remove multiple mountpoints simultaneously by highlighting them using +Shift and +Ctrl.</p>
    621635
    622 <p><a name="mountedit"><h4>3.10.6 Edit Mountpoints</h4></p>
     636<p><a name="mountedit"><h4>3.11.6 Edit Mountpoints</h4></p>
    623637<ul>
    624638<li>
     
    635649</ul>
    636650
    637 <p><a name="start"><h4>3.11. Start</h4></p>
     651<p><a name="start"><h4>3.12. Start</h4></p>
    638652<p>
    639653Hit 'Start' to start retrieving, decoding, and converting GNSS data streams in real-time. Note that 'Start' generally forces BNC to begin with fresh RINEX which might overwrite existing files when necessary unless the option 'Append files' is ticked.
    640654</p>
    641655
    642 <p><a name="stop"><h4>3.12. Stop</h4></p>
     656<p><a name="stop"><h4>3.13. Stop</h4></p>
    643657<p>
    644658Hit the 'Stop' button in order to stop BNC.
    645659</p>
    646660
    647 <p><a name="nw"><h4>3.13. No Window - optional</h4></p>
     661<p><a name="nw"><h4>3.14. No Window - optional</h4></p>
    648662<p>
    649663On all systems BNC can be started in batch mode with the command line option '-nw'. BNC will then run in 'no window' mode, using options from the configuration file ${HOME}/.config/BKG/BNC_NTRIP_Client.conf (Unix/Linux, see Config File example in the Annex) or from the register BKG_NTRIP_Client (Windows).
     
    731745<tr><td>Jul 2007 &nbsp;</td><td>Version 1.4 &nbsp;</td><td>[Bug] Skip messages from proxy server<br> [Bug] Call RINEX script through 'nohup'</td></tr>
    732746<tr><td>Apr 2008 &nbsp;</td><td>Version 1.5 &nbsp;</td><td>[Add] Handle ephemeris from RTCM Version 3.x streams<br> [Add] Upgrade to Qt Version 4.3.2<br> [Add] Optional RINEX v3 output<br> [Add] SBAS support<br> [Bug] RINEX skeleton download following stream outage<br> [Add] Handle ephemeris from RTIGS streams<br> [Add] Monitor stream failure/recovery and latency<br> [Mod] Redesign of main window<br> [Bug] Freezing of About window on Mac systems<br> [Bug] Fixed problem with PRN 32 in RTCMv2 decoder<br> [Bug] Fix for Trimble 4000SSI receivers in RTCMv2 decoder<br> [Mod] Major revision of input buffer in RTCMv2 decoder</td></tr>
    733 <tr><td>May 2008 &nbsp;</td><td>Version 1.6 &nbsp;</td><td>[Mod] Fill blanc columns in RINEXv3 with 0.000</td></tr>
     747<tr><td>August 2008 &nbsp;</td><td>Version 1.6 &nbsp;</td><td>[Mod] Fill blanc columns in RINEXv3 with 0.000<br> [Add] RTCM v3 decoder for clock&orbit corrections<br>[Add] Check RTCM v3 streams for incoming message types</td></tr>
    734748</table>
    735749</p>
  • trunk/BNC/bncmain.cpp

    r967 r1030  
    8888    settings.setValue("perfIntr",   "");
    8989    settings.setValue("waitCorr",   0);
     90    settings.setValue("messTypes",   "");
    9091  }
    9192
  • trunk/BNC/bncwindow.cpp

    r1029 r1030  
    108108  _proxyPortLineEdit  = new QLineEdit(settings.value("proxyPort").toString());
    109109  _proxyPortLineEdit->setMaximumWidth(9*ww);
     110  _messTypesLineEdit  = new QLineEdit(settings.value("messTypes").toString());
     111  _messTypesLineEdit->setMaximumWidth(9*ww);
    110112  _waitTimeSpinBox   = new QSpinBox();
    111113  _waitTimeSpinBox->setMinimum(1);
     
    327329  _ephV3CheckBox->setWhatsThis(tr("The default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 2.11. Select 'Version 3' if you want to save the ephemeris in RINEX Version 3 format."));
    328330  _rnxV3CheckBox->setWhatsThis(tr("The default format for RINEX Observation files is RINEX Version 2.11. Select 'Version 3' if you want to save the observations in RINEX Version 3 format."));
     331  _messTypesLineEdit->setWhatsThis(tr("<p>Specify the mountpoint of an RTCM Version 3.x stream to log the numbers of incoming message types.</p><p>An empty option field (default) means that you don't want BNC to print the message type numbers carried in a specific stream.</p>"));
    329332
    330333  // Canvas with Editable Fields
     
    341344  QWidget* cgroup = new QWidget();
    342345  QWidget* ogroup = new QWidget();
     346  QWidget* rgroup = new QWidget();
    343347  aogroup->addTab(pgroup,tr("Proxy"));
    344348  aogroup->addTab(ggroup,tr("General"));
     
    348352  aogroup->addTab(cgroup,tr("Ephemeris Corrections"));
    349353  aogroup->addTab(agroup,tr("Monitor"));
     354  aogroup->addTab(rgroup,tr("RTCM Message Types"));
    350355
    351356  QGridLayout* pLayout = new QGridLayout;
     
    421426  aLayout->addWidget(new QLabel("Network monitoring, outages, handling of corrupted streams, latencies, statistics."),5,0,1,4,Qt::AlignLeft);
    422427  agroup->setLayout(aLayout);
     428
     429  QGridLayout* rLayout = new QGridLayout;
     430  rLayout->setColumnMinimumWidth(0,12*ww);
     431  rLayout->setColumnMinimumWidth(1,30*ww);
     432  rLayout->setColumnMinimumWidth(2,30*ww);
     433  rLayout->addWidget(new QLabel("Mountpoint"),0,0, Qt::AlignLeft);
     434  rLayout->addWidget(_messTypesLineEdit,0,1);
     435  rLayout->addWidget(new QLabel("Log numbers of message types in RTCM Version 3.x stream."),1, 0, 1, 4, Qt::AlignLeft);
     436  rLayout->addWidget(new QLabel("    "),2,0);
     437  rLayout->addWidget(new QLabel("    "),3,0);
     438  rLayout->addWidget(new QLabel("    "),4,0);
     439  rLayout->addWidget(new QLabel("    "),5,0);
     440  rgroup->setLayout(rLayout);
    423441
    424442  QGridLayout* oLayout = new QGridLayout;
     
    613631  settings.setValue("logFile",     _logFileLineEdit->text());
    614632  settings.setValue("adviseScript",_adviseScriptLineEdit->text());
     633  settings.setValue("messTypes",   _messTypesLineEdit->text());
    615634 
    616635QStringList mountPoints;
  • trunk/BNC/bncwindow.h

    r989 r1030  
    104104    QLineEdit* _ephPathLineEdit;
    105105    QLineEdit* _corrPathLineEdit;
     106    QLineEdit* _messTypesLineEdit;
    106107    QCheckBox* _rnxV3CheckBox;
    107108    QCheckBox* _ephV3CheckBox;
Note: See TracChangeset for help on using the changeset viewer.