PySide6.QtSerialBus.QCanBus¶
- class QCanBus¶
The
QCanBus
class handles registration and creation of bus plugins. More…Synopsis¶
Methods¶
def
createDevice()
def
plugins()
Static functions¶
def
instance()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description¶
QCanBus
loads Qt CAN Bus plugins at runtime. The ownership of serial bus plugins is transferred to the loader.- availableDevices()¶
- Return type:
tuple
Returns the available devices for all plugins, i.e. all available CAN interfaces.
In case of failure, the optional parameter
errorMessage
returns a textual error description.The function returns a tuple of (device_list, error_string).
- availableDevices(plugin)
- Parameters:
plugin – str
- Return type:
tuple
Returns the available interfaces for
plugin
. In case of failure, the optional parametererrorMessage
returns a textual error description.Note
Some plugins might not or only partially support this function.
For example, the following call returns a list of all available SocketCAN interfaces (which can be used for
createDevice()
):QString errorString; const QList<QCanBusDeviceInfo> devices = QCanBus::instance()->availableDevices( QStringLiteral("socketcan"), &errorString); if (!errorString.isEmpty()) qDebug() << errorString;
See also
The function returns a tuple of (device_list, error_string).
- createDevice(plugin, interfaceName)¶
- Parameters:
plugin – str
interfaceName – str
- Return type:
tuple
Creates a CAN bus device.
plugin
is the name of the plugin as returned by theplugins()
method.interfaceName
is the CAN bus interface name. In case of failure, the optional parametererrorMessage
returns a textual error description.Ownership of the returned plugin is transferred to the caller. Returns
nullptr
if no suitable device can be found.For example, the following call would connect to the SocketCAN interface vcan0:
QString errorString; QCanBusDevice *device = QCanBus::instance()->createDevice( QStringLiteral("socketcan"), QStringLiteral("vcan0"), &errorString); if (!device) qDebug() << errorString; else device->connectDevice();
Note
The
interfaceName
is plugin-dependent. See the corresponding plugin documentation for more information: CAN Bus Plugins . To get a list of available interfaces,availableDevices()
can be used.See also
The function returns a tuple of (device, error_string).
Returns a pointer to the
QCanBus
class. The object is loaded if necessary.QCanBus
uses the singleton design pattern.- plugins()¶
- Return type:
list of strings
Returns a list of identifiers for all loaded plugins.