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

Last change on this file since 8904 was 8542, checked in by stuerze, 6 years ago

minor changes to consider a satellite clock drift that is introduced via 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 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 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.