summaryrefslogtreecommitdiffstats
path: root/src/serialbus/doc/src/systeccan.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialbus/doc/src/systeccan.qdoc')
-rw-r--r--src/serialbus/doc/src/systeccan.qdoc100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/serialbus/doc/src/systeccan.qdoc b/src/serialbus/doc/src/systeccan.qdoc
new file mode 100644
index 0000000..08ecfce
--- /dev/null
+++ b/src/serialbus/doc/src/systeccan.qdoc
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Andre Hartmann <aha_1980@gmx.de>
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/*!
+ \page qtserialbus-SystecCAN-overview.html
+ \title Using SystecCAN Backend
+
+ \brief Overview of how to use the SystecCAN backend.
+
+ The SystecCAN backend encapsulates the low-level API to work with the
+ \l{http://www.systec-electronic.com/}{SYS TEC} CAN adapters.
+
+ \section1 Creating CAN Bus Devices
+
+ At first it is necessary to check that QCanBus provides the desired backend:
+
+ \code
+ if (QCanBus::instance()->plugins().contains(QStringLiteral("systeccan"))) {
+ // backend available
+ }
+ \endcode
+
+ Where \e systeccan is the backend name.
+
+ Next, a connection to a specific interface can be established:
+
+ \code
+ QCanBusDevice *device = QCanBus::instance()->createDevice(
+ QStringLiteral("systeccan"), QStringLiteral("can0.0"));
+ device->connectDevice();
+ \endcode
+
+ Where, \e can0.0 is the active CAN interface name (interface 0, channel 0).
+ The SystecCAN backend supports 64 USB interfaces (so called modules) from
+ \e can0.0 to \e can63.1. Each module can have one or two channels, they can
+ be accessed by the index canX.0 or canX.1.
+
+ \note SYS TEC also provides 8 or 16 channel CAN interfaces. These units
+ consist of an USB hub and multiple two-channel modules internally.
+
+ The device is now open for writing and reading CAN frames:
+
+ \code
+ QCanBusFrame frame;
+ frame.setFrameId(8);
+ QByteArray payload("A36E");
+ frame.setPayload(payload);
+ device->writeFrame(frame);
+ \endcode
+
+ The reading can be done using the \l {QCanBusDevice::}{readFrame()} method.
+ The \l {QCanBusDevice::}{framesReceived()} signal is emitted when at least
+ one new frame is available for reading:
+
+ \code
+ QCanBusFrame frame = device->readFrame();
+ \endcode
+
+ SystecCAN supports the following configurations that can be controlled through
+ \l {QCanBusDevice::}{setConfigurationParameter()}:
+
+ \table
+ \header
+ \li Configuration parameter key
+ \li Description
+ \row
+ \li QCanBusDevice::BitRateKey
+ \li Determines the bit rate of the CAN bus connection. The following bit rates
+ are supported: 10000, 20000, 50000, 100000, 125000, 250000, 500000, 800000,
+ and 1000000. Note that this configuration parameter can only be adjusted
+ while the QCanBusDevice is not connected.
+ \row
+ \li QCanBusDevice::ReceiveOwnKey
+ \li The reception of CAN frames on the same channel that was sending the CAN frame
+ is disabled by default.
+ \endtable
+*/