smartlightcommthread.h.bak 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef SMARTLIGHTCOMMTHREAD_H
  2. #define SMARTLIGHTCOMMTHREAD_H
  3. #include <QThread>
  4. #include <QHostAddress>
  5. #include <QTcpSocket>
  6. #include <QString>
  7. #include <QDateTime>
  8. #include <QStringList>
  9. #include <QList>
  10. class SmartLightCommThread : public QThread
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit SmartLightCommThread(qintptr socketDescriptor, QObject *parent = nullptr);
  15. ~SmartLightCommThread() override;
  16. void run() override;
  17. void close_self(QTcpSocket *so);
  18. void stop();
  19. void readData(QTcpSocket *so);
  20. bool checkDataFrame(QTcpSocket *so, QByteArray dat);
  21. bool checkDataBody(QTcpSocket *so, QByteArray body);
  22. QByteArray mkDataFrame(QByteArray body);
  23. quint16 chk_crcc(QByteArray buff, int len);
  24. void confirm_report(QTcpSocket *so);
  25. void check_idx();
  26. float get_repValue(int type, QByteArray dat);
  27. QString deviceID();
  28. void mk_EventList_qry(QString deviceId, quint8 type, quint8 cur, quint8 num);
  29. void mk_hisData_qry(QString deviceId, quint16 f_pno, quint16 f_fno, QDateTime t1, QDateTime t2, quint8 sep, quint8 num);
  30. int get_fp_byte(int num);
  31. signals:
  32. void CommData(QString deviceid, int dir, QString data);
  33. void getEAlarm(QString DeviceCode, int erc, int sta, int arg1, int arg2, int arg3, float value, float v2, QString others, QDateTime t);
  34. void getEAnalogValue(QString DeviceCode, int point, float ave, float rtv, QDateTime t, float maxv, QDateTime maxt, float minv, QDateTime mint);
  35. void getERealtimeValue(QString DeviceCode, int point, float rtv, QDateTime t);
  36. void getNewDev(QString DeviceCode);
  37. public slots:
  38. private:
  39. qintptr SocketDescriptor;
  40. bool keepcomm;
  41. bool WaitEcho;
  42. quint16 WaitCount;
  43. qint16 DevType;
  44. int err_count;
  45. QString DeviceID;
  46. int ErrorCount[2];
  47. int WirelessSignal;
  48. int idx;
  49. QList<QByteArray> CmdList;
  50. };
  51. #endif // SMARTLIGHTCOMMTHREAD_H