Files
ximeaAirborneSystem/Header_Files/udpserver.h

103 lines
2.1 KiB
C++

#ifndef UDPSERVER_H
#define UDPSERVER_H
#include <iostream>
#include <string.h>
#include <time.h>
#include <ctime>
#include <QCoreApplication>
#include <QUdpSocket>
#include <QObject>
#include <QThread>
#include <QDir>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include "ximeaimager.h"
#include "sbgrecorder.h"
#include "fileoperation.h"
extern "C"
{
// #include <sbgEComLib.h>
#include <stdlib.h>
}
class Record300TcTemperature : public QObject
{
Q_OBJECT
public:
Record300TcTemperature();
void stopRecordTemperature();
private:
bool m_bIsRecord;
QSerialPort * m_serial;
float parseMessage(QByteArray * data);
public slots:
void recordTemperature(QString filePath);
signals:
};
class UdpServer:public QObject
{
Q_OBJECT
public:
UdpServer();
QThread * m_RecordThread;
QThread * m_RecordSbgThread;
QThread * m_CopyFileThread;
private slots:
void processPendingDatagrams();
private:
QUdpSocket * m_udpSocket;
QHostAddress m_clientIpAddress;
quint16 m_clientPort;
XimeaImager * m_imager;
sbgtc::SbgRecorder * m_sbgRecorder;
FileOperation * m_copyFile;
double getTimeDifferenceBetweenSystemAndSbg(double secondSbg);
void sender(int status);
QThread * m_recordTempThread;
Record300TcTemperature * m_300tcTemperature;
signals:
void systemStart();
void systemStop();
void startRecordHyperspectralSignal();
void startCopyFileSignal();
void startDeleteFileSignal();
void recordXimeaOnlySignal(double,QString);
void record300tcTemperatureSignal(QString);
public slots:
void onRecordFinished();
void sendSerialPortStatus(int serialPortStatus);
void sendSbgSolutionModeState(int SolutionMode);
void sendSbgAccuracyState(int Accuracy,int SatelliteCounter);
void sendXimeaImageStatus(int ximeaImageStatus);
void sendXimeaAutoExposeMaxValueOfOneFrame(int autoExposeMaxValueOfOneFrame, double exposeTime);
void sendXimeaBinState(int spatialBin, int spectralBin);
void sendXimeaImageFrameRate(double frameRate);
void sendCopyFileStatus(int fileStatus);
};
#endif // UDPSERVER_H