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

Last change on this file since 8312 was 8275, checked in by stuerze, 7 years ago

some preparation to allow Ntrip version 2 stream upload in future

File size: 3.1 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 rtnClk,
36 const ColumnVector& rtnVel,
37 const ColumnVector& rtnCoM,
38 struct ClockOrbit::SatData* sd,
39 QString& outLine);
40 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
41
42 // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
43 void crdTrafo8(int GPSWeek, ColumnVector& xyz, double& dc);
44
45 int determineUpdateInd(double samplingRate);
46
47 QString _casterID;
48 bncEphUser* _ephUser;
49 QString _rtnetStreamBuffer;
50 QString _crdTrafo;
51 bool _CoM;
52 int _PID;
53 int _SID;
54 int _IOD;
55 int _samplRtcmClkCorr;
56 double _samplRtcmEphCorr;
57 double _dx;
58 double _dy;
59 double _dz;
60 double _dxr;
61 double _dyr;
62 double _dzr;
63 double _ox;
64 double _oy;
65 double _oz;
66 double _oxr;
67 double _oyr;
68 double _ozr;
69 double _sc;
70 double _scr;
71 double _t0;
72 bncClockRinex* _rnx;
73 bncSP3* _sp3;
74 QMap<QString, const t_eph*>* _usedEph;
75 // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
76 double _dx8;
77 double _dy8;
78 double _dz8;
79 double _dxr8;
80 double _dyr8;
81 double _dzr8;
82 double _ox8;
83 double _oy8;
84 double _oz8;
85 double _oxr8;
86 double _oyr8;
87 double _ozr8;
88 double _sc8;
89 double _scr8;
90 double _t08;
91};
92
93struct phaseBiasesSat {
94 phaseBiasesSat() {
95 yawAngle = 0.0;
96 yawRate = 0.0;
97 }
98 double yawAngle;
99 double yawRate;
100};
101
102struct phaseBiasSignal {
103 phaseBiasSignal() {
104 bias = 0.0;
105 integerIndicator = 0;
106 wlIndicator = 0;
107 discontinuityCounter = 0;
108 }
109 QString type;
110 double bias;
111 unsigned int integerIndicator;
112 unsigned int wlIndicator;
113 unsigned int discontinuityCounter;
114};
115
116#endif
Note: See TracBrowser for help on using the repository browser.