diff --git a/tools/CAN/CAN_interface.cpp b/tools/CAN/CAN_interface.cpp index 47f2702..d194da4 100644 --- a/tools/CAN/CAN_interface.cpp +++ b/tools/CAN/CAN_interface.cpp @@ -16,7 +16,10 @@ CAN_Interface::CAN_Interface(QString dev, QObject *parent) m_canDevice->connectDevice(); connect(m_canDevice, &QCanBusDevice::framesReceived, this, [this] { - emit frames_received(); + for (const QCanBusFrame &frame : m_canDevice->readAllFrames()) + { + emit frame_received(frame); + } }); } @@ -30,8 +33,3 @@ void CAN_Interface::send_frame(const QCanBusFrame &frame) { m_canDevice->writeFrame(frame); } - -QCanBusFrame CAN_Interface::read_frame() -{ - return m_canDevice->readFrame(); -} \ No newline at end of file diff --git a/tools/CAN/CAN_interface.hpp b/tools/CAN/CAN_interface.hpp index 3445ae9..3a9b0dc 100644 --- a/tools/CAN/CAN_interface.hpp +++ b/tools/CAN/CAN_interface.hpp @@ -14,9 +14,9 @@ class CAN_Interface : public QObject ~CAN_Interface(); void send_frame(const QCanBusFrame &frame); - QCanBusFrame read_frame(); signals: - void frames_received(); + void frame_received(const QCanBusFrame frame); + private: QCanBusDevice *m_canDevice; };