Класс 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 |
- 32 открытых функции унаследованы от QObject
Статические открытые члены
| QCanBus * | instance() |
- 11 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 9 защищенных функций унаследованы от QObject
Подробное описание
Класс QCanBus отвечает за регистрацию и создание плагинов шины.
QCanBus загружает плагины Qt CAN Bus во время выполнения. Владение плагинами шины передачи данных передаётся загрузчику.
Документация по функциям-членам
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-5.9/qcanbus.html