From bd72cda97e08b2a432e8321a0d8427c5bb858fe0 Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Sat, 9 Nov 2024 12:37:46 +0100 Subject: [PATCH] Change can interface Now emits can frames via signal --- tools/CAN/CAN_interface.cpp | 10 ++++------ tools/CAN/CAN_interface.hpp | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) 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; };