バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は メモリアクセス系としてSET_MTA、UPLOAD、DOWNLOADを実施。
問題無く動作しているのは確認。
今回はXCP魔境のDAQ系に突入。
特に目的のSTIM用のDAQ listも追加していくことになる。
(「STIM用」として確定するのはまだあと。)
登場人物
博識フクロウのフクさん

イラスト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
AUTOSAR-XCPのDAQ設定系コマンドの動作確認

次はDAQ設定関連になるね。

これも一気にやっちゃう感じ?

まぁ一気にやるんだけど、
一点違いがあって、
STIM用のDAQ listを追加してあげる必要がある。

そうか。
STIMもDAQ listが必要なのか。

というわけで、以前はDAQ list1個でやってきたが、
今回は
DAQ用に1個
STIM用に1個
の合計2個を用意することになる。
DAQ設定系コマンド

というわけで一気にDAQ設定。
# DAQリストの構築
xm.freeDaq();
xm.allocDaq(2);
xm.allocOdt(0, 1); # DAQ用
xm.allocOdt(1, 1); # STIM用
xm.allocOdtEntry(0, 0, 1); # DAQ用
xm.allocOdtEntry(1, 0, 1); # STIM用

そしてCAN回線ログ。
# FREE_DAQ
0.314081 1 1 Rx d 1 D6
0.314475 1 2 Rx d 1 FF
# ALLOC_DAQ
0.344465 1 1 Rx d 4 D5 00 02 00
0.345383 1 2 Rx d 1 FF
# ALLOC_ODT
0.383951 1 1 Rx d 5 D4 00 00 00 01
0.385327 1 2 Rx d 1 FF
0.393552 1 1 Rx d 5 D4 00 01 00 01
0.394265 1 2 Rx d 1 FF
# ALLOC_ODT_ENTRY
0.432202 1 1 Rx d 6 D3 00 00 00 00 01
0.433177 1 2 Rx d 1 FF
0.449774 1 1 Rx d 6 D3 00 01 00 00 01
0.452092 1 2 Rx d 1 FF
ODT_ENTRYへの書き込み

そのままODT_ENTRYへの書き込みを済ませてしまおう。
DaqEntry = namedtuple("DaqEntry", "daq odt entry bitoff size ext addr")
de0 = (
DaqEntry(daq=0, odt=0, entry=0, bitoff=255, size=4, ext=0xff, addr=0x00000004),
DaqEntry(daq=1, odt=0, entry=0, bitoff=255, size=4, ext=0xff, addr=0x00000004),
)
for daq, odt, entry, bitoff, size, ext, addr in de0:
xm.setDaqPtr(daq, odt, entry)
xm.writeDaq(bitoff, size, ext, addr)

そういえば、
DAQ listを管理し易いようにnamedtupleでODT_ENTRYを管理してたね。
以前やっておいて良かった。

ODT_ENTRYもCAN回線ログを確認しておこう。
# SET_DAQ_PTR
0.503521 1 1 Rx d 6 E2 00 00 00 00 00
0.505135 1 2 Rx d 1 FF
# WRITE_DAQ
0.513401 1 1 Rx d 8 E1 FF 04 FF 04 00 00 00
0.516555 1 2 Rx d 1 FF
# SET_DAQ_PTR
0.529457 1 1 Rx d 6 E2 00 01 00 00 00
0.530956 1 2 Rx d 1 FF
# WRITE_DAQ
0.544367 1 1 Rx d 8 E1 FF 04 FF 04 00 00 00
0.547209 1 2 Rx d 1 FF

うん。
これも問題ないだろう。

ここでエラーが出てないってことはSTIMがOKってことになるのかな?

いや、まだDAQ listを構築しただけで、
これがDAQで使われるか、STIMで使われるかは指定してないので、
まだSTIMがOKかはわからない。
って状態。

そっか。
確かSET_DAQ_LIST_MODEってのでDAQ listの性格を決定させるのがあったから
そこでやるのか

そうそう。
その通り。
まとめ

まとめだよ。
- AUTOSAR-XCPのDAQ設定系コマンドの動作確認。
- FREE_DAQ、ALLOC_DAQ、ALLOC_ODT、ALLOC_ODT_ENTRYを一気に確認。
- ODT_ENTRYへの書き込み実施。
- SET_DAQ_PTR、WRITE_DAQを確認。
- この段階のDAQ listはDAQかSTIMかの利用方法の指定はしていない。
バックナンバーはこちら。
コメント