【XCP】最小構成のMBD事例 第2章 その162【XCP Basic⑯】

【XCP】最小構成のMBD事例 第2章 その162【XCP Basic⑯】事例
【XCP】最小構成のMBD事例 第2章 その162【XCP Basic⑯】

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

スポンサーリンク

はじめに

前回はXCP BasicにDOWNLOAD、DOWNLOAD_MAXの書き込み系コマンドを発行して見た。
共に正常応答ではあったが、狙い通りに掛けているかはUPLOAD系コマンドを試す時に確認。

というわけで今回は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

スポンサーリンク

次のコマンドは?

太郎くん
太郎くん

DONWLOAD系コマンドの確認が終わったから
次はUPLOAD系だねー。

太郎くん
太郎くん

まずはUPLOADコマンドを試す感じかな?

フクさん
フクさん

いんや。
SHORT_UPLOADを試す。

太郎くん
太郎くん

え?
そうなの?
SHORT_UPLOADがUPLOADコマンドの派生形みたいなイメージ有ったんだけど。

フクさん
フクさん

SHORT_UPLOADならではの挙動があるんで、
それを確認するには先にやった方が分かり易いんだよ。

太郎くん
太郎くん

まぁそこらへんはフクさんに任せた!

スポンサーリンク

SOHRT_UPLOAD

フクさん
フクさん

SHORT_UPLOADはサイズとアドレスを指定して読み出すコマンドだ。
サイズはMAX_CTO-1が最大値今回の場合だと7byteになる。

太郎くん
太郎くん

ということは、まずはアドレス0を指定してサイズは4byteかな。
前回のDOWNLOADで書き込んだサイズが4byteだったから
その時に書き込んだ
0x11, 0x22, 0x33, 0x44
が読み出せればOKってことだよね。

フクさん
フクさん

とうわけで電文はこれになる。
0xF4, 0x04, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00

太郎くん
太郎くん

じゃー、それを送ろう。

send_msg = can.Message(arbitration_id=1, extended_id=0, data=[0xF4, 0x04, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, ])
print('Send msg : %s' % send_msg)
bus.send( send_msg )
recv_msg = bus.recv(timeout=1)
print('Recv msg : %s' % recv_msg)
Send msg : Timestamp:        0.000000   ID: 0001 S DLC: 8 f4 04 00 ff 00 00 00 00
Recv msg : Timestamp: 1635334304.099463 ID: 0002 S DLC: 5 ff 11 22 33 44 Channel: 1

XCP Basicのコンソール画面

-> SHORT_UPLOAD addr=00000000h, addrext=FFh, size=4
<- 0xFF data=11 22 33 44
太郎くん
太郎くん

お!
DOWNLOADコマンドの時に書き込んだ値が読み出せたぞ!

太郎くん
太郎くん

これはDOWNLOAD、SHORT_UPLOADコマンド動作は共にOKってことだね。

フクさん
フクさん

ふむ。
おおよそ順調ってところだな。

スポンサーリンク

まとめ

フクさん
フクさん

まとめだよ。

  • UPLOAD系コマンドの実験開始。
    • UPLOADコマンドが基本形のコマンドでその派生形としてSHORT_UPLOADがあるが、SHORT_UPLOADのとある挙動を確認するためにSHORT_UPLOADから実施。
  • SHORT_UPLOADでDOWNLOADで書き込んだ値が読めた。
    • よって、両コマンド共に動作OKとなる。

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

コメント

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