source: ntrip/trunk/BNC/src/upload/bncrtnetuploadcaster.h @ 8483

Last change on this file since 8483 was 8483, checked in by stuerze, 22 months ago

SSR parameter clock rate, clock drift and URA are added within RTNET format

File size: 2.6 KB
Line 
1#ifndef BNCRTNETUPLOADCASTER_H
2#define BNCRTNETUPLOADCASTER_H
3
4#include <newmat.h>
5#include "bncuploadcaster.h"
6#include "bnctime.h"
7#include "ephemeris.h"
8extern "C" {
9#include "clock_orbit_rtcm.h"
10}
11
12class bncEphUser;
13class bncoutf;
14class bncClockRinex;
15class bncSP3;
16
17class bncRtnetUploadCaster : public bncUploadCaster {
18 Q_OBJECT
19 public:
20  bncRtnetUploadCaster(const QString& mountpoint,
21                  const QString& outHost, int outPort,
22                  const QString& ntripVersion,
23                  const QString& userName,const QString& password,
24                  const QString& crdTrafo, bool  CoM,
25                  const QString& sp3FileName,
26                  const QString& rnxFileName,
27                  int PID, int SID, int IOD, int iRow);
28  void decodeRtnetStream(char* buffer, int bufLen);
29 protected:
30  virtual ~bncRtnetUploadCaster();
31 private:
32  void processSatellite(const t_eph* eph, int GPSweek,
33                        double GPSweeks, const QString& prn,
34                        const ColumnVector& rtnAPC,
35                        double ura,
36                        const ColumnVector& rtnClk,
37                        const ColumnVector& rtnVel,
38                        const ColumnVector& rtnCoM,
39                        const ColumnVector& rtnClkSig,
40                        struct ClockOrbit::SatData* sd,
41                        QString& outLine);
42  void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
43
44  int determineUpdateInd(double samplingRate);
45
46  QString        _casterID;
47  bncEphUser*    _ephUser;
48  QString        _rtnetStreamBuffer;
49  QString        _crdTrafo;
50  bool           _CoM;
51  int            _PID;
52  int            _SID;
53  int            _IOD;
54  int            _samplRtcmClkCorr;
55  double         _samplRtcmEphCorr;
56  double         _dx;
57  double         _dy;
58  double         _dz;
59  double         _dxr;
60  double         _dyr;
61  double         _dzr;
62  double         _ox;
63  double         _oy;
64  double         _oz;
65  double         _oxr;
66  double         _oyr;
67  double         _ozr;
68  double         _sc;
69  double         _scr;
70  double         _t0;
71  bncClockRinex* _rnx;
72  bncSP3*        _sp3;
73  QMap<QString, const t_eph*>* _usedEph;
74};
75
76struct phaseBiasesSat {
77  phaseBiasesSat() {
78    yawAngle = 0.0;
79    yawRate = 0.0;
80  }
81  double yawAngle;
82  double yawRate;
83};
84
85struct phaseBiasSignal {
86  phaseBiasSignal() {
87    bias      = 0.0;
88    integerIndicator     = 0;
89    wlIndicator          = 0;
90    discontinuityCounter = 0;
91  }
92  QString type;
93  double bias;
94  unsigned int integerIndicator;
95  unsigned int wlIndicator;
96  unsigned int discontinuityCounter;
97};
98
99#endif
Note: See TracBrowser for help on using the repository browser.