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

Last change on this file since 9025 was 9025, checked in by stuerze, 8 months ago

some modification to allow encoding and decoding of SSR corrections in RTCM-SSR and IGS-SSR formats

File size: 2.7 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"
8#include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h"
9#include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
10
11class bncEphUser;
12class bncoutf;
13class bncClockRinex;
14class bncSP3;
15class SsrCorr;
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, const QString& ssrFormat,
25                  bool  CoM, 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  t_irc 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 SsrCorr::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  SsrCorr*       _ssrCorr;
51  QString        _ssrFormat;
52  bool           _CoM;
53  int            _PID;
54  int            _SID;
55  int            _IOD;
56  int            _samplRtcmClkCorr;
57  double         _samplRtcmEphCorr;
58  double         _dx;
59  double         _dy;
60  double         _dz;
61  double         _dxr;
62  double         _dyr;
63  double         _dzr;
64  double         _ox;
65  double         _oy;
66  double         _oz;
67  double         _oxr;
68  double         _oyr;
69  double         _ozr;
70  double         _sc;
71  double         _scr;
72  double         _t0;
73  bncClockRinex* _rnx;
74  bncSP3*        _sp3;
75  QMap<QString, const t_eph*>* _usedEph;
76};
77
78struct phaseBiasesSat {
79  phaseBiasesSat() {
80    yawAngle = 0.0;
81    yawRate = 0.0;
82  }
83  double yawAngle;
84  double yawRate;
85};
86
87struct phaseBiasSignal {
88  phaseBiasSignal() {
89    bias      = 0.0;
90    integerIndicator     = 0;
91    wlIndicator          = 0;
92    discontinuityCounter = 0;
93  }
94  QString type;
95  double bias;
96  unsigned int integerIndicator;
97  unsigned int wlIndicator;
98  unsigned int discontinuityCounter;
99};
100
101#endif
Note: See TracBrowser for help on using the repository browser.