2017-10-27 33 views
1

私は、学校でロボット工学のためのVariance VMU931慣性測定ユニット(IMU)を購入しました。私はUbuntuのラップトップと確実に通信するために苦労しています。私は8n1パリティを使用してそれに接続するためにtermiosとC + +を使用しています。私は考えることができるすべての設定の並べ替えを試みました、そして、私はまだIMUにコマンドを確実に送ることができません。WindowsとLinuxのUSBシリアルの違い

私はVarienseサポートを呼び出して、ソフトウェアを書いたエンジニアに話をしました。彼はそれが既知の問題だと言いました。明らかに、Windowsでは完全に動作します(Windowsのデモソフトウェアはデバイスで正常に機能しました)が、WindowsとLinuxのUSBシリアルエミュレーションの間には大きな違いはないと私たちは認識していません。

このファイルの先頭にコンストラクタは、私が開いてポートを設定しています方法を示しています。

https://github.com/jsford/FFAST/blob/master/VMU931/src/vmu.cpp

すべてのヘルプは素晴らしいことです。私はこの上に私の髪を引き裂いている! ありがとう!

答えて

1

異なるパラメータでテストを実行する場合は、cuユーティリティを使用します。

問題をデバッグするには、Linuxで直接Wiresharkを使用してUSBパケットキャプチャを実行し、VirtualBox/VmWareで動作するWindows VMでも実行します。トラフィックを比較する。

そのUSBデバイス用に選択され、ロードされているカーネルモジュールを確認します。それには/sys/ファイルシステムを使います。この仮想fsは、カーネルから何が使用されているかに関する情報を持っています。また、コマンドの種類は、カーネルモジュールの使用状況を表示します(lsmod)。 USBのドライバの選択は、<usb-manufacturer-id>:<usb-product-id>のようなものに依存します。

printfをカーネルモジュールに入れて、どこに障害があるかを確認します。カーネルモジュールの再構築には、DKMSビルドシステムを使用してください。カーネルモジュールをブラックリストに載せる/ホワイトリストに入れるためにLinuxのどこかに設定ファイルがあります。これは、正しいものがロードされていることを確認するのに便利です。

これは私がUSBシリアルデバイスのドライバを修正するために行っていた作業です。

関連する問題