source: ntrip/trunk/BNS/bns.h@ 2498

Last change on this file since 2498 was 2493, checked in by stoecker, 14 years ago

removed double storage of RTCM3 stuff

File size: 2.6 KB
RevLine 
[756]1#ifndef BNS_H
2#define BNS_H
3
[784]4#include <newmat.h>
5
[769]6#include <QtNetwork>
[756]7#include <QThread>
8
[758]9#include "bnseph.h"
[1062]10#include "bnscaster.h"
[863]11extern "C" {
[2493]12#include "clock_orbit_rtcm.h"
[863]13}
[758]14
[847]15class bnsRinex;
[848]16class bnsSP3;
[847]17
[778]18class t_ephPair {
19 public:
20 t_ephPair() {
21 eph = 0;
22 oldEph = 0;
23 }
24
25 ~t_ephPair() {
26 delete eph;
27 delete oldEph;
28 }
29
[873]30 ColumnVector xx;
[884]31 t_eph* eph;
32 t_eph* oldEph;
[778]33};
34
[757]35class t_bns : public QThread {
36 Q_OBJECT
[756]37 public:
[757]38 t_bns(QObject* parent = 0);
39 virtual ~t_bns();
[756]40 virtual void run();
41
[757]42 signals:
[1058]43 void newClkBytes(int nBytes);
44 void newEphBytes(int nBytes);
[1258]45 void newOutBytes1(int nBytes);
46 void newOutBytes2(int nBytes);
[1740]47 void newOutBytes3(int nBytes);
[2332]48 void newOutBytes4(int nBytes);
49 void newOutBytes5(int nBytes);
50 void newOutBytes6(int nBytes);
[2349]51 void newOutBytes7(int nBytes);
52 void newOutBytes8(int nBytes);
53 void newOutBytes9(int nBytes);
54 void newOutBytes10(int nBytes);
[1803]55 void newOutEphBytes(int nBytes);
[757]56 void newMessage(const QByteArray msg);
[760]57 void error(const QByteArray msg);
[836]58 void moveSocket(QThread* tt);
[756]59
[758]60 private slots:
[1058]61 void slotNewEph(t_eph* ep, int nBytes);
[769]62 void slotNewConnection();
[758]63 void slotMessage(const QByteArray msg);
[760]64 void slotError(const QByteArray msg);
[836]65 void slotMoveSocket(QThread* tt);
[758]66
[756]67 private:
[763]68 void deleteBnsEph();
[770]69 void openCaster();
[784]70 void readEpoch();
[2461]71 void readRecords();
[2046]72 void processSatellite(int oldEph, int iCaster, const QString trafo, bool CoM,
[1733]73 t_eph* ep, int GPSweek, double GPSweeks,
74 const QString& prn, const ColumnVector& xx,
75 struct ClockOrbit::SatData* sd, QString& outLine);
[1772]76 void crdTrafo(int GPSWeek, ColumnVector& xyz, const QString trafo);
[784]77
[778]78 QTcpServer* _clkServer;
79 QTcpSocket* _clkSocket;
[1066]80 QList<t_bnscaster*> _caster;
[1796]81 t_bnscaster* _casterEph;
[816]82 QFile* _logFile;
83 QTextStream* _logStream;
[1072]84 QFile* _echoFile;
85 QTextStream* _echoStream;
[778]86 t_bnseph* _bnseph;
87 QMutex _mutex;
88 QMap<QString, t_ephPair*> _ephList;
[847]89 bnsRinex* _rnx;
[848]90 bnsSP3* _sp3;
[1197]91 QByteArray _clkLine;
[2461]92
93 int _GPSweek;
94 double _GPSweeks;
95 int _year;
96 int _month;
97 int _day;
98 int _hour;
99 int _min;
100 double _sec;
101
[1772]102 double _dx;
103 double _dy;
104 double _dz;
105 double _dxr;
106 double _dyr;
107 double _dzr;
108 double _ox;
109 double _oy;
110 double _oz;
111 double _oxr;
112 double _oyr;
113 double _ozr;
114 double _sc;
115 double _scr;
116 double _t0;
[756]117};
118#endif
Note: See TracBrowser for help on using the repository browser.