serialmanager.h 956 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef SERIALMANAGER_H
  2. #define SERIALMANAGER_H
  3. #include <QObject>
  4. #include <QThread>
  5. #include <QSerialPort>
  6. #include <QSerialPortInfo>
  7. class BmcWorker;
  8. class BiosWorker;
  9. class SerialManager : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit SerialManager(QObject *parent = nullptr);
  14. ~SerialManager();
  15. bool init();
  16. void setTestFilePath(const QString &path);
  17. signals:
  18. void signalPowerCycle();
  19. void signalTestFilePath(const QString &path);
  20. void signalNewTemps(const QVector<double>& temps);
  21. public slots:
  22. void startTest();
  23. void onNewTemps(const QVector<double>& temps);
  24. private:
  25. bool initPorts();
  26. bool isBmcPort(QSerialPort *port);
  27. void initThreads();
  28. void initSignal();
  29. private:
  30. QString m_bmcPortName;
  31. QString m_biosPortName;
  32. QThread *m_bmcThread = nullptr;
  33. QThread *m_biosThread = nullptr;
  34. BmcWorker *m_bmcWorker = nullptr;
  35. BiosWorker *m_biosWorker = nullptr;
  36. };
  37. #endif