Класс QCanBus
Класс QCanBus обрабатывает регистрацию и создание плагинов шины. Подробнее...
| Заголовок: | #include <QCanBus> |
| qmake: | QT += serialbus |
| С момента: | Qt 5.8 |
| Наследуется от: | QObject |
Открытые функции
| QList<QCanBusDeviceInfo> | availableDevices(const QString &plugin, QString *errorMessage = nullptr) const |
| QCanBusDevice * | createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const |
| QStringList | plugins() const |
Статические открытые члены
| QCanBus * | instance() |
Подробное описание
QCanBus загружает плагины Qt CAN Bus во время выполнения. Владение плагинами шины связи передаётся загрузчику.
Документация по членам-функциям
[since 5.9] QList<QCanBusDeviceInfo> QCanBus::availableDevices(const QString &plugin, QString *errorMessage = nullptr) const
Возвращает доступные интерфейсы для plugin. В случае ошибки, необязательный параметр errorMessage возвращает текстовое описание ошибки.
Примечание: Некоторые плагины могут не поддерживать или частично поддерживать эту функцию.
Например, следующий вызов возвращает список всех доступных интерфейсов SocketCAN (которые можно использовать для createDevice()):
QString errorString;
const QList<QCanBusDeviceInfo> devices = QCanBus::instance()->availableDevices(
QStringLiteral("socketcan"), &errorString);
if (!errorString.isEmpty())
qDebug() << errorString; Эта функция была введена в Qt 5.9.
См. также createDevice().
QCanBusDevice *QCanBus::createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const
Создаёт устройство CAN-шины. plugin — имя плагина, возвращаемое методом plugins(). interfaceName — имя интерфейса CAN-шины. В случае ошибки, необязательный параметр errorMessage возвращает текстовое описание ошибки.
Владение возвращаемым плагином передаётся вызывающей стороне. Возвращает nullptr в случае, если подходящее устройство не найдено.
Например, следующий вызов подключится к интерфейсу SocketCAN vcan0:
QString errorString;
QCanBusDevice *device = QCanBus::instance()->createDevice(
QStringLiteral("socketcan"), QStringLiteral("vcan0"), &errorString);
if (!device)
qDebug() << errorString;
else
device->connectDevice(); Примечание: interfaceName зависит от плагина. См. соответствующую документацию плагина для получения дополнительной информации: Плагины CAN-шины. Для получения списка доступных интерфейсов можно использовать availableDevices().
См. также availableDevices().
[static] QCanBus *QCanBus::instance()
Возвращает указатель на класс QCanBus. Объект загружается при необходимости. QCanBus использует паттерн проектирования синглтон.
QStringList QCanBus::plugins() const
Возвращает список идентификаторов всех загруженных плагинов.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qcanbus.html