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

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