PeakCAN プラグインの使用
PeakCANプラグインは、PEAK-SystemCANアダプターで動作するための低レベルAPIをカプセル化します。
このプラグインには、PCANデバイスドライバと、WindowsではPCAN-Basicライブラリバージョン4.4.0以上(pcanbasic.dll)、Linuxでは4.0.0以上(libpcanbasic.so)が必要です。macOS ではUV Software の PCBUSB ライブラリが必要で、バージョンは 0.9 以上です。
注意: Qt バージョン 5.14 から 6.4 は PCBUSB ライブラリバージョン 0.8.1 にしか対応していませんが、Qt バージョン 6.5 以降は PCBUSB バージョン 0.9 以降が必要です。
注意: QCanBusDeviceInfo::alias() はWindowsとPCAN-Basic 4.4.0以降でのみサポートされています。
CAN バスデバイスの作成
最初に、QCanBus が目的のプラグインを提供しているか確認する必要があります:
if (QCanBus::instance()->plugins().contains(QStringLiteral("peakcan"))) { // plugin available }
peakcanはプラグイン名です。
次に、特定のインターフェースへの接続を確立します:
QString errorString; QCanBusDevice *device = QCanBus::instance()->createDevice( QStringLiteral("peakcan"), QStringLiteral("usb0"), &errorString); if (!device) { // Error handling goes here qDebug << errorString; } else { device->connectDevice(); }
usb0は、アクティブなCANインターフェース名です。PeakCAN プラグインは、usb0からusb15までの 16 の USB インターフェイスと、pci0からpci15 までの 16 の PCI インターフェイスをサポートしています。availableDevices() メソッドは、現在使用可能なデバイスのリストを返します。
注: 現在このプラグインがサポートしているのは、USBとPCIアダプターのみです。
注 :macOSでは、現在このプラグインがサポートしているのはUSBアダプターのみです。
デバイスは、CANフレームの書き込みと読み出しができるようになりました:
QCanBusFrame frame; frame.setFrameId(8); QByteArray payload("A36E"); frame.setPayload(payload); device->writeFrame(frame);
読み込みは、readFrame() メソッドを使用して行うことができます。framesReceived() シグナルは、少なくとも1つの新しいフレームが読み取り可能になると発信されます:
QCanBusFrame frame = device->readFrame();
PeakCAN では、setConfigurationParameter() を使用して制御できる以下の構成をサポートしています:
設定パラメータキー | 説明 |
---|---|
QCanBusDevice::CanFdKey | この設定オプションは、CAN FD フレームを送信または受信するかどうかを決定します。デフォルトでは、このオプションは無効になっています。このオプションを有効にするには、CAN FD互換のハードウェアが必要です。 |
QCanBusDevice::BitRateKey | CAN バス接続のビットレートを決定します。以下のビットレートに対応しています:5000, 10000, 20000, 33000, 47000, 50000, 83000, 95000, 100000, 125000, 250000, 500000, 800000, 1000000.QCanBusDevice::CanFdKey オプションを有効にすると、ビットレートは125000、250000、500000、1000000に制限される。このコンフィギュレーション・パラメーターは、QCanBusDevice が接続されていないときにのみ調整できることに注意。 |
QCanBusDevice::DataBitRateKey | CAN FDバス接続のデータ・ビット・レートを決定します。このオプションを設定するには、QCanBusDevice::CanFdKey オプションを有効にする必要があります。設定可能なデータビットレートは、2000000、4000000、8000000、または10000000です。この設定パラメータは、QCanBusDevice が接続されていない場合にのみ調整できることに注意してください。 |
PeakCAN は以下の追加機能をサポートしています:
- QCanBusDevice::resetController()
- QCanBusDevice::busStatus()
- QCanBusDeviceInfo::alias() (Windows および PCAN-Basic >= 4.4.0 のみ):PCAN_DEVICE_IDを返します。PCAN_DEVICE_IDは、PCAN-Viewを使用して、0~255、0~4294967295(デバイスによる)のユーザー定義値に設定できます。デフォルト値は255です。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。