Changeset 8167 in ntrip for branches/BNC_2.12/src/ephemeris.cpp


Ignore:
Timestamp:
Oct 26, 2017, 2:43:58 PM (6 years ago)
Author:
stuerze
Message:

IRNSS support is added in RINEX QC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/ephemeris.cpp

    r8006 r8167  
    184184
    185185      if (prnStr.size() == 1 &&
    186           (prnStr[0] == 'G' || prnStr[0] == 'J')) {
     186          (prnStr[0] == 'G' ||
     187           prnStr[0] == 'J' ||
     188           prnStr[0] == 'I')) {
    187189        in >> n;
    188190        prnStr.append(n);
     
    195197      else if (prnStr.at(0) == 'J') {
    196198        _prn.set('J', prnStr.mid(1).toInt());
     199      }
     200      else if (prnStr.at(0) == 'I') {
     201        _prn.set('I', prnStr.mid(1).toInt());
    197202      }
    198203      else {
     
    257262    }
    258263
    259     else if ( iLine == 5 ) {
     264    else if ( iLine == 5 && type() != t_eph::IRNSS) {
    260265      if ( readDbl(line, pos[0], fieldLen, _IDOT   ) ||
    261266           readDbl(line, pos[1], fieldLen, _L2Codes) ||
     
    266271      }
    267272    }
    268 
    269     else if ( iLine == 6 ) {
     273    else if ( iLine == 5 && type() == t_eph::IRNSS) {
     274      if ( readDbl(line, pos[0], fieldLen, _IDOT   ) ||
     275           readDbl(line, pos[2], fieldLen, _TOEweek) ) {
     276        _checkState = bad;
     277        return;
     278      }
     279    }
     280
     281    else if ( iLine == 6 && type() != t_eph::IRNSS) {
    270282      if ( readDbl(line, pos[0], fieldLen, _ura   ) ||
    271283           readDbl(line, pos[1], fieldLen, _health) ||
    272284           readDbl(line, pos[2], fieldLen, _TGD   ) ||
    273285           readDbl(line, pos[3], fieldLen, _IODC  ) ) {
     286        _checkState = bad;
     287        return;
     288      }
     289    }
     290    else if ( iLine == 6 && type() == t_eph::IRNSS) {
     291      if ( readDbl(line, pos[0], fieldLen, _ura   ) ||
     292           readDbl(line, pos[1], fieldLen, _health) ||
     293           readDbl(line, pos[2], fieldLen, _TGD   ) ) {
    274294        _checkState = bad;
    275295        return;
     
    389409  QString fmt = version < 3.0 ? "   %1%2%3%4\n" : "    %1%2%3%4\n";
    390410
    391   out << QString(fmt)
     411   out << QString(fmt)
    392412    .arg(_IODE,    19, 'e', 12)
    393413    .arg(_Crs,     19, 'e', 12)
     
    413433    .arg(_OMEGADOT, 19, 'e', 12);
    414434
    415   out << QString(fmt)
    416     .arg(_IDOT,    19, 'e', 12)
    417     .arg(_L2Codes, 19, 'e', 12)
    418     .arg(_TOEweek, 19, 'e', 12)
    419     .arg(_L2PFlag, 19, 'e', 12);
    420 
    421   out << QString(fmt)
    422     .arg(_ura,    19, 'e', 12)
    423     .arg(_health, 19, 'e', 12)
    424     .arg(_TGD,    19, 'e', 12)
    425     .arg(_IODC,   19, 'e', 12);
     435  if (type() == t_eph::IRNSS) {
     436    out << QString(fmt)
     437      .arg(_IDOT,    19, 'e', 12)
     438      .arg("",       19, QChar(' '))
     439      .arg(_TOEweek, 19, 'e', 12)
     440      .arg("",       19, QChar(' '));
     441  }
     442  else {
     443    out << QString(fmt)
     444      .arg(_IDOT,    19, 'e', 12)
     445      .arg(_L2Codes, 19, 'e', 12)
     446      .arg(_TOEweek, 19, 'e', 12)
     447      .arg(_L2PFlag, 19, 'e', 12);
     448  }
     449
     450  if (type() == t_eph::IRNSS) {
     451    out << QString(fmt)
     452      .arg(_ura,    19, 'e', 12)
     453      .arg(_health, 19, 'e', 12)
     454      .arg(_TGD,    19, 'e', 12)
     455      .arg("",       19, QChar(' '));
     456  }
     457  else {
     458    out << QString(fmt)
     459      .arg(_ura,    19, 'e', 12)
     460      .arg(_health, 19, 'e', 12)
     461      .arg(_TGD,    19, 'e', 12)
     462      .arg(_IODC,   19, 'e', 12);
     463  }
    426464
    427465  double tot = _TOT;
     
    429467    tot = 0.0;
    430468  }
    431   out << QString(fmt)
    432     .arg(tot,          19, 'e', 12)
    433     .arg(_fitInterval, 19, 'e', 12)
    434     .arg("",           19, QChar(' '))
    435     .arg("",           19, QChar(' '));
     469  if (type() == t_eph::IRNSS) {
     470    out << QString(fmt)
     471      .arg(tot,          19, 'e', 12)
     472      .arg("",           19, QChar(' '))
     473      .arg("",           19, QChar(' '))
     474      .arg("",           19, QChar(' '));
     475  }
     476  else {
     477    out << QString(fmt)
     478      .arg(tot,          19, 'e', 12)
     479      .arg(_fitInterval, 19, 'e', 12)
     480      .arg("",           19, QChar(' '))
     481      .arg("",           19, QChar(' '));
     482  }
    436483
    437484  return rnxStr;
Note: See TracChangeset for help on using the changeset viewer.