Changeset 9158 in ntrip for trunk/BNC/src


Ignore:
Timestamp:
Oct 1, 2020, 3:19:04 PM (4 years ago)
Author:
stuerze
Message:

the default RINEX version in BNC is changed from version 2 to verision 3

Location:
trunk/BNC/src
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bnccore.cpp

    r8921 r9158  
    280280  if (_rinexVers == 0) {
    281281
    282     if ( Qt::CheckState(settings.value("ephV3").toInt()) == Qt::Checked) {
     282    if ( Qt::CheckState(settings.value("ephV2").toInt()) == Qt::Checked) {
     283      _rinexVers = 2;
     284    }
     285    else {
    283286      _rinexVers = 3;
    284     }
    285     else {
    286       _rinexVers = 2;
    287287    }
    288288
     
    305305    QString ephFileNameGPS = _ephPath + "BRDC";
    306306
    307     bool ephV3 = (_rinexVers == 3)? true : false;
     307    bool ephV2 = (_rinexVers == 2)? true : false;
    308308
    309309    QString hlpStr = bncRinex::nextEpochStr(datTim,
    310                          settings.value("ephIntr").toString(), ephV3);
     310                         settings.value("ephIntr").toString(), ephV2);
    311311
    312312    if (_rinexVers == 3) {
  • trunk/BNC/src/bnchelp.html

    r9155 r9158  
    3030<p>
    3131<h4>Authors</h4>
    32 Georg Weber<sup>(1)</sup>, Leo&scaron; Mervart<sup>(2)</sup>, Andrea St&uuml;rze<sup>(1)</sup>, Axel R&uuml;lke<sup>(1)</sup>, Dirk St&ouml;cker<sup>(3)</sup><br><br>
     32Georg Weber<sup>(1)</sup>, Leo&scaron; Mervart<sup>(2)</sup>, Andrea St&uuml;rze<sup>(1)</sup>, Dirk St&ouml;cker<sup>(3)</sup><br><br>
    3333
    3434<sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br>
     
    108108&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.6 <a href="#sklMandat">Skeleton Mandatory</a><br>
    109109&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.7 <a href="#rnxscript">Script</a><br>
     110&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.9 <a href="#rnxvers3">Version 3</a><br>
    110111&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.8 <a href="#rnxvers2">Version 2</a><br>
    111 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.9 <a href="#rnxvers3">Version 3</a><br>
    112 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.10 <a href="#rnxvers3File">Version 3 Filenames</a><br>
    113112&nbsp; &nbsp; &nbsp; 2.5 <a href="#ephemeris"><b>RINEX Ephemeris</b></a><br>
    114113&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.1 <a href="#ephdir">Directory</a><br>
     
    116115&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.3 <a href="#ephport">Port</a><br>
    117116&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.4 <a href="#ephvers">Version</a><br>
    118 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.5 <a href="#ephversFile">Version 3 Filenames</a><br>
    119117&nbsp; &nbsp; &nbsp; 2.6 <a href="#reqc"><b>RINEX Editing & QC</b></a><br>
    120118&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.1 <a href="#reqcact">Action</a><br>
     
    16001598</p>
    16011599
    1602 <p><h4 id="rnxvers2">2.4.8 Version 2 - optional</h4></p>
    1603 <p>
    1604 GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3. These attributes describe the tracking mode or channel when generating the observation signals. Capital letters specifying signal generation attributes are A, B, C, D, I, L, M, N, P, Q, S, W, X, Y, and Z, see RINEX Version 3 documentation. Although RINEX Version 3 with its signal generation attributes is the internal default processing format for BNC, there are two applications where the program is explicitly required to produce data files in RINEX Version 2 format:
     1600<p><h4 id="rnxvers3">2.4.8 Version 3 - optional</h4></p>
     1601<p>
     1602The default format for RINEX Observation files is RINEX Version 3. There is nothing to activate in addition to save RTCM Version 3 observation streams in RINEX Version 3 format.
     1603</p>
     1604
     1605<p>
     1606Note, that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. However, this is not recommended, because such stream cannot be precisely mapped to RINEX Version 3 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2.
     1607</p>
     1608
     1609<p><h4 id="rnxvers2">2.4.9 Version 2 - optional</h4></p>
     1610<p>
     1611GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3. These attributes describe the tracking mode or channel when generating the observation signals. Capital letters specifying signal generation attributes are A, B, C, D, I, L, M, N, P, Q, S, W, X, Y, and Z, see RINEX Version 3 documentation. Although RINEX Version 3 with its signal generation attributes is the internal default processing format for BNC, there are two applications where the program can be setup to produce data files in RINEX Version 2.11 format:
    16051612<ol type="1">
    16061613<li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.</li>
    16071614<li>When editing or concatenating RINEX 3 files to save them in Version 2 format, see section on 'RINEX Editing & QC'.</li>
    16081615</ol>
    1609 As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3 to RINEX Version 2 although this cannot be done in one-to-one correspondence. Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3 to Version 2.
     1616Select RINEX 'Version 2' if you would like to save RTCM Version 3 observation streams in RINEX Version 2 format. As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3 to RINEX Version 2 although this cannot be done in one-to-one correspondence. Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3 to Version 2.
    16101617</p>
    16111618<p>
     
    16361643</p>
    16371644
    1638 <p><h4 id="rnxvers3">2.4.9 Version 3 - optional</h4></p>
    1639 <p>
    1640 The default format for RINEX Observation files is RINEX Version 2.11. Select RINEX 'Version 3' if you would like to save RTCM Version 3 observation streams in RINEX Version 3.03 format.
    1641 </p>
    1642 
    1643 <p>
    1644 Note that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format. However, this is not recommended because such stream cannot be precisely mapped to RINEX Version 3 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2.
    1645 </p>
    1646 
    1647 <p><h4 id="rnxvers3File">2.4.10 Version 3 Filenames - optional</h4></p>
    1648 <p>
    1649 Tick check box 'Version 3 filenames' to let BNC create so-called extended filenames following the RINEX Version 3 standard.
    1650 </p>
    1651 <p>Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format.
    1652 </p>
    1653 
    16541645<p><h4 id="ephemeris">2.5 RINEX Ephemeris</h4></p>
    16551646<p>
    1656 Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types 1019 (GPS) or 1020 (GLONASS) or 1044 (QZSS) or 1043 (SBAS) or 1045 and 1046 (Galileo) or 63 (BDS/BeiDou, tentative message number). The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters are 'BRDC'.
     1647Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types:
     1648<ul>
     1649<li> 1019 (GPS) or </li>
     1650<li> 1020 (GLONASS) or </li>
     1651<li> 1044 (QZSS) or </li>
     1652<li> 1043 (SBAS) or </li>
     1653<li> 1045 (Galileo F/NAV) or </li>
     1654<li> 1046 (Galileo I/NAV) or </li>
     1655<li> 1042 (BDS/BeiDou) or </li>
     1656<li> 1041 (IRNSS). </li>
     1657</ul>
     1658</p>
     1659 <p> The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters are 'BRDC'.
    16571660</p>
    16581661<p>
     
    16601663</p>
    16611664<p>
    1662 Regarding RINEX Version 3 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, and BDS gathered in one Navigation file.
     1665Regarding RINEX Version 3 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, BDS, and IRNSS gathered in one Navigation file.
    16631666</p>
    16641667<p>
     
    16971700<p><h4 id="ephvers">2.5.4 Version - optional</h4></p>
    16981701<p>
    1699 Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 2.11. Select 'Version 3' if you want to save the ephemeris data in RINEX Version 3.03 format.
    1700 </p>
    1701 <p>
    1702 Note that this does not concern the Broadcast Ephemeris output through IP port, which is always in RINEX Version 3.03 format.
    1703 </p>
    1704 
    1705 <p><h4 id="ephversFile">2.5.5 Version 3 Filenames - optional</h4></p>
    1706 <p>
    1707 Tick check box 'Version 3 filenames' to let BNC create so-called extended filenames following the RINEX Version 3 standard.
    1708 </p>
    1709 <p>Default is an empty check box, meaning to still use filenames following the RINEX Version 2 standard although the file content is saved in RINEX Version 3 format.
    1710 </p>
    1711 
    1712 <p><img src="IMG/screenshot42.png"/></p>
    1713 <p>Figure 9: BNC converting Broadcast Ephemeris stream to RINEX Version 3 Navigation files</p>
     1702Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 3. Select 'Version 2' if you want to save the ephemeris data in RINEX Version 2.11 format.
     1703</p>
     1704<p>
     1705Note that this does not concern the Broadcast Ephemeris output through IP port, which is always in RINEX Version 3 format.
     1706</p>
    17141707
    17151708<p><h4 id="reqc">2.6 RINEX Editing & QC</h4></p>
     
    17451738<p>
    17461739When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files with different observation type header records, BNC will output only one set of adjusted observation type records in the RINEX header which fits to the whole file content.
    1747 </p>
    1748 <p>
    1749 Note that you may specify several RINEX Version 2 Navigation files for GPS and GLONASS.
    17501740</p>
    17511741
     
    51205110   rnxScript      {File upload script, full path [character string]}
    51215111   rnxV2Priority  {Priority of signal attributes [character string, list separated by blank character, example: G:CWPX_? R:CP]}
    5122    rnxV3          {Produce version 3 file content [integer number: 0=no,2=yes]}
    5123    rnxV3filenames {Produce version 3 filenames [integer number: 0=no,2=yes]}
     5112   rnxV2          {Produce version 2 file content [integer number: 0=no,2=yes]}
    51245113
    51255114<b>RINEX Ephemeris Panel keys:</b>
     
    51275116   ephIntr        {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}
    51285117   ephOutPort     {Output port [integer number]}
    5129    ephV3          {Produce version 3 file content [integer number: 0=no,2=yes]}
    5130    ephV3filenames {Produce version 3 filenames [integer number: 0=no,2=yes]}
     5118   ephV2          {Produce version 2 file content [integer number: 0=no,2=yes]}
    51315119
    51325120<b>RINEX Editing and QC Panel keys:</b>
     
    52155203   PPP/antexFile   {ANTEX file, full path [character string]}
    52165204   PPP/crdFile     {Coordinates file, full path [character string]}
    5217    PPP/v3filenames {Produce version 3 filenames, [integer number: 0=no,2=yes]}
     5205   PPP/v2filenames {Produce version 2 filenames, [integer number: 0=no,2=yes]}
    52185206   PPP/logPath     {Directory for PPP log files [character string]}
    52195207   PPP/nmeaPath    {Directory for NMEA output files [character string]}
  • trunk/BNC/src/bncmain.cpp

    r9154 r9158  
    115115      "   rnxScript      {File upload script, full path [character string]}\n"
    116116      "   rnxV2Priority  {Priority of signal attributes [character string, list separated by blank character, example: G:12&PWCSLXYN G:5&IQX C:IQX]}\n"
    117       "   rnxV3          {Produce version 3 file contents [integer number: 0=no,2=yes]}\n"
     117      "   rnxV2          {Produce version 2 file contents [integer number: 0=no,2=yes]}\n"
    118118      "\n"
    119119      "RINEX Ephemeris Panel keys:\n"
     
    121121      "   ephIntr        {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
    122122      "   ephOutPort     {Output port [integer number]}\n"
    123       "   ephV3          {Produce version 3 file contents [integer number: 0=no,2=yes]}\n"
     123      "   ephV2          {Produce version 2 file contents [integer number: 0=no,2=yes]}\n"
    124124      "\n"
    125125      "RINEX Editing and QC Panel keys:\n"
     
    206206      "   PPP/corrMount   {Corrections mountpoint [character string]}\n"
    207207      "   PPP/corrFile    {Corrections file, full path [character string]}\n"
    208       "   PPP/v3filenames {Produce version 3 filenames, 0=no,2=yes}\n"
     208      "   PPP/v2filenames {Produce version 2 filenames, 0=no,2=yes}\n"
    209209      "   PPP/crdFile     {Coordinates file, full path [character string]}\n"
    210210      "   PPP/logPath     {Directory for PPP log files [character string]}\n"
  • trunk/BNC/src/bncoutf.cpp

    r8320 r9158  
    4848
    4949  _append = Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked;
    50   _v3filenames = settings.value("PPP/v3filenames").toBool();
     50  _v2filenames = settings.value("PPP/v2filenames").toBool();
    5151}
    5252
     
    7777  if ( indHlp != -1) {
    7878    int step = intStr.left(indHlp-1).toInt();
    79     if (_v3filenames) {
     79    if (!_v2filenames) {
    8080      epoStr +=  QString("%1").arg(datTim.time().hour(), 2, 10, QChar('0')); // H
    8181    } else {
     
    9595    }
    9696
    97     if (_v3filenames) {
     97    if (!_v2filenames) {
    9898      epoStr += QString("_%1M").arg(step, 2, 10, QChar('0'));                // period
    9999    }
     
    103103  else if (intStr == "1 hour") {
    104104    int step = intStr.left(indHlp-1).toInt();
    105     if (_v3filenames) {
     105    if (!_v2filenames) {
    106106      epoStr += QString("%1").arg(datTim.time().hour(), 2, 10, QChar('0'));  // H
    107107      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                     // M
     
    114114  else {
    115115    int step = intStr.left(indHlp-1).toInt();
    116     if (_v3filenames) {
     116    if (!_v2filenames) {
    117117      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                    // H
    118118      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                    // M
     
    122122  }
    123123
    124   if (_v3filenames) {
     124  if (!_v2filenames) {
    125125    if (sampl < 60) {
    126126      epoStr += QString("_%1S").arg(sampl, 2, 10, QChar('0'));
     
    153153  baseName.replace("${V3}" , QString("_U_%1%2").arg(yyyy).arg(doy));
    154154  if (_extension.count(".") == 2) {_extension.replace(0,1,"_"); }
    155  
     155
    156156  return _path + baseName + epoStr + _extension;
    157157}
  • trunk/BNC/src/bncoutf.h

    r7506 r9158  
    3434  QString _fName;
    3535  bool    _append;
    36   bool    _v3filenames;
     36  bool    _v2filenames;
    3737};
    3838
  • trunk/BNC/src/bncrinex.cpp

    r9107 r9158  
    116116  _writeRinexFileOnlyWithSkl = settings.value("rnxOnlyWithSKL").toBool();
    117117
    118   _rnxV3 = (Qt::CheckState(settings.value("rnxV3").toInt()) == Qt::Checked) ? true : false;
     118  _rnxV2 = (Qt::CheckState(settings.value("rnxV2").toInt()) == Qt::Checked) ? true : false;
    119119}
    120120
     
    249249////////////////////////////////////////////////////////////////////////////
    250250QString bncRinex::nextEpochStr(const QDateTime& datTim,
    251                                const QString& intStr, bool rnxV3,
     251                               const QString& intStr, bool rnxV2,
    252252                               QDateTime* nextEpoch) {
    253253
     
    261261  if ( indHlp != -1) {
    262262    int step = intStr.left(indHlp-1).toInt();
    263     if (rnxV3) {
     263    if (!rnxV2) {
    264264      epoStr +=  QString("%1").arg(datTim.time().hour(), 2, 10, QChar('0')); // H
    265265    } else {
     
    288288      }
    289289    }
    290     if (rnxV3) {
     290    if (!rnxV2) {
    291291      epoStr += QString("_%1M").arg(step, 2, 10, QChar('0'));                // period
    292292    }
     
    294294  else if (intStr == "1 hour") {
    295295    int step = intStr.left(indHlp-1).toInt();
    296     if (rnxV3) {
     296    if (!rnxV2) {
    297297      epoStr += QString("%1").arg(datTim.time().hour(), 2, 10, QChar('0'));  // H
    298298      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                     // M
     
    312312  else {
    313313    int step = intStr.left(indHlp-1).toInt();
    314     if (rnxV3) {
     314    if (!rnxV2) {
    315315      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                    // H
    316316      epoStr += QString("%1").arg(0, 2, 10, QChar('0'));                    // M
     
    343343
    344344  QString hlpStr = nextEpochStr(datTim, settings.value("rnxIntr").toString(),
    345                                 _rnxV3, &_nextCloseEpoch);
     345                                _rnxV2, &_nextCloseEpoch);
    346346
    347347  int n = _statID.size();
     
    380380  }
    381381
    382   if (_rnxV3) {
     382  if (!_rnxV2) {
    383383    QString country;
    384384    QString monNum = "0";
     
    428428  // Set RINEX Version
    429429  // -----------------
    430   int intHeaderVers = (Qt::CheckState(settings.value("rnxV3").toInt()) == Qt::Checked ? 3 : 2);
     430  int intHeaderVers = (Qt::CheckState(settings.value("rnxV2").toInt()) == Qt::Checked ? 2 : 3);
    431431
    432432  // Open the Output File
  • trunk/BNC/src/bncrinex.h

    r8936 r9158  
    4747   static QString nextEpochStr(const QDateTime& datTim,
    4848                               const QString& intStr,
    49                                bool rnxV3,
     49                               bool rnxV2,
    5050                               QDateTime* nextEpoch = 0);
    5151   static std::string asciiSatLine(const t_satObs& obs, bool outLockTime);
     
    7171   QString         _localSklNameAlternative;
    7272   bool            _writeRinexFileOnlyWithSkl;
    73    bool            _rnxV3;
     73   bool            _rnxV2;
    7474   QByteArray      _latitude;
    7575   QByteArray      _longitude;
  • trunk/BNC/src/bncsettings.cpp

    r8870 r9158  
    9191    setValue_p("rnxV2Priority",       "");
    9292    setValue_p("rnxScript",           "");
    93     setValue_p("rnxV3",               "0");
     93    setValue_p("rnxV2",               "0");
    9494    // RINEX Ephemeris
    9595    setValue_p("ephPath",             "");
    9696    setValue_p("ephIntr",             "1 day");
    9797    setValue_p("ephOutPort",          "");
    98     setValue_p("ephV3",               "0");
     98    setValue_p("ephV2",               "0");
    9999    // Reqc
    100100    setValue_p("reqcAction",          "");
  • trunk/BNC/src/bncwindow.cpp

    r9107 r9158  
    239239  _rnxSkelLineEdit->setMaximumWidth(5*ww);
    240240  _rnxScrpLineEdit    = new QLineEdit(settings.value("rnxScript").toString());
    241   _rnxV3CheckBox      = new QCheckBox();
    242   _rnxV3CheckBox->setCheckState(Qt::CheckState(settings.value("rnxV3").toInt()));
     241  _rnxV2CheckBox      = new QCheckBox();
     242  _rnxV2CheckBox->setCheckState(Qt::CheckState(settings.value("rnxV2").toInt()));
    243243  QString hlp = settings.value("rnxV2Priority").toString();
    244244  if (hlp.isEmpty()) {
     
    247247  _rnxV2Priority = new QLineEdit(hlp);
    248248
    249   connect(_rnxPathLineEdit, SIGNAL(textChanged(const QString &)),
    250           this, SLOT(slotBncTextChanged()));
    251   connect(_rnxV3CheckBox, SIGNAL(stateChanged(int)),
    252           this, SLOT(slotBncTextChanged()));
     249  connect(_rnxPathLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(slotBncTextChanged()));
     250  connect(_rnxV2CheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
    253251
    254252  // RINEX Ephemeris Options
     
    263261  }
    264262  _ephOutPortLineEdit    = new QLineEdit(settings.value("ephOutPort").toString());
    265   _ephV3CheckBox = new QCheckBox();
    266   _ephV3CheckBox->setCheckState(Qt::CheckState(settings.value("ephV3").toInt()));
     263  _ephV2CheckBox = new QCheckBox();
     264  _ephV2CheckBox->setCheckState(Qt::CheckState(settings.value("ephV2").toInt()));
    267265
    268266  connect(_ephOutPortLineEdit, SIGNAL(textChanged(const QString &)),
     
    764762  oLayout->addWidget(new QLabel("Version 2 signal priority"),      5, 0);
    765763  oLayout->addWidget(_rnxV2Priority,                               5, 1, 1, 15);
    766   oLayout->addWidget(new QLabel("Version 3"),                      6, 0);
    767   oLayout->addWidget(_rnxV3CheckBox,                               6, 1);
     764  oLayout->addWidget(new QLabel("Version 2"),                      6, 0);
     765  oLayout->addWidget(_rnxV2CheckBox,                               6, 1);
    768766  oLayout->addWidget(new QLabel(""),                               7, 1);
    769767  oLayout->setRowStretch(8, 999);
     
    785783  eLayout->addWidget(new QLabel("Port"),                          3, 0);
    786784  eLayout->addWidget(_ephOutPortLineEdit,                         3, 1);
    787   eLayout->addWidget(new QLabel("Version 3"),                     4, 0);
    788   eLayout->addWidget(_ephV3CheckBox,                              4, 1);
     785  eLayout->addWidget(new QLabel("Version 2"),                     4, 0);
     786  eLayout->addWidget(_ephV2CheckBox,                              4, 1);
    789787  eLayout->setRowStretch(5, 999);
    790788
     
    938936  pppLayout1->addWidget(new QLabel("Data source"),           ir, 0);
    939937  pppLayout1->addWidget(_pppWidgets._dataSource,             ir, 1);
    940   pppLayout1->addWidget(new QLabel("   Version 3 filenames"),ir, 4);
    941   pppLayout1->addWidget(_pppWidgets._v3filenames,            ir, 5, 1, 3);
     938  pppLayout1->addWidget(new QLabel("   Version 2 filenames"),ir, 4);
     939  pppLayout1->addWidget(_pppWidgets._v2filenames,            ir, 5, 1, 3);
    942940  ++ir;
    943941  pppLayout1->addWidget(new QLabel("Corrections stream"),    ir, 0);
     
    12921290  // WhatsThis, Network
    12931291  // ------------------
    1294   _proxyHostLineEdit->setWhatsThis(tr("<p>If you are running BNC within a protected Local Area Network (LAN), you may need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNC. If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator.</p><p>Note that IP streaming is sometimes not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification of the local security policy or for the installation of a TCP relay to the Ntrip Broadcasters. If this is not possible, you may need to run BNC outside your LAN on a network that has unobstructed connection to the Internet. <i>[key: proxyHost]</i></p>"));
     1292  _proxyHostLineEdit->setWhatsThis(tr("<p>If you are running BNC within a protected Local Area Network (LAN), you may need to use a proxy server to access the Internet. Enter your proxy server IP and port number in case one is operated in front of BNC. If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator. Without any entry, BNC will try to use the system proxies. </p><p>Note that IP streaming is sometimes not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification of the local security policy or for the installation of a TCP relay to the Ntrip Broadcasters. If this is not possible, you may need to run BNC outside your LAN on a network that has unobstructed connection to the Internet. <i>[key: proxyHost]</i></p>"));
    12951293  _proxyPortLineEdit->setWhatsThis(tr("<p>Enter your proxy server port number in case a proxy is operated in front of BNC. <i>[key: proxyPort]</i></p>"));
    12961294  _sslCaCertPathLineEdit->setWhatsThis(tr("<p>Communication with an Ntrip Broadcaster over SSL requires the exchange of client and/or server certificates. Specify the path to a directory where you save certificates on your system. Don't try communication via SSL if you are not sure whether this is supported by the involved Ntrip Broadcaster.</p><p>Note that SSL communication is usually done over port 443. <i>[key: sslCaCertPath]</i></p>"));
     
    13141312  _rnxScrpLineEdit->setWhatsThis(tr("<p>Whenever a RINEX Observation file is finally saved, you may want to compress, copy or upload it immediately, for example via FTP. BNC allows you to execute a script/batch file to carry out such operation.</p><p>Specify the full path of a script or batch file. BNC will pass the full RINEX Observation file path to the script as command line parameter (%1 on Windows systems, $1 on Unix/Linux/Mac systems). <i>[key: rnxScript]</i></p>"));
    13151313  _rnxV2Priority->setWhatsThis(tr("<p>Specify a priority list of characters defining signal attributes as defined in RINEX Version 3. Priorities will be used to map observations with RINEX Version 3 attributes from incoming streams to Version 2. The underscore character '_' stands for undefined attributes. A question mark '?' can be used as wildcard which represents any one character.</p><p>Signal priorities can be specified as equal for all systems, as system specific or as system and freq. specific. For example: </li><ul><li>'CWPX_?' (General signal priorities valid for all GNSS) </li><li>'I:ABCX' (System specific signal priorities for IRNSS) </li><li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities) </li></ul>Default is the following priority list 'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:128&DPX C:7&DPZ I:ABCX S:1&C S:5&IQX'. <i>[key: rnxV2Priority]</i></p>"));
    1316   _rnxV3CheckBox->setWhatsThis(tr("<p>The default format for RINEX Observation files is RINEX Version 2.</p><p>Select 'Version 3' if you want to save observations in RINEX Version 3 format. <i>[key: rnxV3]</i></p>"));
     1314  _rnxV2CheckBox->setWhatsThis(tr("<p>The default format for RINEX Observation files is RINEX Version 3.</p><p>Select 'Version 2' if you want to save observations in RINEX Version 2 format. <i>[key: rnxV2]</i></p>"));
    13171315
    13181316  // WhatsThis, RINEX Ephemeris
     
    13211319  _ephIntrComboBox->setWhatsThis(tr("<p>Select the length of the RINEX Navigation file. <i>[key: ephIntr]</i></p>"));
    13221320  _ephOutPortLineEdit->setWhatsThis(tr("<p>BNC can produce ephemeris data in RINEX Navigation ASCII format on your local host through an IP port.</p><p>Specify a port number here to activate this function. <i>[key: ephOutPort]</i></p>"));
    1323   _ephV3CheckBox->setWhatsThis(tr("<p>The default format for output of RINEX Navigation data containing Broadcast Ephemeris is RINEX Version 2.</p><p>Select 'Version 3' if you want to output ephemeris in RINEX Version 3 format. <i>[key: ephV3]</i></p>"));
     1321  _ephV2CheckBox->setWhatsThis(tr("<p>The default format for output of RINEX Navigation data containing Broadcast Ephemeris is RINEX Version 3.</p><p>Select 'Version 2' if you want to output ephemeris in RINEX Version 2 format. <i>[key: ephV2]</i></p>"));
    13241322
    13251323  // WhatsThis, RINEX Editing & QC
     
    13941392  _pppWidgets._antexFile->setWhatsThis(tr("<p>Observations in RTCM streams or RINEX files should be referred to the receiver's and to the satellite's Antenna Phase Center (APC) and therefore be corrected for<ul><li>Receiver APC offsets</li><li>Receiver APC variations</li><li>Satellite APC offsets.</li></ul> Specify the full path to an IGS 'ANTEX file' which contains APC offsets and variations.</p><p>If you don't specify an 'ANTEX file' then observations will not be corrected for APC offsets and variations.</p>"));
    13951393  _pppWidgets._crdFile->setWhatsThis(tr("<p>Enter the full path to an ASCII file which specifies the streams or files of those stations you want to process. Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per station with the following parameters separated by blank character:<p><ul><li>Specify the station either by<ul><li>the 'Mountpoint' of the station's RTCM stream (when in real-time PPP mode), or</li><li>the 4-charater station ID of the RINEX Observations file (when in post processing PPP mode).</li></ul></li><li>Approximate X,Y,Z coordinate of station's Antenna Reference Point [m] (ARP, specify '0.0 0.0 0.0' if unknown).</li><li>North, East and Up component of antenna eccentricity [m] (specify '0.0 0.0 0.0' if unknown).</li><li>20 Characters describing the antenna type and radome following the IGS 'ANTEX file' standard (leave blank if unknown).</li><li>Receiver type following the naming conventions for IGS equipment.</li></ul></p><p>Records with exclamation mark '!' in the first column or blank records will be interpreted as comment lines and ignored.</p>"));
    1396   _pppWidgets._v3filenames->setWhatsThis(tr("<p>Tick 'Version 3 filenames' to let BNC create so-called extended filenames for PPP logfiles, NMEA files and SINEX Troposphere files following the RINEX Version 3 standard.</p><p>Default is an empty check box, meaning to create filenames following the RINEX Version 2 standard. The file content is not affected by this option. It only concerns the filenames.</p>"));
     1394  _pppWidgets._v2filenames->setWhatsThis(tr("<p>Tick 'Version 2 filenames' to let BNC create filenames for PPP logfiles , NMEA files and SINEX Troposphere files following the RINEX Version 2 standard.</p><p>Default is an empty check box, meaning to create filenames following the RINEX Version 3 standard. The file content is not affected by this option. It only concerns the filenames.</p>"));
    13971395  _pppWidgets._logPath->setWhatsThis(tr("<p>Specify a directory for saving daily PPP logfiles. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no PPP logfiles shall be produced.</p>"));
    13981396  _pppWidgets._nmeaPath->setWhatsThis(tr("<p>Specify a directory for saving coordinates in daily NMEA files. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no NMEA file shall be produced.</p>"));
     
    15151513  delete _rnxSkelLineEdit;
    15161514  delete _rnxScrpLineEdit;
    1517   delete _rnxV3CheckBox;
     1515  delete _rnxV2CheckBox;
    15181516  delete _rnxV2Priority;
    15191517  delete _ephPathLineEdit;
    15201518  delete _ephIntrComboBox;
    15211519  delete _ephOutPortLineEdit;
    1522   delete _ephV3CheckBox;
     1520  delete _ephV2CheckBox;
    15231521  delete _corrPathLineEdit;
    15241522  delete _corrIntrComboBox;
     
    19711969  settings.setValue("rnxScript",    _rnxScrpLineEdit->text());
    19721970  settings.setValue("rnxV2Priority",_rnxV2Priority->text());
    1973   settings.setValue("rnxV3",        _rnxV3CheckBox->checkState());
     1971  settings.setValue("rnxV2",        _rnxV2CheckBox->checkState());
    19741972// RINEX Ephemeris
    19751973  settings.setValue("ephPath",       _ephPathLineEdit->text());
    19761974  settings.setValue("ephIntr",       _ephIntrComboBox->currentText());
    19771975  settings.setValue("ephOutPort",    _ephOutPortLineEdit->text());
    1978   settings.setValue("ephV3",         _ephV3CheckBox->checkState());
     1976  settings.setValue("ephV2",         _ephV2CheckBox->checkState());
    19791977// Broadcast Corrections
    19801978  settings.setValue("corrPath",    _corrPathLineEdit->text());
     
    24592457    enableWidget(enable, _rnxScrpLineEdit);
    24602458    enableWidget(enable, _rnxV2Priority);
    2461     enableWidget(enable, _rnxV3CheckBox);
     2459    enableWidget(enable, _rnxV2CheckBox);
    24622460
    24632461    bool enable1 = true;
    2464     enable1 = _rnxV3CheckBox->isChecked();
     2462    enable1 = _rnxV2CheckBox->isChecked();
    24652463    if (enable && enable1) {
     2464      enableWidget(true, _rnxV2Priority);
     2465    }
     2466    if (enable && !enable1) {
    24662467      enableWidget(false, _rnxV2Priority);
    2467     }
    2468     if (enable && !enable1) {
    2469       enableWidget(true, _rnxV2Priority);
    24702468    }
    24712469  }
     
    24732471  // RINEX Observations, Signal Priority
    24742472  // -----------------------------------
    2475   if (sender() == 0 || sender() == _rnxV3CheckBox) {
     2473  if (sender() == 0 || sender() == _rnxV2CheckBox) {
    24762474    if (!_rnxPathLineEdit->text().isEmpty()) {
    24772475      enableWidget(enable, _rnxIntrComboBox);
    2478       enable = !_rnxV3CheckBox->isChecked();
     2476      enable = _rnxV2CheckBox->isChecked();
    24792477      enableWidget(enable, _rnxV2Priority);
    24802478    }
     
    24862484    enable = !_ephPathLineEdit->text().isEmpty() || !_ephOutPortLineEdit->text().isEmpty();
    24872485    enableWidget(enable, _ephIntrComboBox);
    2488     enableWidget(enable, _ephV3CheckBox);
     2486    enableWidget(enable, _ephV2CheckBox);
    24892487  }
    24902488
  • trunk/BNC/src/bncwindow.h

    r8621 r9158  
    162162    QLineEdit*     _sp3CompLogLineEdit;
    163163
    164     QCheckBox* _rnxV3CheckBox;
     164    QCheckBox* _rnxV2CheckBox;
    165165    QLineEdit* _rnxV2Priority;
    166     QCheckBox* _ephV3CheckBox;
     166    QCheckBox* _ephV2CheckBox;
    167167    QLineEdit* _rnxSkelLineEdit;
    168168    QCheckBox* _rnxFileCheckBox;
  • trunk/BNC/src/pppMain.cpp

    r8961 r9158  
    462462    opt->_aprSigPhaseBias = 1000.0;
    463463    // TODO: Find realistic values!!!!!!
    464     opt->_noiseIon        = 1.00;
    465     opt->_noiseCodeBias   = 1.00;
    466     opt->_noisePhaseBias  = 5.00;
     464    opt->_noiseIon        =  5.00; // Todo: add all to table
     465    opt->_noiseCodeBias   =  5.00;
     466    opt->_noisePhaseBias  =  5.00;
    467467    // pseudo observations
    468     opt->_sigmaGIMdiff    = 2.00; // Todo: add to bncWindow
     468    opt->_sigmaGIMdiff    = 5.00; // Todo: add to bncWindow
    469469    opt->_sigmaTz0        = 0.10;
    470470
  • trunk/BNC/src/pppRun.cpp

    r8824 r9158  
    179179        country;
    180180
    181   bool v3filenames = settings.value("PPP/v3filenames").toBool();
     181  bool v2filenames = settings.value("PPP/v2filenames").toBool();
    182182  QString logFileSkl = settings.value("PPP/logPath").toString();
    183183  int l = logFileSkl.length();
     
    189189      logFileSkl += QDir::separator();
    190190    }
    191     if (v3filenames) {
     191    if (!v2filenames) {
    192192      logFileSkl = logFileSkl + ID9 + "${V3}" + distStr + ".ppp";
    193193    }
     
    207207      nmeaFileSkl += QDir::separator();
    208208    }
    209     if (v3filenames) {
     209    if (!v2filenames) {
    210210      nmeaFileSkl = nmeaFileSkl + ID9 + "${V3}" + distStr + ".nmea";
    211211    }
     
    224224      snxtroFileSkl += QDir::separator();
    225225    }
    226     if (v3filenames) {
     226    if (!v2filenames) {
    227227      snxtroFileSkl = snxtroFileSkl + ID9 + "${V3}" + distStr + ".tra";
    228228    }
  • trunk/BNC/src/pppWidgets.cpp

    r8961 r9158  
    7676  _snxtroAc     = new QLineEdit();     _snxtroAc    ->setObjectName("PPP/snxtroAc");     _widgets << _snxtroAc;
    7777  _snxtroSol    = new QLineEdit();     _snxtroSol   ->setObjectName("PPP/snxtroSol");    _widgets << _snxtroSol;
    78   _v3filenames  = new QCheckBox();     _v3filenames ->setObjectName("PPP/v3filenames");  _widgets << _v3filenames;
     78  _v2filenames  = new QCheckBox();     _v2filenames ->setObjectName("PPP/v2filenames");  _widgets << _v2filenames;
    7979  _staTable     = new QTableWidget();  _staTable    ->setObjectName("PPP/staTable");     _widgets << _staTable;
    8080  _lcGPS        = new QComboBox();     _lcGPS       ->setObjectName("PPP/lcGPS");        _widgets << _lcGPS;
     
    245245  delete _snxtroAc;
    246246  delete _snxtroSol;
    247   delete _v3filenames;
     247  delete _v2filenames;
    248248  for (int iRow = _staTable->rowCount()-1; iRow >=0; iRow--) {
    249249    _staTable->removeRow(iRow);
     
    376376  _eleWgtCode ->setCheckState(Qt::CheckState(settings.value(_eleWgtCode ->objectName()).toInt()));
    377377  _eleWgtPhase->setCheckState(Qt::CheckState(settings.value(_eleWgtPhase->objectName()).toInt()));
    378   _v3filenames->setCheckState(Qt::CheckState(settings.value(_v3filenames->objectName()).toInt()));
     378  _v2filenames->setCheckState(Qt::CheckState(settings.value(_v2filenames->objectName()).toInt()));
    379379
    380380  // SpinBoxex
     
    445445  settings.setValue(_snxtroAc    ->objectName(), _snxtroAc    ->text());
    446446  settings.setValue(_snxtroSol   ->objectName(), _snxtroSol   ->text());
    447   settings.setValue(_v3filenames ->objectName(), _v3filenames ->checkState());
     447  settings.setValue(_v2filenames ->objectName(), _v2filenames ->checkState());
    448448  settings.setValue(_lcGPS       ->objectName(), _lcGPS       ->currentText());
    449449  settings.setValue(_lcGLONASS   ->objectName(), _lcGLONASS   ->currentText());
  • trunk/BNC/src/pppWidgets.h

    r8905 r9158  
    6060  QLineEdit*     _snxtroAc;
    6161  QLineEdit*     _snxtroSol;
    62   QCheckBox*     _v3filenames;
     62  QCheckBox*     _v2filenames;
    6363  QTableWidget*  _staTable;
    6464  QComboBox*     _lcGPS;
  • trunk/BNC/src/reqcdlg.cpp

    r8637 r9158  
    9595
    9696  _reqcRnxVersion->setEditable(false);
    97   _reqcRnxVersion->addItems(QString("2,3").split(","));
     97  _reqcRnxVersion->addItems(QString("3,2").split(","));
    9898  _reqcRnxVersion->setMaximumWidth(7*ww);
    9999
Note: See TracChangeset for help on using the changeset viewer.