/** * Connection Handler for the serial connection to the sfm * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, NLST, 2018-01-29 */ #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: LtsSerialPortQuerry::LtsSerialPortQuerry *m_spQuerry = nullptr; QSerialPort *m_serialPort = nullptr; QTimer *m_receiveTimeoutTimer = nullptr; QByteArray m_currentDataRead; int m_errCnt = 0; LOGGER_T m_logger; }; } // namespace TrainingAreaBaseOC