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

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

bug fixed regarding crd trafo: trafo from ITRF2014 into ETRF2008, NAD83 or DREF91 is done via ITRF2008

File size: 3.0 KB
RevLine 
[3224]1#ifndef BNCRTNETUPLOADCASTER_H
2#define BNCRTNETUPLOADCASTER_H
[3222]3
[3224]4#include <newmat.h>
5#include "bncuploadcaster.h"
[3222]6#include "bnctime.h"
[3225]7#include "ephemeris.h"
8extern "C" {
[3224]9#include "clock_orbit_rtcm.h"
[3225]10}
[3222]11
[3224]12class bncEphUser;
[3222]13class bncoutf;
14class bncClockRinex;
15class bncSP3;
16
[3224]17class bncRtnetUploadCaster : public bncUploadCaster {
[3222]18 Q_OBJECT
19 public:
[3224]20 bncRtnetUploadCaster(const QString& mountpoint,
[3222]21 const QString& outHost, int outPort,
22 const QString& password,
23 const QString& crdTrafo, bool CoM,
24 const QString& sp3FileName,
25 const QString& rnxFileName,
[4111]26 int PID, int SID, int IOD, int iRow);
[3226]27 void decodeRtnetStream(char* buffer, int bufLen);
[3222]28 protected:
[3224]29 virtual ~bncRtnetUploadCaster();
[3222]30 private:
[6442]31 void processSatellite(const t_eph* eph, int GPSweek,
[3222]32 double GPSweeks, const QString& prn,
[4991]33 const ColumnVector& rtnAPC,
34 double rtnClk,
35 const ColumnVector& rtnVel,
36 const ColumnVector& rtnCoM,
[3222]37 struct ClockOrbit::SatData* sd,
38 QString& outLine);
[4803]39 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
[3222]40
[8146]41 // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
42 void crdTrafo8(int GPSWeek, ColumnVector& xyz, double& dc);
43
[6557]44 int determineUpdateInd(double samplingRate);
45
[5130]46 QString _casterID;
[3222]47 bncEphUser* _ephUser;
48 QString _rtnetStreamBuffer;
49 QString _crdTrafo;
50 bool _CoM;
[4111]51 int _PID;
52 int _SID;
53 int _IOD;
[6557]54 int _samplRtcmClkCorr;
[4174]55 double _samplRtcmEphCorr;
[3222]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;
[6442]73 QMap<QString, const t_eph*>* _usedEph;
[8146]74 // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
75 double _dx8;
76 double _dy8;
77 double _dz8;
78 double _dxr8;
79 double _dyr8;
80 double _dzr8;
81 double _ox8;
82 double _oy8;
83 double _oz8;
84 double _oxr8;
85 double _oyr8;
86 double _ozr8;
87 double _sc8;
88 double _scr8;
89 double _t08;
[3222]90};
91
[6850]92struct phaseBiasesSat {
[7257]93 phaseBiasesSat() {
[8018]94 yawAngle = 0.0;
95 yawRate = 0.0;
[7257]96 }
[8018]97 double yawAngle;
98 double yawRate;
[6850]99};
100
101struct phaseBiasSignal {
[7257]102 phaseBiasSignal() {
103 bias = 0.0;
[8018]104 integerIndicator = 0;
105 wlIndicator = 0;
106 discontinuityCounter = 0;
[7257]107 }
[6850]108 QString type;
109 double bias;
[8018]110 unsigned int integerIndicator;
111 unsigned int wlIndicator;
112 unsigned int discontinuityCounter;
[6850]113};
114
[3222]115#endif
Note: See TracBrowser for help on using the repository browser.