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.
smokeboxidentification/src/ADModule.h

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