【XCP】最小構成のMBD事例 第2章 その230【CAN-FD⑦】

【XCP】最小構成のMBD事例 第2章 その230【CAN-FD⑦】 事例
【XCP】最小構成のMBD事例 第2章 その230【CAN-FD⑦】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回は指令器のCAN-FD対応について。
バス初期化とメッセージ構築部分だけを修正。
bitrate_switchのパラメータを有効にしないとDataRateに切り替わらないのが注意点となる。

今回から仮想HILS側の修正に入る。
まずはXCPプロトコルを隠蔽しているxcp_canクラスをCAN-FD対応する。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

xcp_canクラスのCAN-FDに関係する部分

太郎くん
太郎くん

そろそろ仮想HILS側の修正に入るのかな?

フクさん
フクさん

そうだね。
まずはXCPプロトコルの部分をCAN-FD対応するところになる。

太郎くん
太郎くん

つまりPyXCPの呼び出し部分を修正ってことになるのだろうけど、
PyXCPのCAN-FD対応ってのは良く分からないな。
Pyhton-canのCAN-FD対応だったら分かるけど・・・。

フクさん
フクさん

確かにそこは悩みどころだね。
Pyhton-canがCAN-FD対応していることは間違いないし、
修正方法もわかるんだけど、
PyXCPとしてどのように修正するかはPyXCPの仕様次第ってことになる。

太郎くん
太郎くん

まぁだいたい当たりはついてるんでしょ?
どこになるの?

フクさん
フクさん

コンフィグレーション用のJSON記述のところだけでたぶんOK。

PyXCPのCAN-FD対応方法

太郎くん
太郎くん

え?
それだけ?

フクさん
フクさん

たぶんそれだけ。

太郎くん
太郎くん

多分ってところが引っかかるなぁ・・・。

フクさん
フクさん

具体的なマニュアルがあるわけじゃないので、
ソースコードから追った結果に過ぎないんで私も確証が持てるレベルでは無いんだよね。
でも、まぁたぶん大丈夫だと思う。

太郎くん
太郎くん

そこは実際に試してみるしかないね。

JSON記述の変更

太郎くん
太郎くん

で、JSON記述をどう修正するの?

フクさん
フクさん

元々はこういう記述だった。

JSON = """{
"TRANSPORT": "CAN",
"CAN_DRIVER": "Vector",
"CAN_USE_DEFAULT_LISTENER": true,
"CHANNEL": "0",
"CAN_ID_MASTER": 2,
"CAN_ID_SLAVE": 1,
"CAN_ID_BROADCAST": 256,
"MAX_DLC_REQUIRED": false,
"CREATE_DAQ_TIMESTAMPS": true,
"SERIAL": 0,
"BITRATE": 500000,
"APP_NAME": "PyXCP-CAN"
}"""
フクさん
フクさん

上記がこれになる。

JSON = """{
"TRANSPORT": "CAN",
"CAN_DRIVER": "Vector",
"CAN_USE_DEFAULT_LISTENER": true,
"CHANNEL": "0",
"CAN_ID_MASTER": 2,
"CAN_ID_SLAVE": 1,
"CAN_ID_BROADCAST": 256,
"MAX_DLC_REQUIRED": false,
"CREATE_DAQ_TIMESTAMPS": true,
"SERIAL": 0,
"BITRATE": 500000,
"FD":true,
"DATA_BITRATE": 2000000,
"APP_NAME": "PyXCP-CANFD"
}"""
太郎くん
太郎くん

“FD”:true,
“DATA_BITRATE”: 2000000,
ってのが増えてるのか。

フクさん
フクさん

イキナリxcp_canクラスを修正するのもアリだが、
一旦JupyterNoteBookで動作確認した方が良いかもねー。

太郎くん
太郎くん

あ、それは僕もそう思った!
大丈夫か分からないまま修正ってのも精神衛生上キツいもんね。

フクさん
フクさん

というわけで、
次回はJupyterNoteBookでJSON記述を変えるだけで動作するか、
さっと確認してしまおう。

まとめ

フクさん
フクさん

まとめだよ。

  • xcp_canクラスのCAN-FDに関係する部分を確認。
    • 要はPyXCPをCAN-FD対応にする部分。
      • コンフィグレーションのJSON記述を修正すればOKっぽい。
      • ソースコードからのリバースエンジニアリングによる調査結果。
  • 本当合ってるか不安なのでJupyterNoteBookで動作確認を先に実施予定。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました