Документация
ОС Аврора 5.2.0

Класс UsbSerial

(Aurora::Devices::UsbSerial)

Подключённое USB-устройство. Подробнее...

Подключение: #include <usbserial.hpp>

Класс UsbSerial предоставляет программный интерфейс для работы с последовательными USB-устройствами (например, адаптерами, преобразователями интерфейсов, промышленным оборудованием) в ОС Аврора.

Он позволяет получать информацию о подключённом устройстве и открывать файловый дескриптор для обмена данными по последовательному протоколу.

Свойства

Публичные функции

Подробное описание

Подключённое USB-устройство.

Позволяет взаимодействовать с последовательным USB-устройством. Параметры устройства наследуются от родительского USB-устройства.

Класс UsbSerial является частью пространства имён Aurora::Devices и библиотеки libdevicewarden. Он инкапсулирует доступ к последовательному USB-устройству через системную D-Bus-шину и сервис ru.auroraos.DeviceWarden1.

Описание свойств

deviceClass : const QString

Содержит класс устройства в соответствии со спецификацией USB-IF.

Функции доступа:

QString deviceClass() const

Класс устройства определяет тип функции, которую выполняет USB-устройство. Значение представляется в виде строки.

manufacturer : const QString

Содержит имя производителя устройства.

Функции доступа:

QString manufacturer() const

Строка производителя наследуется от родительского USB-устройства и может быть пустой, если производитель не указал это поле в дескрипторе.

product : const QString

Содержит название модели устройства.

Функции доступа:

QString product() const

Название модели также наследуется от родительского USB-устройства и служит для идентификации конкретного продукта.

productId : const QString

Содержит уникальный 16-битный код модели устройства.

Функции доступа:

QString productId() const

Код продукта (PID) представляет собой шестнадцатеричное значение, присвоенное производителем. В паре с vendorId он однозначно идентифицирует модель устройства.

productVersion : const QString

Содержит версию модели устройства.

Функции доступа:

QString productVersion() const

Версия модели обычно представляется в формате BCD (двоично-десятичный код) и позволяет различать ревизии одного и того же продукта.

serial : const QString

Содержит серийный номер устройства.

Функции доступа:

QString serial() const

Серийный номер может отсутствовать, если производитель не предусмотрел его в устройстве. При наличии он позволяет различать несколько одинаковых устройств, подключённых одновременно.

sysPath : const QString

Содержит путь к устройству.

Функции доступа:

QString sysPath() const

Путь указывает на физическое расположение устройства в дереве устройств операционной системы (например, /sys/bus/usb/devices/1-1). Может использоваться для отладки или однозначной идентификации порта.

vendorId : const QString

Содержит уникальный 16-битный код производителя устройства.

Функции доступа:

QString vendorId() const

Идентификатор производителя (VID) назначается организацией USB-IF. Вместе с productId образует пару, по которой операционная система и приложения определяют тип устройства.

Описание функций-членов

UsbSerial::UsbSerial(const QString &objectPath, const QVariantMap &properties, QObject *parent = nullptr)

Создаёт экземпляр UsbSerial с параметрами по умолчанию.

Параметр objectPath задаёт путь к объекту D-Bus, представляющему последовательное USB-устройство. Параметр properties содержит карту свойств, полученных от D-Bus-интерфейса UsbSerialDevice.

Обычно эти значения предоставляются менеджером устройств (Aurora::Devices::Manager) при обнаружении нового устройства.

[default] UsbSerial::~UsbSerial()

Уничтожает экземпляр UsbSerial.

При уничтожении объекта освобождаются связанные ресурсы. Если файловый дескриптор был получен с помощью fileDescriptor(), его необходимо закрыть отдельно до уничтожения объекта, чтобы избежать утечки.

int UsbSerial::fileDescriptor()

Возвращает файловый дескриптор узла устройства. С дескриптором можно работать как с обычным последовательным устройством.

Файловый дескриптор представляет собой целое число, которое может быть использовано в системных вызовах read(), write(), ioctl() и других функциях для обмена данными с устройством. После завершения работы дескриптор должен быть закрыт стандартным способом (close()).

Примечание. Устройство недоступно без добавления в белый список. Белый список может быть глобальным, пользовательским или привязанным к конкретному приложению.

Если белый список пуст, доступ предоставляется всем приложениям и пользователям. Если в белом списке есть записи, доступ разрешается только устройствам, соответствующим хотя бы одному правилу (правила применяются через логическое ИЛИ).

Устройство будет доступно, если оно включено в глобальный белый список, в белый список пользователя, под которым запущено приложение, или в белый список самого приложения.

Управление белым списком осуществляется через интерфейс SerialManager. Без соответствующей записи в белом списке вызов fileDescriptor() не сможет открыть устройство.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования файлов cookies.