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

Last change on this file was 9180, checked in by stuerze, 4 years ago

check if orbit and clock corrections are in defined ranges is added

File size: 2.8 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"
[8989]8#include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h"
9#include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
[3222]10
[3224]11class bncEphUser;
[3222]12class bncoutf;
13class bncClockRinex;
14class bncSP3;
15
[3224]16class bncRtnetUploadCaster : public bncUploadCaster {
[3222]17 Q_OBJECT
18 public:
[3224]19 bncRtnetUploadCaster(const QString& mountpoint,
[3222]20 const QString& outHost, int outPort,
[8415]21 const QString& password,
[9036]22 const QString& crdTrafo, const QString& ssrFormat,
23 bool CoM,
[3222]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:
[8541]31 t_irc processSatellite(const t_eph* eph, int GPSweek,
[8415]32 double GPSweeks, const QString& prn,
[4991]33 const ColumnVector& rtnAPC,
[8484]34 double ura,
35 const ColumnVector& rtnClk,
[4991]36 const ColumnVector& rtnVel,
37 const ColumnVector& rtnCoM,
[8484]38 const ColumnVector& rtnClkSig,
[9036]39 struct SsrCorr::ClockOrbit::SatData* sd,
[3222]40 QString& outLine);
[9180]41
42 bool corrIsOutOfRange(struct SsrCorr::ClockOrbit::SatData* sd);
43
[4803]44 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
[3222]45
[6557]46 int determineUpdateInd(double samplingRate);
47
[5130]48 QString _casterID;
[3222]49 bncEphUser* _ephUser;
50 QString _rtnetStreamBuffer;
51 QString _crdTrafo;
[9036]52 SsrCorr* _ssrCorr;
53 QString _ssrFormat;
[3222]54 bool _CoM;
[9130]55 bool _phaseBiasInformationDecoded;
[4111]56 int _PID;
57 int _SID;
58 int _IOD;
[6557]59 int _samplRtcmClkCorr;
[4174]60 double _samplRtcmEphCorr;
[3222]61 double _dx;
62 double _dy;
63 double _dz;
64 double _dxr;
65 double _dyr;
66 double _dzr;
67 double _ox;
68 double _oy;
69 double _oz;
70 double _oxr;
71 double _oyr;
72 double _ozr;
73 double _sc;
74 double _scr;
75 double _t0;
76 bncClockRinex* _rnx;
77 bncSP3* _sp3;
[6442]78 QMap<QString, const t_eph*>* _usedEph;
[3222]79};
80
[6850]81struct phaseBiasesSat {
[7257]82 phaseBiasesSat() {
[8018]83 yawAngle = 0.0;
84 yawRate = 0.0;
[7257]85 }
[8018]86 double yawAngle;
87 double yawRate;
[6850]88};
89
90struct phaseBiasSignal {
[7257]91 phaseBiasSignal() {
92 bias = 0.0;
[8018]93 integerIndicator = 0;
94 wlIndicator = 0;
95 discontinuityCounter = 0;
[7257]96 }
[6850]97 QString type;
98 double bias;
[8018]99 unsigned int integerIndicator;
100 unsigned int wlIndicator;
101 unsigned int discontinuityCounter;
[6850]102};
103
[3222]104#endif
Note: See TracBrowser for help on using the repository browser.