問題タブ [canutils]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - CANユーティリティとソケット缶
Ubuntu 15.0 を実行していて、あらゆる種類の (USB) デバイスで can-utils を実行できるように必死に試みていますが、まったく運がありません。
slcan をセットアップして candump または cansniffer を実行すると、少なくとも何かが期待されますが、いや、受信データはまったくありません。
使用しようとしているデバイスは Ebay ケーブルです...
- ブルー VAGCOM 401.9
- ブラック VAG K+CAN
- MPPS 13 (チップチューニング)
MPPS ケーブルを分解したところ、NXP SJA1000T、MCP2551 などの純正ハードウェア (中国のクローンではない) があり、c8051f380 (pdf リンク)というラベルの付いた別のチップもあります。
残念ながら、これらのインターフェースはいずれも CAN データを明らかにしません。can-utils は私にとってまだ新しいツールなので、おそらく (願わくば!) いくつかの重要な手順が抜けているでしょう。
その上に、MCP2551 トランシーバー、MCP2515、および MCP2562FD コントローラーがありますが、自分のインターフェイスを組み立てるためのクリスタルもキャップも持っていません。MCP2551でFTD232RL(sparkfun one)を試してみましたが、OSX Cooltermでデータを取得したことは確かですが、チェーンで制御されていなかったので、あまり面白くありませんでした。これが、MPPS を分解して、自分のセットアップで使用できる 16Mhz クリスタル + キャップが含まれているかどうかを確認した主な理由でした。しかし、このデバイスでどのチップが使用されているかを見たとき、can-utils を動作させる何らかの可能性があるに違いないと思いました。
要約すると... MPPS13ケーブルまたは他の中国製ケーブルをテストした人はいますか? Linuxとカーネルなどはまだ少し進んでいるので、can-utilsとセットアップが必要なこれらすべてのドライバーのまともな/適切なセットアップを実際に見つけることができません。そして、必死になって、私は何かを機能させることを期待して出くわしたほとんどすべての端末コマンドを実行しようとしました(愚かなことは知っていますが、絶望は圧倒的です)。トピックに利用できるページがたくさんあるので、rPIでもこれをすべてテストしたかったのですが...もちろん、私のPIは引退しました。
c - 受信時にタイムアウトを発生させる方法は?
vcan0 インターフェイスから can トラフィックを受信する C プログラムを開発しました。
受信時にタイムアウトを追加したいと思います。つまり、この間にデータを受信せずにタイムアウトが期限切れになった場合 (たとえば 10 秒)、「10 秒間データを受信しませんでした」と出力し、PC を再起動します (再起動します)。特定の条件が満たされた場合に作成されます)。
選択機能でテストしましたが、タイムアウトが発生しましたが、特定の条件が満たされない場合、トラフィックを受信できなくなりました。
タイムアウトして特定の条件が満たされない場合に、受信を再アクティブ化するために何かを追加する必要がありますか? はいの場合、どのように?
私のプログラムは次のようなものです:
linux - imx 上の Linux 2.6: candump を使用して送信された CAN フレームをログに記録できません
imx CPU でカスタム ビルド Linux 2.6 を実行しています。外部ノードとのCAN通信は魅力的に機能しますが、端末で「candump can0」を使用すると、アプリからノードに送信するフレームが出力されません(USB-CANドングルを使用してホストで同じアプリを実行すると)この問題は発生しません)。
拡張 CAN フレームが送信されると、candump を使用して表示されます。
送信されるメッセージがフィルター処理されていると便利な場合があることは理解していますが、選択できるようにする必要があります。
手がかりは大歓迎です。これを引き起こすのは、ドライバーのフィルタリングである可能性があると考えています。
FLexCAN ドライバーには、次の構成ファイルがあります。
アボート
_
_
raspberry-pi3 - ループバックがオフになると、CAN バスは ERROR PASSIVE 状態になります
PiCAN2ボードを最新のJessieを実行しているraspberry piに接続しました。can-utils を使用して、この PiCAN2 を介して PC に CAN メッセージを送信しようとすると (PC は USB to DB9 CAN インターフェイスを介して PiCAN2 ボードに接続されます)、CAN を使用するとすぐに ERROR-PASSIVE 状態になります。インターフェースアップ。しかし、ループバック モードを有効にすると、ラズベリー パイ自体の 2 つの異なるターミナル ウィンドウを使用してメッセージを送受信できます。を使用してループバックモードを有効にしました
sudo /sbin/ip link set can0 type can bitrate 500000 loopback on.
ループバックモードについてもっと教えてもらえますか? PiCAN2 のハードウェア設定が正しいことを確認したいです。ループバックモードを使用してメッセージを送受信できるので、CAN ボードが正しく構成されていることを確認できますか?それとも、必ずしも正しいとは限りませんか?
ERROR PASSIVE モードになった理由も知りたいです。PiCAN2 が正しく設定されていないことを示しているのでしょうか、それとも USB から DB9 CAN へのインターフェイスに問題があることを示しているのでしょうか? 私はこの分野に不慣れで、どんな助けでもいいでしょう。ありがとうございました。