#ifndef ADMODULE_H #define ADMODULE_H #include #include #include #include #include #include #include #include #include #include #include "commonDefine.h" #include "dataPreprocessing.h" const int mimumDataSize = 5; enum ADWorkMode { emTopLeft = 0, emTopRight }; class ADModule : public QObject, public lp_singleton { Q_OBJECT public: ADModule(QObject *parent = 0); ~ADModule(); bool loadParameters(const QString& path); //void setDataProcessObj(std::shared_ptr 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& hexVecDistance); void sgNewNumData(const QVector>& vec, const QVector& 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& 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 m_vecRawData; matGroup::PTR m_vecFmat; //std::shared_ptr m_pDataProcess; }; #endif // !ADMODULE_H