From 70e9337c36a7744517c68d03210c111a248b2fdf Mon Sep 17 00:00:00 2001 From: Gediminas Simanskis Date: Sun, 8 Oct 2023 20:00:03 +0300 Subject: [PATCH] added EN_SILENT_MODE into QCanBusDevice::UserKey --- connections/serialbusconnection.cpp | 6 ++++++ connections/serialbusconnection.h | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/connections/serialbusconnection.cpp b/connections/serialbusconnection.cpp index addaf21e..a8809fd4 100644 --- a/connections/serialbusconnection.cpp +++ b/connections/serialbusconnection.cpp @@ -78,6 +78,8 @@ bool SerialBusConnection::piGetBusSettings(int pBusIdx, CANBus& pBus) void SerialBusConnection::piSetBusSettings(int pBusIdx, CANBus bus) { + quint32 sbusconfig = 0; + //CANConStatus stats; /* sanity checks */ if(0 != pBusIdx) @@ -106,6 +108,10 @@ void SerialBusConnection::piSetBusSettings(int pBusIdx, CANBus bus) mDev_p->setConfigurationParameter(QCanBusDevice::BitRateKey, bus.speed); mDev_p->setConfigurationParameter(QCanBusDevice::CanFdKey, bus.canFD); + if(bus.listenOnly) + sbusconfig |= EN_SILENT_MODE; + mDev_p->setConfigurationParameter(QCanBusDevice::UserKey, sbusconfig); + /* connect device */ if (!mDev_p->connectDevice()) { disconnectDevice(); diff --git a/connections/serialbusconnection.h b/connections/serialbusconnection.h index e430ebd1..f65be43f 100644 --- a/connections/serialbusconnection.h +++ b/connections/serialbusconnection.h @@ -7,6 +7,21 @@ #include #include +/* +QCanBusDevice::UserKey +0x00000001 - enable silent mode +0x00000002 - enable loopback mode +0x00000004 - disable auto retransmissions +0x00000008 - enable terminator +0x00000010 - enable automatic bus off recovery +*/ + +#define EN_SILENT_MODE 0x00000001 +#define EN_LOOPBACK_MODE 0x00000002 +#define DIS_AUTO_RETRANSMISSIONS 0x00000004 +#define EN_TERMINATOR 0x00000008 +#define EN_AUTOMATIC_BUSOFF_RECOVERY 0x00000010 + class SerialBusConnection : public CANConnection { Q_OBJECT