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

Last change on this file since 9024 was 8969, checked in by stuerze, 5 years ago

some preparation to support 2 different ssr formats in future

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