【XCP】最小構成のMBD事例 第2章 その182【PyXCP④】

【XCP】最小構成のMBD事例 第2章 その182【PyXCP④】 事例
【XCP】最小構成のMBD事例 第2章 その182【PyXCP④】

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

はじめに

前回はJSON文字列で定義されるコンフィグレーションパラメータについて説明。
これらのパラメータで使用するインターフェースデバイスやトランスポート層の設定可能となる。

コンフィグレーションパラメータがそろったところで実際にPyXCPに対して設定をしていく。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

コンフィグレーションパラメータ(JSON文字列)の作成と読み込み

フクさん
フクさん

さて、コンフィグレーションパラメータが揃ったところで、
実際にPyXCPに設定していく。

太郎くん
太郎くん

具体的なコードの話になるわけだね。

フクさん
フクさん

コードとしては以下になるな。

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"
}"""
CONF_JSON = StringIO(JSON)
CONF_JSON.name = "conf_can_vector.json"
CONFIG = readConfiguration(CONF_JSON)

コード説明

太郎くん
太郎くん

JSON文字列は前回のものと同じで、
それをStringIOに渡してファイルIOにしてるんだっけか。

太郎くん
太郎くん

それをreadConfiguration関数に渡すとPyXCP用のコンフィグレーションが出来るって感じか。

フクさん
フクさん

その通り。

太郎くん
太郎くん

でも、
CONF_JSON.name = “conf_can_vector.json”
ってところは何してるんだろ?

フクさん
フクさん

ファイルIOとした場合のファイル名を設定している。

太郎くん
太郎くん

ファイル名?
もうコンフィグレーションパラメータの文字列は揃ってるから
ファイル名とかは不要な気がするんだけど?

フクさん
フクさん

本来なら不要なんだろうけど、
readConfiguration関数の中でファイルの拡張子がjsonかどうかを判定してるっぽいんだよね。
よって、拡張子がjsonなファイル名っていう体裁を整えておく必要がある。

太郎くん
太郎くん

あー、そういう感じなのね。

コンフィグレーションを元にXCPマスターの生成

フクさん
フクさん

コンフィグレーションが出来たんで、
これを元にXCPマスターを生成する。
コードとしては以下になる。

xm=Master('can',config=CONFIG)
太郎くん
太郎くん

あ、一行で良いんだ。

太郎くん
太郎くん

ってのでさっきJSONから作ったコンフィグレーションを渡してるのか。

フクさん
フクさん

これで生成されたXCPマスタの「xm」と使ってXCPの各種コマンドを投げられるようになる。

太郎くん
太郎くん

ということは次回からは実際にコマンドを送る話になるんだね。

まとめ

フクさん
フクさん

まとめだよ。

  • コンフィグレーションパラメータ(JSON文字列)の作成と読み込みのコードを提示。
    • readConfigurationにStringIOを渡しているが、拡張子がjsonのファイル名を設定しておく必要あり。
  • コンフィグレーションを元にXCPマスターの生成。
    • コンフィグレーションを渡すことでXCPマスターが生成される。

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

コメント

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