事例 【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 事例