Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/connection_handler_serial.h
T

49 lines
867 B
C++
Executable File

#pragma once
#include <QObject>
#include <QTimer>
#include <QtSerialPort/QSerialPort>
#include <LtsSerialPortQuerry/lts_serial_port_querry.h>
#include <LtsUtils/LtsUtilsCore/sfm_bytemessage_converter.h>
#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;
};
}