#pragma once #include #include #include #include #include #include #include #include "AgentInterface.h" #include "AgentMessage.h" #include "CanInterface.h" #include "CanMessage.h" #include "MessageBuilder.h" using namespace Can; class LeahiRtController : public QObject { Q_OBJECT public: explicit LeahiRtController(const QString &configPath, QObject *parent = nullptr); ~LeahiRtController(); void connectToAgent(); private: QSettings _settings; Can::CanInterface _canInterface; QThread _canThread; Can::MessageBuilder _msgBuilder; QMap _messages; AgentInterface _agentInterface; QThread _agentThread; quint16 _txSequence = 0; Q_SIGNALS: void didCanMessageReceive(const QDateTime timestamp, const Can::Message msg); private Q_SLOTS: void onFrameReceive(const QCanBusFrame frame); };