|
|
#ifndef MAINWINDOW_H
|
|
|
#define MAINWINDOW_H
|
|
|
|
|
|
#include <QTcpServer>
|
|
|
#include <QTcpSocket>
|
|
|
#include <QXmlSimpleReader>
|
|
|
#include <QSettings>
|
|
|
#include <QMainWindow>
|
|
|
|
|
|
#include <lfrxmlhandler.h>
|
|
|
#include <lfrxmlwriter.h>
|
|
|
#include <mainwindowui.h>
|
|
|
#include "tmpackettoread.h"
|
|
|
#include "wfpacket.h"
|
|
|
#include "lfrxmlparser.h"
|
|
|
#include <spectrapacket.h>
|
|
|
|
|
|
class MainWindow : public QMainWindow
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
|
MainWindow(QWidget *parent = 0);
|
|
|
~MainWindow();
|
|
|
|
|
|
void displayNetworkInterfaces();
|
|
|
void initSocketStatesList();
|
|
|
//
|
|
|
void preProcessPacket(TMPacketToRead *packet);
|
|
|
unsigned char getPID(TMPacketToRead *packet);
|
|
|
unsigned char getCAT(TMPacketToRead *packet);
|
|
|
unsigned char getTYPE(TMPacketToRead *packet);
|
|
|
unsigned char getSUBTYPE(TMPacketToRead *packet);
|
|
|
unsigned int getLENGTH(TMPacketToRead *packet);
|
|
|
unsigned int getCoarseTime(TMPacketToRead *packet);
|
|
|
unsigned int getFineTime(TMPacketToRead *packet);
|
|
|
unsigned int getSID(TMPacketToRead *packet, unsigned char pid, unsigned char cat, unsigned char typ, unsigned char sub);
|
|
|
//
|
|
|
void buildWFAndDisplay_SWF(TMPacketToRead *packet, WFPacket *wfPacket, unsigned char num_page);
|
|
|
void buildWFAndDisplay_CWF_LONG_F3(TMPacketToRead *packet, WFPacket *wfPacket);
|
|
|
void buildWFAndDisplay_CWF_F3_light(TMPacketToRead *packet, WFPacket *wfPacket);
|
|
|
void buildWFAndDisplayBurst(TMPacketToRead *packet, WFPacket *wfPacket);
|
|
|
void buildWFAndDisplay_CWF_F1(TMPacketToRead *packet, WFPacket *wfPacket);
|
|
|
void buildWFAndDisplay_CWF_F2(TMPacketToRead *packet, WFPacket *wfPacket);
|
|
|
void buildSpectrumAndDisplayNORM_F0(TMPacketToRead *packet, SpectraPacket *spectraPacket);
|
|
|
|
|
|
protected:
|
|
|
void closeEvent(QCloseEvent *);
|
|
|
|
|
|
private:
|
|
|
void readSettings();
|
|
|
void writeSettings();
|
|
|
unsigned char echoBridgeIP0;
|
|
|
unsigned char echoBridgeIP1;
|
|
|
unsigned char echoBridgeIP2;
|
|
|
unsigned char echoBridgeIP3;
|
|
|
|
|
|
QByteArray dataArray;
|
|
|
|
|
|
QList<TMPacketToRead*> generalCCSDSPacketStore;
|
|
|
|
|
|
QTcpServer *analyserSGSEServerTC;
|
|
|
QTcpServer *analyserSGSEServerTM;
|
|
|
QTcpSocket *socketTC;
|
|
|
QTcpSocket *socketTM;
|
|
|
QTcpSocket *socketEchoServer;
|
|
|
|
|
|
unsigned int totalOfBytes;
|
|
|
unsigned int totalOfPackets;
|
|
|
|
|
|
QXmlSimpleReader xmlReader;
|
|
|
QXmlInputSource *sourceTC;
|
|
|
LFRXmlHandler *xmlHandler;
|
|
|
LFRXmlParser *lfrXmlParser;
|
|
|
|
|
|
QList<QString> socketStates;
|
|
|
|
|
|
char *buffer;
|
|
|
|
|
|
MainWindowUI *UI;
|
|
|
|
|
|
LFRXmlWriter *lfrXmlWriter;
|
|
|
|
|
|
WFPacket *wfPacketNormal[4];
|
|
|
WFPacket *wfPacketBurst;
|
|
|
WFPacket *wfPacketSBM1;
|
|
|
WFPacket *wfPacketSBM2;
|
|
|
WFPacket *wfPacketCWF_F3;
|
|
|
SpectraPacket *spectraPacketNormalSpectrumF0;
|
|
|
|
|
|
bool parsingContinue;
|
|
|
|
|
|
signals:
|
|
|
void socketTMHasChanged(QTcpSocket *socket);
|
|
|
|
|
|
public slots:
|
|
|
void displayOnConsole(QString message);
|
|
|
void listenOnTCTMPorts();
|
|
|
void testTCTMPorts();
|
|
|
void newConnectionOnTCServer();
|
|
|
void newConnectionOnTMServer();
|
|
|
void readDataOnTCPort();
|
|
|
void readDataOnTMPort();
|
|
|
void readDataOnSocketEchoServer();
|
|
|
void openEchoServer();
|
|
|
void socket_TMEcho_ServerHasChanged();
|
|
|
void processIncomingPacket(TMPacketToRead *packet);
|
|
|
void resetStatistics();
|
|
|
void processPacketStore();
|
|
|
};
|
|
|
|
|
|
#endif // MAINWINDOW_H
|
|
|
|