QCanUniqueIdDescription Class
QCanUniqueIdDescription クラスは、QCanBusFrame 内の一意の識別子にアクセスするためのルールを定義しています。詳細...
| ヘッダー: | #include <QCanUniqueIdDescription> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake: | QT += serialbus |
| 以下のように: | Qt 6.5 |
| ステータス: | テクノロジープレビュー |
このクラスはテクノロジープレビュー段階にあり、変更される可能性があります。
パブリック関数
| QCanUniqueIdDescription() | |
| QCanUniqueIdDescription(const QCanUniqueIdDescription &other) | |
| QCanUniqueIdDescription(QCanUniqueIdDescription &&other) | |
| ~QCanUniqueIdDescription() | |
| quint8 | bitLength() const |
| QSysInfo::Endian | endian() const |
| bool | isValid() const |
| void | setBitLength(quint8 length) |
| void | setEndian(QSysInfo::Endian endian) |
| void | setSource(QtCanBus::DataSource source) |
| void | setStartBit(quint16 bit) |
| QtCanBus::DataSource | source() const |
| quint16 | startBit() const |
| QCanUniqueIdDescription & | operator=(QCanUniqueIdDescription &&other) |
| QCanUniqueIdDescription & | operator=(const QCanUniqueIdDescription &other) |
詳細説明
一意の識別子は、異なる CAN バスフレームを区別し、それらをエンコードまたはデコードするために適切なQCanMessageDescriptionを適用するために使用されます。CAN プロトコルによって、CAN フレームの異なる部分が一意の識別子として使用される場合があります(たとえば、DBC プロトコルでは FrameId 全体が一意の識別子として使用されます)。
このクラスには、CAN フレーム内の固有識別子の位置を柔軟に指定するためのパラメータが含まれています。
- 一意の識別子を抽出するために使用されるフレームの部分(FrameId またはペイロード)。
- フレームの選択された部分に対する、一意の識別子の先頭ビット。ビットのカウントはLSBから開始されます。
- 一意の識別子を表現するために使用されるビット数。
- 値の抽出に使用するエンディアン。
スタートビットの値がデータのエンディアンにどのように依存するかについては、QCanSignalDescription のドキュメントの「Data Endianness Processing 」セクションを参照してください。そこに記載されている手法は、一意のIDの記述にも使用されます。
一意の識別子の実際の値は、QtCanBus::UniqueId 型で表されます。
「QCanMessageDescription」も参照してください 。
メンバ関数のドキュメント
QCanUniqueIdDescription::QCanUniqueIdDescription()
空の固有識別子の説明を作成します。
QCanUniqueIdDescription::QCanUniqueIdDescription(const QCanUniqueIdDescription &other)
other からコピーされた値を使用して、一意の識別子の説明を作成します。
[constexpr noexcept default] QCanUniqueIdDescription::QCanUniqueIdDescription(QCanUniqueIdDescription &&other)
other から移動して、一意の識別子の説明を作成します。
注: 移動元の QCanUniqueIdDescriptionオブジェクトに対しては 、破棄するか、代入を行うことしかできません。デストラクタまたは代入演算子のいずれか以外の関数を呼び出した場合、その挙動は未定義となります。
[constexpr noexcept default] QCanUniqueIdDescription::~QCanUniqueIdDescription()
この一意の識別子の説明を削除します。
quint8 QCanUniqueIdDescription::bitLength() const
一意の識別子のビット長を返します。
setBitLength()、startBit()、およびsetStartBit()も参照してください 。
QSysInfo::Endian QCanUniqueIdDescription::endian() const
一意の識別子のデータエンディアンを返します。
デフォルトでは、LittleEndian が使用されます。
setEndian() およびQSysInfo::Endianも参照してください 。
bool QCanUniqueIdDescription::isValid() const
この一意の識別子の記述が有効な場合はtrue を返し、そうでない場合はfalse を返します。
有効な一意の識別子の記述には、bitLength() が含まれており、その値は 0 より大きく、かつQtCanBus::UniqueId 型のビット数を超えないものでなければなりません。
bitLength()も参照のこと 。
void QCanUniqueIdDescription::setBitLength(quint8 length)
一意の識別子のビット長をlength に設定します。
bitLength()、startBit()、およびsetStartBit()も参照してください 。
void QCanUniqueIdDescription::setEndian(QSysInfo::Endian endian)
一意の識別子のデータエンディアンをendian に設定します。
endian() およびQSysInfo::Endianも参照してください 。
void QCanUniqueIdDescription::setSource(QtCanBus::DataSource source)
一意の識別子のデータソースをsource に設定します。
source() およびQtCanBus::DataSourceも参照してください 。
void QCanUniqueIdDescription::setStartBit(quint16 bit)
source() 内の一意の識別子のスタートビットをbit に設定します。
startBit()、bitLength()、およびsetBitLength()も参照してください 。
QtCanBus::DataSource QCanUniqueIdDescription::source() const
一意の識別子のデータソースを返します。
デフォルトでは、FrameId が使用されます。
setSource() およびQtCanBus::DataSourceも参照してください 。
quint16 QCanUniqueIdDescription::startBit() const
source() 内の一意の識別子の先頭ビットを返します。
setStartBit()、bitLength()、およびsetBitLength()も参照してください 。
[noexcept] QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(QCanUniqueIdDescription &&other)
other の値を、この一意の識別子の説明にムーブ代入します。
注: 移動元のQCanUniqueIdDescription オブジェクトは 、破棄されるか、代入されることしかできません。デストラクタや代入演算子以外の関数を呼び出した場合、その挙動は未定義となります。
QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(const QCanUniqueIdDescription &other)
other の値を、この一意の識別子の説明に割り当てます。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.