事例 【XCP】最小構成のMBD事例 第2章 その182【PyXCP④】 コンフィグレーションパラメータ(JSON文字列)の作成と読み込みのコードを提示。readConfigurationにStringIOを渡しているが、拡張子がjsonのファイル名を設定しておく必要あり。コンフィグレーションを元にXCPマスターの生成。コンフィグレーションを渡すことでXCPマスターが生成される。 2021.12.05 事例
事例 【XCP】最小構成のMBD事例 第2章 その181【PyXCP③】 JSON文字列を再度確認。それぞれのパラメータについて一気に説明。使用できるCANインターフェースデバイスは多い。有名どころは網羅されている。トランポート層にSxIを指定できる。SPI、SCI(UART)のことでPyXCPに於いてはCOMポートになる。と言ってもそれほど利用シーンは無い。 2021.12.04 事例
事例 【XCP】最小構成のMBD事例 第2章 その180【PyXCP②】 PyXCPを利用する上で必要なimportを列挙。設定ファイルがJSONファイルを想定しており、Python内の文字列をファイル認識されるためにio.StringIOもimport。StringIOに引き渡すJSONを提示。比較的自明なパラメータが多いが一部分かり難いものもあるので次回説明。 2021.12.03 事例
事例 【XCP】最小構成のMBD事例 第2章 その179【PyXCP①】 Python-CANにXCPの上位プロトコルを載せたPythonLibraryが存在。その名はそのまんまでPyXCP。PyXCPのインストールはpip使えばOK。pip install pyxcp。PyXCPだけだと疎通確認も取れないからXCP BasicによるPCシミュレーション環境はかなり重要。 2021.12.02 事例
事例 【XCP】最小構成のMBD事例 第2章 その178【XCP Basic㉜】 再度DAQパケットを確認。XCPの一連のコマンド含めてCAN回線ログとして取得。DAQパケットだけ抽出し、タイムスタンプを確認。狙い通り10ms周期の送信周期になっていた。ソースコード等はGithubに上げておいた。Python側はJupyterNotebook形式。 2021.12.01 事例
事例 【XCP】最小構成のMBD事例 第2章 その177【XCP Basic㉛】 DAQパケット送信周期精度改善の方針を決めた。 時間精度を引き上げるためマルチメディアタイマを使用。 1ms精度の過去実績あり。 Sleepを挟んだWhileループをマルチメディアタイマによる1msコールバックに変更。 これに伴い10ms周期だけでなく、イベントチャンネル3も1ms保証ができる。 2021.11.30 事例
事例 【XCP】最小構成のMBD事例 第2章 その176【XCP Basic㉚】 DAQパケット送信周期の精度が悪い理由を確認。 イベントチャンネルが15msになってる。 Sleepで10ms周期を作ろうとしているが、実際は15msになってる。 この部分はPC依存な面はある。 上記により小手先の回収ではどうにもならなそう。 一応対策も考えてるので次回確認予定。 2021.11.29 事例
事例 【XCP】最小構成のMBD事例 第2章 その175【XCP Basic㉙】 XCP Basic PCシミュレーションの問題点は送信周期。前回のCAN回線ログのDAQパケットだけを抽出し、それのタイムスタンプと元に現状の送信周期を算出。10[ms]周期で送信されるべきところが15[ms]になっていた。一応、原因は分かってはいるので、そこらへんを次回確認予定。 2021.11.28 事例
事例 【XCP】最小構成のMBD事例 第2章 その174【XCP Basic㉘】 実際にSET_MTAとDOWNLOADを使ってRAM値書き換えを実施。RAM値書き換え前にDAQを起動しておき、RAM値書き換えとDAQパケットの状況をCAN回線モニタして確認。RAM値書き換えに合わせてDAQパケットの計測データが変化。おおよそXCP Basicの挙動はOKだが、まだちょっと問題がある。 2021.11.27 事例
事例 【XCP】最小構成のMBD事例 第2章 その173【XCP Basic㉗】 計測RAM値の変更方法はSET_MTAとDOWNLAOD。SET_MTAとDOWNLOADの電文確認。折角なので連続で投げて見る。ただ、同じ値だと変化が分からない無いのでちょっと書き込みデータを変える。さらにDAQパケット送出前に書き換えてしまう可能性もあるのでsleep関数を挟む。 2021.11.26 事例