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

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

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

はじめに

前回はPyXCPでSYNCHとGET_COMM_MODE_INFOのコマンドを投げた。
SYNCHは想定通りERR_CMD_SYNCHを受け取り、
GET_COMM_MODE_INFOではinterleavedMode、masterBlockModeの有無や関連パラメータとXCP仕様Versionの取得ができた。

今回はメモリアクセス系コマンドである、DOWNLOAD、UPLOADを試す予定。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

メモリアクセス系コマンド

太郎くん
太郎くん

次はお待ちかねのメモリアクセス系コマンドだね。
とりあえず、DOWNLOADからかな?

フクさん
フクさん

まぁ一個ずつ試すのもアリだが、
DOWNLOADが本当に成功したかはUPLOADを試すまでわからないんだよねー。

太郎くん
太郎くん

以前のXCP Basicの実験の時がまさにそんな感じだったね。

フクさん
フクさん

と言うわけで、

UPLOADで0値なのを確認

DOWNLOADで値書き換え

UPLOADで書き替えられた値を確認。

フクさん
フクさん

を一気にやってしまうかと思ってる。

太郎くん
太郎くん

なるほど。
そっちの方が手っ取り早いね。

フクさん
フクさん

使うコマンドとそれに対するメソッドは以下になる。

SET_MTA → setMta
UPLOAD → upload
DOWNLOAD → download

太郎くん
太郎くん

これらもそのまんまだね。

DOWNLOAD、UPLOADによるverify

太郎くん
太郎くん

じゃー、以下のコードでやってしおう。

xm.setMta(0x0000、0xff)
bhv = xm.upload(4)
print(bhv.hex())

bhv = bytearray(bhv)
bhv[0] = 0xAA
bhv[1] = 0x55
xm.setMta(0x0000, 0xff)
xm.download(bhv)

xm.setMta(0x0000, 0xff)
bhv = xm.upload(4)
print(bhv.hex())

結果

00000000  ※ UPLOADの結果

aa550000  ※ DOWNLOAD後のUPLOADの結果
フクさん
フクさん

うん。
ちゃんと書けてるし読めてるね。

太郎くん
太郎くん

今回は一気にSET_MTA、UPLOAD、DOWNLOADが片付いてしまった。

フクさん
フクさん

次からは魔境なDAQになるな。

太郎くん
太郎くん

XCP Basicの時は結構大変だったねー。
PyXCPを使った場合だとどうなるんだろう・・・。

フクさん
フクさん

投げるコマンドの数は変わらないが、まぁメソッドを経由するから分かり易い感じにはなると思うけどねー。

太郎くん
太郎くん

まぁそこらへんは期待かな。

まとめ

フクさん
フクさん

まとめだよ。

  • メモリアクセス系コマンドということでSET_MTA、DOWNLOAD、UPLOADを実施。
  • DOWNLOADの結果がUPLOADするまで分からないということと、一個ずつ試すがめんどいので一気に流した。
  • UPLOAD→DOWNLOAD→UPLOADの流れでverifyすることで読み書きが正常に行われていることが確認できた。

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

コメント

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