serialui.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef SERIALUI_H
  2. #define SERIALUI_H
  3. #include <QObject>
  4. #include <QMutex>
  5. #include "serialport.h"
  6. class SerialUi : public QObject
  7. {
  8. Q_OBJECT
  9. //Q_PROPERTY(QString portStatus NOTIFY portStatusChange)
  10. public:
  11. explicit SerialUi(QObject *parent = nullptr);
  12. bool serialConnect(QString port,QString baudrate,QString databits,QString parity,QString stopbits);
  13. void serialWrite(QByteArray sendData);
  14. void onlyWrite(QByteArray sendData);
  15. void closeConnect();
  16. QByteArray serialWriteReponse(QByteArray sendData);
  17. public slots:
  18. void receivePortStatus(bool status);
  19. void receiveData(QByteArray data);
  20. void receiveCrcError();
  21. void receiveTimeout();
  22. signals:
  23. void spy();
  24. void receiveRawDataChange(QList<int> data);
  25. void portStatusChange(bool status);
  26. void receiveDataChange(QString data);
  27. void sendConnect(QString port,QString baudrate,QString databits,QString parity,QString stopbits);
  28. void sendWrite(QByteArray sendData);
  29. void sendOnlyWrite(QByteArray sendData);
  30. void sendClose();
  31. void sendInit();
  32. void timeout();
  33. void checkError();
  34. private:
  35. SerialPort *mSerialPort;
  36. QMutex mutex;
  37. };
  38. #endif // SERIALUI_H