Ignore:
Timestamp:
Jul 3, 2026, 11:10:42 AM (15 hours ago)
Author:
stuerze
Message:

Possibility to select how satellite attitude is modelled when converting Antenna Phase Center (APC) corrections to
Center-of-Mass (CoM) positions required for SP3 output

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/combination/bnccomb.cpp

    r10954 r10955  
    181181      QStringList hlp = it.next().split(" ");
    182182      cmbAC* newAC = new cmbAC();
    183       newAC->mountPoint   = hlp[0];
    184       newAC->name         = hlp[1];
    185       newAC->weightFactor = hlp[2].toDouble();
    186       newAC->excludeSats  = hlp[3].split(QRegExp("[ ,]"), Qt::SkipEmptyParts);
    187       newAC->isAPC        = bool(newAC->mountPoint.mid(0,4) == "SSRA");
     183      newAC->mountPoint     = hlp[0];
     184      newAC->name           = hlp[1];
     185      newAC->weightFactor   = hlp[2].toDouble();
     186      newAC->excludeSats    = hlp[3].split(QRegExp("[ ,]"), Qt::SkipEmptyParts);
     187      newAC->isAPC          = bool(newAC->mountPoint.mid(0,4) == "SSRA");
     188      newAC->attitudeSource = (hlp.size() > 4) ? hlp[4] : "Computed";
    188189      QMapIterator<char, unsigned> itSys(_cmbSysPrn);
    189190      // init
     
    859860          dt -= (0.5 * ssrUpdateInt[pb._updateInt]);
    860861        }
    861         _newCorr->_satYawAngle = pb._yaw + pb._yawRate * dt;
     862        _newCorr->_satYawAngle      = pb._yaw + pb._yawRate * dt;
     863        _newCorr->_satYawAngleValid = true;
    862864
    863865        // _lambdaIF
     
    12131215      if (corr->_prn.startsWith("R08")) {
    12141216        emit newMessage(("bncComb: DIAG " + corr->_prn.mid(0,3) + " getCrd FAILED").toLatin1(), false);
    1215       }
    1216       */
     1217      } */
    12171218      delete corr;
    12181219      it.remove();
     
    12221223    else if (corr->_prn.startsWith("R08")) {
    12231224      emit newMessage(("bncComb: DIAG " + corr->_prn.mid(0,3) + " getCrd OK").toLatin1(), false);
    1224     }
    1225    
    1226     */
     1225    }*/
    12271226    // TEMPORARY DIAGNOSTIC: how far is this epoch from the GLONASS broadcast
    12281227    // ephemeris reference time? t_ephGlo::position() numerically integrates
     
    12511250      char sys = corr->_eph->prn().system();
    12521251      masterIsAPC = _masterIsAPC[sys];
    1253       if (_antex->satCoMcorrection(corr->_prn, Mjd, xc.Rows(1,3), vv, dx) != success) {
     1252
     1253      // Determine attitude mode from the master orbit AC for this system
     1254      bncAntex::e_attMode attMode   = bncAntex::ATT_COMPUTED;
     1255      double              extYaw    = 0.0;
     1256      const QString&      masterName = _masterOrbitAC[sys];
     1257      for (const cmbAC* ac : _ACs) {
     1258        if (ac->name == masterName) {
     1259          if (ac->attitudeSource == "SSR" && corr->_satYawAngleValid) {
     1260            attMode = bncAntex::ATT_EXTERNAL;
     1261            extYaw  = corr->_satYawAngle;
     1262          }
     1263          else if (ac->attitudeSource == "Nominal") {
     1264            attMode = bncAntex::ATT_NOMINAL;
     1265          }
     1266          break;
     1267        }
     1268      }
     1269
     1270      if (_antex->satCoMcorrection(corr->_prn, Mjd, xc.Rows(1,3), vv, dx,
     1271                                   attMode, extYaw) != success) {
    12541272        dx = 0;
    12551273        emit newMessage("bncComb: antenna not found " + corr->_prn.mid(0,3).toLatin1(), false);
     
    12581276      if (!glonassYawLog.isEmpty()) {
    12591277        emit newMessage(("bncComb: " + glonassYawLog.trimmed()).toLatin1(), false);
     1278      }
     1279      QString gpsYawLog = _antex->takeGpsYawLog();
     1280      if (!gpsYawLog.isEmpty()) {
     1281        emit newMessage(("bncComb: " + gpsYawLog.trimmed()).toLatin1(), false);
     1282      }
     1283      QString onYawLog = _antex->takeOnYawLog();
     1284      if (!onYawLog.isEmpty()) {
     1285        emit newMessage(("bncComb: " + onYawLog.trimmed()).toLatin1(), false);
    12601286      }
    12611287    }
Note: See TracChangeset for help on using the changeset viewer.