Spec-Zone.ru › Qt

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API