Spec-Zone.ru › Qt

Структура фильтра

структура QCanBusDevice::Filter

Структура QCanBusDevice::Filter определяет фильтр для кадров CAN-шины. Подробнее...

Эта структура была добавлена в Qt 5.8.

  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление FormatFilter { MatchBaseFormat, MatchExtendedFormat, MatchBaseAndExtendedFormat }
флаги FormatFilters

Публичные переменные

QCanBusDevice::Filter::FormatFilter format
QCanBusFrame::FrameId frameId
QCanBusFrame::FrameId frameIdMask
QCanBusFrame::FrameType type

Связанные нечлены

bool operator!=(const Filter &a, const Filter &b)
bool operator==(const Filter &a, const Filter &b)

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

Список экземпляров QCanBusDevice::Filter передается в QCanBusDevice::setConfigurationParameter() для включения фильтрации. Если полученный кадр CAN соответствует хотя бы одному из фильтров в списке, QCanBusDevice его примет.

Пример использования структуры:

QCanBusDevice::Filter filter;
QList<QCanBusDevice::Filter> filterList;

// filter all CAN bus packages with id 0x444 (base) or 0xXXXXX444 (extended)
filter.frameId = 0x444u;
filter.frameIdMask = 0x7FFu;
filter.format = QCanBusDevice::Filter::MatchBaseAndExtendedFormat;
filter.type = QCanBusFrame::InvalidFrame;
filterList.append(filter);

// filter all DataFrames with extended CAN bus package format
filter.frameId = 0x0;
filter.frameIdMask = 0x0;
filter.format = QCanBusDevice::Filter::MatchExtendedFormat;
filter.type = QCanBusFrame::DataFrame;
filterList.append(filter);

// apply filter
device->setConfigurationParameter(QCanBusDevice::RawFilterKey, QVariant::fromValue(filterList));

Документация по типам членов

перечисление Filter::FormatFilterфлаги Filter::FormatFilters

Это перечисление описывает шаблон формата, используемый для фильтрации входящих кадров CAN-шины.

Константа Значение Описание
QCanBusDevice::Filter::MatchBaseFormat 0x0001 Кадр CAN-шины должен использовать базовый формат кадра (11-битовый идентификатор).
QCanBusDevice::Filter::MatchExtendedFormat 0x0002 Кадр CAN-шины должен использовать расширенный формат кадра (29-битовый идентификатор).
QCanBusDevice::Filter::MatchBaseAndExtendedFormat 0x0003 Кадр CAN-шины может иметь базовый или расширенный формат кадра.

Тип FormatFilters является псевдонимом для QFlags<FormatFilter>. Он хранит результат побитового ИЛИ комбинации значений FormatFilter.

Документация по переменным-членам

QCanBusDevice::Filter::FormatFilter Filter::format

Эта переменная хранит формат кадра соответствующего кадра CAN-шины.

По умолчанию это поле установлено в QCanBusDevice::Filter::MatchBaseAndExtendedFormat.

QCanBusFrame::FrameId Filter::frameId

Эта переменная хранит идентификатор кадра, используемый для фильтрации входящих кадров.

frameId используется совместно с frameIdMask. Совпадение происходит, если следующее выражение равно true:

(receivedFrameId & frameIdMask) == (frameId & frameIdMask)

По умолчанию это поле установлено в 0x0.

См. также frameIdMask.

QCanBusFrame::FrameId Filter::frameIdMask

Эта переменная хранит битовую маску, которая применяется к идентификатору кадра фильтра и полученного кадра.

Два идентификатора кадров совпадают, если следующее выражение равно true:

(receivedFrameId & frameIdMask) == (frameId & frameIdMask)

По умолчанию это поле установлено в 0x0.

См. также frameId.

QCanBusFrame::FrameType Filter::type

Эта переменная хранит тип кадра для фильтрации.

Любой тип кадра CAN-шины может быть сопоставлен, установив эту переменную в QCanBusFrame::InvalidFrame. Объект фильтра недействителен, если тип равен QCanBusFrame::UnknownFrame.

По умолчанию это поле установлено в QCanBusFrame::InvalidFrame.

См. также QCanBusFrame::FrameType.

Связанные нечлены

bool operator!=(const Filter &a, const Filter &b)

Возвращает true, если фильтр a не равен фильтру b, в противном случае возвращает false.

bool operator==(const Filter &a, const Filter &b)

Возвращает true, если фильтр a равен фильтру b, в противном случае возвращает false.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qcanbusdevice-filter.html

Spec-Zone.ru

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