Changeset 3520 in ntrip for trunk


Ignore:
Timestamp:
Dec 14, 2011, 12:25:56 PM (13 years ago)
Author:
mervart
Message:
 
Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/GPSS/hassDecoder.cpp

    r3514 r3520  
    1919#include "hassDecoder.h"
    2020#include "bnctime.h"
     21#include "bncutils.h"
    2122
    2223using namespace std;
     
    5758    int     mjd, IOD;
    5859    double  daySec;
    59     double  deltaX, deltaY, deltaZ, deltaClk;
    60     double  rateDeltaX, rateDeltaY, rateDeltaZ;
     60    ColumnVector dx(3);
     61    ColumnVector dxRate(3);
     62    double clkFull;
     63
    6164    QString prn;
    6265   
    63     in >> mjd >> daySec >> prn >> IOD >> deltaX >> deltaY >> deltaZ
    64        >> deltaClk >> rateDeltaX >> rateDeltaY >> rateDeltaZ;
     66    in >> mjd >> daySec >> prn >> IOD >> dx[0] >> dx[1] >> dx[2] >> clkFull
     67       >> dxRate[0] >> dxRate[1] >> dxRate[2];
    6568
     69    // Correction Time
     70    // ---------------
    6671    bncTime tt;
    6772    tt.setmjd(daySec, mjd);
     
    7075    long coTime = tt.gpsw() * 7*24*3600 + long(floor(_GPSweeks+0.5));
    7176
     77    // Transform Correction
     78    // --------------------
     79    dx     = -dx;
     80    dxRate = -dxRate;
     81
     82    t_eph* eph = 0;
     83    if (_eph.contains(prn)) {
     84      if      (_eph.value(prn)->last && _eph.value(prn)->last->IOD() == IOD) {
     85        eph = _eph.value(prn)->last;
     86      }
     87      else if (_eph.value(prn)->prev && _eph.value(prn)->prev->IOD() == IOD) {
     88        eph = _eph.value(prn)->prev;
     89      }
     90    }
     91    if (!eph) {
     92      continue;
     93    }
     94
     95    ColumnVector xc(4);
     96    ColumnVector vv(3);
     97    eph->position(tt.gpsw(), tt.gpssec(), xc.data(), vv.data());
     98
     99    ColumnVector rao(3);
     100    XYZ_to_RSW(xc.Rows(1,3), vv, dx,     rao);
     101
     102    ColumnVector dotRao(3);
     103    XYZ_to_RSW(xc.Rows(1,3), vv, dxRate, dotRao);
     104
     105    double dClk = clkFull - xc[3] * t_CST::c;
     106
     107    // Print Correction Line
     108    // ---------------------
    72109    QString corrLine;
    73110
    74     int updateInterval =  0;
    75     int messageType = 0;
     111    int updateInterval = 0;
     112    int messageType    = 0;
    76113    if      (prn[0] == 'G') {
    77       messageType = -COTYPE_GPSCOMBINED;
     114      messageType = COTYPE_GPSCOMBINED;
    78115    }
    79116    else if (prn[0] == 'R') {
    80       messageType = -COTYPE_GLONASSCOMBINED;
     117      messageType = COTYPE_GLONASSCOMBINED;
    81118    }
    82119
     
    88125                     messageType, updateInterval, tt.gpsw(), _GPSweeks,
    89126                     prn.toAscii().data(), IOD,
    90                      deltaClk, deltaX, deltaY, deltaZ,
    91                      0.0, rateDeltaX, rateDeltaY, rateDeltaZ, 0.0);
     127                     dClk, rao[0], rao[1], rao[2],
     128                     0.0, dotRao[0], dotRao[1], dotRao[2], 0.0);
    92129
    93130    reopen(_fileNameSkl, _fileName, _out);   
  • trunk/BNC/RTCM3/RTCM3coDecoder.h

    r3505 r3520  
    3131#include <QtNetwork>
    3232
     33#include "bncephuser.h"
    3334#include "RTCM/GPSDecoder.h"
    3435
     
    3738}
    3839
    39 class RTCM3coDecoder : public QObject, public GPSDecoder {
     40class RTCM3coDecoder : public bncEphUser, public GPSDecoder {
    4041Q_OBJECT
    4142 public:
Note: See TracChangeset for help on using the changeset viewer.