source: ntrip/branches/BNC_2.12/src/upload/bncrtnetuploadcaster.h@ 9127

Last change on this file since 9127 was 9036, checked in by stuerze, 4 years 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;
15
16class bncRtnetUploadCaster : public bncUploadCaster {
17 Q_OBJECT
18 public:
19 bncRtnetUploadCaster(const QString& mountpoint,
20 const QString& outHost, int outPort,
21 const QString& password,
22 const QString& crdTrafo, const QString& ssrFormat,
23 bool CoM,
24 const QString& sp3FileName,
25 const QString& rnxFileName,
26 int PID, int SID, int IOD, int iRow);
27 void decodeRtnetStream(char* buffer, int bufLen);
28 protected:
29 virtual ~bncRtnetUploadCaster();
30 private:
31 t_irc processSatellite(const t_eph* eph, int GPSweek,
32 double GPSweeks, const QString& prn,
33 const ColumnVector& rtnAPC,
34 double ura,
35 const ColumnVector& rtnClk,
36 const ColumnVector& rtnVel,
37 const ColumnVector& rtnCoM,
38 const ColumnVector& rtnClkSig,
39 struct SsrCorr::ClockOrbit::SatData* sd,
40 QString& outLine);
41 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
42
43 int determineUpdateInd(double samplingRate);
44
45 QString _casterID;
46 bncEphUser* _ephUser;
47 QString _rtnetStreamBuffer;
48 QString _crdTrafo;
49 SsrCorr* _ssrCorr;
50 QString _ssrFormat;
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};
76
77struct phaseBiasesSat {
78 phaseBiasesSat() {
79 yawAngle = 0.0;
80 yawRate = 0.0;
81 }
82 double yawAngle;
83 double yawRate;
84};
85
86struct phaseBiasSignal {
87 phaseBiasSignal() {
88 bias = 0.0;
89 integerIndicator = 0;
90 wlIndicator = 0;
91 discontinuityCounter = 0;
92 }
93 QString type;
94 double bias;
95 unsigned int integerIndicator;
96 unsigned int wlIndicator;
97 unsigned int discontinuityCounter;
98};
99
100#endif
Note: See TracBrowser for help on using the repository browser.