diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-04-08 17:07:50 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-04-08 17:07:50 +0200 |
commit | 1675a0d726e5c07c275c0981cc3deb5ffbcc6afc (patch) | |
tree | 6562b221705fe93308d2f3f6bda00993dbfe025f | |
parent | 4cde1ade4321023ab0ec6f1a136595bba516e0ed (diff) | |
parent | 987091c07bd4aa86296357f3cdad399a5be1c3b5 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-beta1
Change-Id: I2ef61b92b9448a1227620eba9d93de8b3208ca99
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | config.tests/socketcan_fd/main.cpp | 3 | ||||
-rw-r--r-- | examples/serialbus/can/mainwindow.cpp | 2 | ||||
-rw-r--r-- | src/plugins/canbus/socketcan/socketcanbackend.cpp | 24 | ||||
-rw-r--r-- | src/serialbus/qcanbus.cpp | 2 |
5 files changed, 32 insertions, 2 deletions
@@ -9,8 +9,10 @@ config.tests/libmodbus_byteswap/libmodbus_byteswap config.tests/libmodbus_tiocmrts/libmodbus_tiocmrts config.tests/libmodbus_strlcpy/libmodbus_strlcpy config.tests/libmodbus_rs485/libmodbus_rs485 +config.tests/language/language config.tests/socketcan/socketcan config.tests/socketcan_fd/socketcan_fd +examples/serialbus/modbus/adueditor/adueditor examples/serialbus/modbus/master/modbusmaster examples/serialbus/modbus/slave/modbusslave *.moc @@ -34,6 +36,7 @@ tests/auto/qmodbusserver/tst_qmodbusserver *.exe *.ipch *_wrapper.bat +*_wrapper.sh # Visual Studio generated files *.ib_pdb_index diff --git a/config.tests/socketcan_fd/main.cpp b/config.tests/socketcan_fd/main.cpp index d499f4b..966c390 100644 --- a/config.tests/socketcan_fd/main.cpp +++ b/config.tests/socketcan_fd/main.cpp @@ -39,6 +39,9 @@ int main() { canfd_frame frame; + int fd_payload = CANFD_MAX_DLEN; + fd_payload = CAN_RAW_FD_FRAMES; + fd_payload = CANFD_MTU; return 0; } diff --git a/examples/serialbus/can/mainwindow.cpp b/examples/serialbus/can/mainwindow.cpp index 6e155b1..16bf947 100644 --- a/examples/serialbus/can/mainwindow.cpp +++ b/examples/serialbus/can/mainwindow.cpp @@ -91,7 +91,7 @@ void MainWindow::initActionsConnections() connect(m_ui->actionConnect, &QAction::triggered, this, &MainWindow::connectDevice); connect(m_ui->actionDisconnect, &QAction::triggered, this, &MainWindow::disconnectDevice); - connect(m_ui->actionQuit, SIGNAL(triggered()), this, SLOT(close())); + connect(m_ui->actionQuit, &QAction::triggered, this, &QWidget::close); connect(m_ui->actionConfigure, &QAction::triggered, m_settings, &SettingsDialog::show); connect(m_ui->actionAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt); } diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp index 122b546..48a2aaf 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.cpp +++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp @@ -48,6 +48,30 @@ #include <sys/ioctl.h> #include <sys/time.h> +#ifndef CANFD_MTU +// CANFD support was added by Linux kernel 3.6 +// For prior kernels we redefine the missing defines here +// they are taken from linux/can/raw.h & linux/can.h + +enum { + CAN_RAW_FD_FRAMES = 5 +}; + +#define CAN_MAX_DLEN 8 +#define CANFD_MAX_DLEN 64 +struct canfd_frame { + canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */ + __u8 len; /* frame payload length in byte */ + __u8 flags; /* additional flags for CAN FD */ + __u8 __res0; /* reserved / padding */ + __u8 __res1; /* reserved / padding */ + __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); +}; +#define CAN_MTU (sizeof(struct can_frame)) +#define CANFD_MTU (sizeof(struct canfd_frame)) + +#endif + QT_BEGIN_NAMESPACE SocketCanBackend::SocketCanBackend(const QString &name) : diff --git a/src/serialbus/qcanbus.cpp b/src/serialbus/qcanbus.cpp index 6399fd0..bc81408 100644 --- a/src/serialbus/qcanbus.cpp +++ b/src/serialbus/qcanbus.cpp @@ -64,7 +64,7 @@ public: Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, qFactoryLoader, (QCanBusFactory_iid, QLatin1String("/canbus"))) -typedef QHash<QByteArray, QCanBusPrivate> QCanBusPluginStore; +typedef QMap<QByteArray, QCanBusPrivate> QCanBusPluginStore; Q_GLOBAL_STATIC(QCanBusPluginStore, qCanBusPlugins) static QCanBus *globalInstance = Q_NULLPTR; |