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

Last change on this file since 10541 was 10537, checked in by stuerze, 3 months ago

Service and RTCM CRS encoding usage added

File size: 3.7 KB
RevLine 
[3224]1#ifndef BNCRTNETUPLOADCASTER_H
2#define BNCRTNETUPLOADCASTER_H
[3222]3
[3224]4#include <newmat.h>
[9512]5#include <iostream>
[3224]6#include "bncuploadcaster.h"
[3222]7#include "bnctime.h"
[3225]8#include "ephemeris.h"
[8969]9#include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h"
10#include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
[10533]11#include "../RTCM3/crs.h"
[10537]12#include "../RTCM3/crsEncoder.h"
[3222]13
[3224]14class bncEphUser;
[3222]15class bncoutf;
16class bncClockRinex;
17class bncSP3;
[9652]18class bncBiasSinex;
[3222]19
[3224]20class bncRtnetUploadCaster : public bncUploadCaster {
[3222]21 Q_OBJECT
22 public:
[3224]23 bncRtnetUploadCaster(const QString& mountpoint,
[3222]24 const QString& outHost, int outPort,
[9032]25 const QString& ntripVersion, const QString& userName,
26 const QString& password,
[9025]27 const QString& crdTrafo, const QString& ssrFormat,
[9032]28 bool CoM,
29 const QString& sp3FileName,
[3222]30 const QString& rnxFileName,
[9652]31 const QString& bsxFileName,
[4111]32 int PID, int SID, int IOD, int iRow);
[3226]33 void decodeRtnetStream(char* buffer, int bufLen);
[3222]34 protected:
[3224]35 virtual ~bncRtnetUploadCaster();
[3222]36 private:
[8542]37 t_irc processSatellite(const t_eph* eph, int GPSweek,
[8017]38 double GPSweeks, const QString& prn,
[4991]39 const ColumnVector& rtnAPC,
[8483]40 double ura,
41 const ColumnVector& rtnClk,
[4991]42 const ColumnVector& rtnVel,
43 const ColumnVector& rtnCoM,
[8483]44 const ColumnVector& rtnClkSig,
[9025]45 struct SsrCorr::ClockOrbit::SatData* sd,
[3222]46 QString& outLine);
[9868]47 void decodeRtnetEpoch(QStringList epochLines);
[9179]48 bool corrIsOutOfRange(struct SsrCorr::ClockOrbit::SatData* sd);
49
[4803]50 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
[9911]51 // TODO: the following line can be deleted if all parameters are updated regarding ITRF2020
52 void crdTrafo14(int GPSWeek, ColumnVector& xyz, double& dc);
[3222]53
[6557]54 int determineUpdateInd(double samplingRate);
55
[5130]56 QString _casterID;
[3222]57 bncEphUser* _ephUser;
58 QString _rtnetStreamBuffer;
[10533]59 QString _crdTrafoStr;
[9025]60 SsrCorr* _ssrCorr;
61 QString _ssrFormat;
[3222]62 bool _CoM;
[9128]63 bool _phaseBiasInformationDecoded;
[4111]64 int _PID;
65 int _SID;
66 int _IOD;
[6557]67 int _samplRtcmClkCorr;
[4174]68 double _samplRtcmEphCorr;
[10533]69
[3222]70 double _dx;
71 double _dy;
72 double _dz;
73 double _dxr;
74 double _dyr;
75 double _dzr;
76 double _ox;
77 double _oy;
78 double _oz;
79 double _oxr;
80 double _oyr;
81 double _ozr;
82 double _sc;
83 double _scr;
84 double _t0;
[10533]85 /* TODO: the following lines can be deleted if all parameters are updated regarding ITRF2020*/
[9911]86 double _dx14;
87 double _dy14;
88 double _dz14;
89 double _dxr14;
90 double _dyr14;
91 double _dzr14;
92 double _ox14;
93 double _oy14;
94 double _oz14;
95 double _oxr14;
96 double _oyr14;
97 double _ozr14;
98 double _sc14;
99 double _scr14;
100 double _t014;
101
[3222]102 bncClockRinex* _rnx;
103 bncSP3* _sp3;
[9652]104 bncBiasSinex* _bsx;
[6442]105 QMap<QString, const t_eph*>* _usedEph;
[3222]106};
107
[6850]108struct phaseBiasesSat {
[7257]109 phaseBiasesSat() {
[8017]110 yawAngle = 0.0;
111 yawRate = 0.0;
[7257]112 }
[8017]113 double yawAngle;
114 double yawRate;
[6850]115};
116
117struct phaseBiasSignal {
[7257]118 phaseBiasSignal() {
119 bias = 0.0;
[8017]120 integerIndicator = 0;
121 wlIndicator = 0;
122 discontinuityCounter = 0;
[7257]123 }
[6850]124 QString type;
125 double bias;
[8017]126 unsigned int integerIndicator;
127 unsigned int wlIndicator;
128 unsigned int discontinuityCounter;
[6850]129};
130
[3222]131#endif
Note: See TracBrowser for help on using the repository browser.