added EN_SILENT_MODE into QCanBusDevice::UserKey

This commit is contained in:
Gediminas Simanskis
2023-10-08 20:00:03 +03:00
parent aada0daf55
commit 20348547a2
2 changed files with 21 additions and 0 deletions
+6
View File
@@ -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();
+15
View File
@@ -7,6 +7,21 @@
#include <QCanBusDevice>
#include <QTimer>
/*
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