問題タブ [j1939]

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.

0 投票する
2 に答える
271 参照

python - pythonでのsocketcan J1939フィルタの使用

Python では、Linux カーネル ドキュメントに記載されているように、J1939 フィルタリングを使用しようとしています: https://www.kernel.org/doc/html/latest/networking/j1939.html

次のコードは、setsockopt() 行 (フィルターのセットアップ) で失敗します。

まず、カーネルのドキュメントには、SOL_CAN_J1939 を最初の引数として使用することが記載されています。ただし、socket パッケージには socket.SOL_CAN_J1939 は存在しません。したがって、この場所のコードを見ると、この int 値が 107 であることを理解できました: http://socket-can.996257.n3.nabble.com/RFC-v3-0-6-CAN-add-SAE -J1939-プロトコル-td7571.html

setsockopt() の 3 番目の引数については、j1939_filter 構造 (前のリンクのコードで説明されているように 26 バイト) に一致するようにフィルターをパックしました。これは、raw CAN の can.interfaces.socketcan.utils で行われていることと似ています。

setsockopt() が失敗する原因は何ですか?

0 投票する
1 に答える
308 参照

python - J1939 DBC - asammdf でデコードする MF4 を作成します。

CSSエレクトロニクスと同じ方法で、「J1939.dbc」によってデコードされるMF4ファイルを作成しようとしています

サンプル ファイルを生成するコードは次のようになります。

写真上:

1) 生成されるファイルはこれ

2) CAN ロギングが無効になっています - CSS エレクトロニクスのファイルを使用すると、「CAN ロギング」が有効になります。

ここに画像の説明を入力

ただし、手動でデコードを生成しようとすると、空のファイルが返されます

おそらく、ID と DataByte 列をデコードに指定する必要がありますが、いろいろ試しましたがうまくいきません。

私は何ができますか ?