次の会社からUSB / CANアダプタを購入しましたlsusb
。
OpenMoko, Inc. Geschwister CANアダプタ
以下はソケットインターフェースを提供しますip addr
。
5: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP group default qlen 10 link/can
バスには、常にデータを転送する他のデバイスがあります。コンピュータを再起動すると、次のエラーが発生するため、データを送受信できなくなります。
使用可能なバッファー・スペースがありません。
私はデバイスがPCから「接続が切断されたとき」(再起動中ですが、まだ電源が供給されているため)内部バッファがいっぱいになったと思います。
バッファをクリアするコマンドを発行できますか?
答え1
私はpython-canライブラリが解決策を提供すると信じています。
https://buildmedia.readthedocs.org/media/pdf/python-can/develop/python-can.pdf
python-canライブラリは、Pythonのコントローラ領域ネットワークのサポート、さまざまなハードウェアデバイスの共通の抽象化、CANバス上でメッセージを送受信するための一連のユーティリティを提供します。
提供される機能の1つflush_tx_buffer()
フラッシュ_tx_バッファ()
出力バッファーにキューに入れることができるすべてのメッセージを削除します。
ライブラリはgithubリポジトリを含むさまざまな場所からダウンロードできます。https://github.com/hardbyte/python-can