You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
#ifndef ADMODULE_H
|
|
#define ADMODULE_H
|
|
|
|
#include <QUdpSocket>
|
|
#include <QJsonDocument>
|
|
#include <QJsonArray>
|
|
#include <QJsonObject>
|
|
#include <QJsonParseError>
|
|
#include <QJsonValue>
|
|
#include <QFile>
|
|
#include <QMutex>
|
|
#include <QThread>
|
|
#include <QDateTime>
|
|
|
|
#include "commonDefine.h"
|
|
#include "dataPreprocessing.h"
|
|
const int mimumDataSize = 5;
|
|
|
|
enum ADWorkMode
|
|
{
|
|
emTopLeft = 0,
|
|
emTopRight
|
|
};
|
|
|
|
class ADModule : public QObject, public lp_singleton<ADModule>
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ADModule(QObject *parent = 0);
|
|
~ADModule();
|
|
|
|
bool loadParameters(const QString& path);
|
|
//void setDataProcessObj(std::shared_ptr<dataPreProcessing> dp_ptr)
|
|
//{
|
|
// m_pDataProcess = dp_ptr;
|
|
//}
|
|
Q_SLOT void onDataRequestStart(int sideId);
|
|
Q_SLOT void onDataRequestStop();
|
|
//Q_SLOT void onSendData2Algo();
|
|
//Q_SLOT void onSaveData2File(QString dataPath);
|
|
signals:
|
|
void sgReceiveData(int sideId, const QVector<double>& hexVecDistance);
|
|
void sgNewNumData(const QVector<QVector<double>>& vec, const QVector<QString>& strVec, int side);
|
|
private:
|
|
void setMode(int workMode);
|
|
uint decode(const QByteArray &dataGram, uint index);
|
|
Q_SLOT void onReadDatagrams();
|
|
Q_SLOT void onThreadInit();
|
|
Q_SLOT void onReceiveData(int stationId, const QVector<double>& hexVecDistance);
|
|
|
|
QUdpSocket* m_pUdpSocket;
|
|
QMutex m_mutex;
|
|
QThread* m_pThread;
|
|
|
|
ADWorkMode m_workMode;
|
|
QString m_ip;
|
|
quint16 m_port;
|
|
int m_startIndex{ 0 };
|
|
int m_endIndex{ 0 };
|
|
QVector<QString> m_vecRawData;
|
|
matGroup::PTR m_vecFmat;
|
|
//std::shared_ptr<dataPreProcessing> m_pDataProcess;
|
|
|
|
};
|
|
#endif // !ADMODULE_H
|