From c699e54548dcae263ac4171f8b8cb72bc69e9124 Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Mon, 23 Nov 2015 19:05:11 -0500 Subject: [PATCH] Some progress toward supporting socketcan connections --- SavvyCAN.pro | 2 +- connectionwindow.cpp | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/SavvyCAN.pro b/SavvyCAN.pro index f90fe66..d2a0dde 100644 --- a/SavvyCAN.pro +++ b/SavvyCAN.pro @@ -6,7 +6,7 @@ QT += core gui -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets serialport printsupport +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets serialport printsupport network CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT diff --git a/connectionwindow.cpp b/connectionwindow.cpp index dbcca98..5c5db26 100644 --- a/connectionwindow.cpp +++ b/connectionwindow.cpp @@ -1,5 +1,6 @@ #include "connectionwindow.h" #include "ui_connectionwindow.h" +#include ConnectionWindow::ConnectionWindow(QWidget *parent) : QDialog(parent), @@ -7,7 +8,8 @@ ConnectionWindow::ConnectionWindow(QWidget *parent) : { ui->setupUi(this); - getSerialPorts(); + //getSerialPorts(); + getSocketcanPorts(); ui->cbSpeed0->addItem(tr("")); ui->cbSpeed0->addItem(tr("Disabled")); @@ -25,6 +27,14 @@ ConnectionWindow::ConnectionWindow(QWidget *parent) : ui->cbSpeed1->addItem(tr("1000000")); ui->cbSpeed1->addItem(tr("33333")); +#ifdef Q_OS_LINUX + ui->rbSocketCAN->setEnabled(true); +#endif + +#ifdef Q_OS_WIN + ui->rbKvaser->setEnabled(true); +#endif + connect(ui->btnOK, SIGNAL(clicked(bool)), this, SLOT(handleOKButton())); } @@ -73,7 +83,20 @@ void ConnectionWindow::getKvaserPorts() void ConnectionWindow::getSocketcanPorts() { + QList interfaces = QNetworkInterface::allInterfaces(); + QString interfaceName; + ui->cbPort->clear(); + + foreach (QNetworkInterface interface, interfaces) + { + interfaceName = interface.name().toLower(); + qDebug() << "Interface: " << interface.name(); + if (interfaceName.contains("can")) + { + ui->cbPort->addItem(interfaceName); + } + } } void ConnectionWindow::setSpeeds(int speed0, int speed1)