事例 【XCP】最小構成のMBD事例 第2章 その192【PyXCP⑭】 DAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信してみた。 一応動いた。 が、DAQパケットの吸い上げのリアルタイム性が若干悪い。 20~30[ms]程度の遅れがある。 Pythonでやる以上、やむを得ない問題ではあるが、もう少し手が無いか考える必要はありそう。 2021.12.15 事例
事例 【XCP】最小構成のMBD事例 第2章 その191【PyXCP⑬】 PyXCPでDAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信を行う実験。 XCP Basic側は問題なくできることは分かってるのでPyXCP側メインの実験。 一応PyXCP内コード的には大丈夫そう。 実験コードはDAPパケット受信ループ内で0.05秒周期でSET_MTA、DOWNLOAD発行。 2021.12.14 事例
事例 【XCP】最小構成のMBD事例 第2章 その190【PyXCP⑫】 DAQパケットの取得方法の概要説明。 transport層に相当するクラスでdaqQueueが定義されている。 このdaqQueueに自動的にDAQパケットがキューイングされる仕組み。 上記仕組みはJSONコンフィグレーションのCAN_USE_DEFAULT_LISTENER trueでないと使えない点に注意。 2021.12.13 事例
事例 【XCP】最小構成のMBD事例 第2章 その189【PyXCP⑪】 DAQ起動すべく以下のコマンドに相当するメソッドを実行。 SET_DAQ_LIST_MODE。 START_STOP_DAQ_LIST。 START_STOP_SYNCH。 狙い通りDAQ起動はした。 CAN回線上でDAQパケットが流れていることが確認できた。 しかし、PyXCP上でDAQパケットを確認する術が不明。 2021.12.12 事例
事例 【XCP】最小構成のMBD事例 第2章 その188【PyXCP⑩】 ODT_ENTRYをnamedtupleを使ってデータ管理してみた。 今回は一個しかないのでほぼ効能はないが、ODT_ENTRYが増えてきた際には大きな効能が見込めそう。 実際にSET_DAQ_PTR、WRITE_DAQ実施。 問題なく動作。 毎回SET_DAQ_PTRを投げるようなコードになってるが、とりあえずOK。 2021.12.11 事例
事例 【XCP】最小構成のMBD事例 第2章 その187【PyXCP⑨】 WRITE_DAQの前にODT_ENTRYのデータ管理の便利な方法について説明。 namedtupleと使う。 tupleは異なるデータを一組に管理する手法や構造。 namedtupleはtupleの各要素に明示的に名前を付けられるようにしたもの。 管理のし易さを見やすさの両方が得られる。 2021.12.10 事例
事例 【XCP】最小構成のMBD事例 第2章 その186【PyXCP⑧】 DAQ listの構築を一気に実施した。 FREE_DAQ、ALLOC_DAQ、ALLOC_ODT、ALLOC_ODT_ENTRYを一気に実施。 以前XCP BasicでやったDAQ list構築に合わせた構成にしてある。 PyXCPのメソッド単位で隠蔽されていることもあり、かなり楽ちん。 2021.12.09 事例
事例 【XCP】最小構成のMBD事例 第2章 その185【PyXCP⑦】 メモリアクセス系コマンドということでSET_MTA、DOWNLOAD、UPLOADを実施。 DOWNLOADの結果がUPLOADするまで分からないということと、一個ずつ試すがめんどいので一気に流した。 UPLOAD→DOWNLOAD→UPLOADの流れでverifyすることで読み書きが正常に行われていることが確認できた。 2021.12.08 事例
事例 【XCP】最小構成のMBD事例 第2章 その184【PyXCP⑥】 SYNCHコマンドを投げた。 想定通りERR_CMD_SYNCHを受け取れた。 GET_COMM_MODE_INFOコマンドを投げた。 今回使用しないがinterleavedMode、masterBlockModeの有無や関連パラメータが返ってくる。 上記以外に適用しているXCP仕様Versionも取得可能。 2021.12.07 事例
事例 【XCP】最小構成のMBD事例 第2章 その183【PyXCP⑤】 早速PyXCPでCONNECTとGET_STATUSのコマンドを投げて見た。 共に問題無く動作 該当メソッドの戻り値でレスポンスの詳細が取得できる。 かなり見やすい構造になっている。 GET_STATUSはレスポンス内容の性質上、DAQ起動中やCAL_PAGEのROM書き戻し完了待ちなどの確認使用されることが多い。 2021.12.06 事例