#pragma once #include #include #include #include #include #include "logger.h" namespace TrainingAreaBaseOC { class ConnectionHandlerSerial : public QObject { Q_OBJECT public: ConnectionHandlerSerial(); bool init(); bool send(const LtsUtils::SfmMessage &message); bool open(); void close(); bool isOpen() const; signals: void received(const LtsUtils::SfmMessage &message); void disconnectedFromEq(); private slots: void read(); private: NGL::INGLLogger &m_logger; LtsSerialPortQuerry::LtsSerialPortQuerry *m_spQuerry = nullptr; QSerialPort *m_serialPort = nullptr; QTimer *m_receiveTimeoutTimer = nullptr; QByteArray m_currentDataRead; int m_errCnt = 0; }; }