NDロードスター ミニメーター作成キット⑫アップデートバッチ作成
| 目的 |
チューニング・カスタム |
| 作業 |
DIY |
| 難易度 |
  中級 |
| 作業時間 |
3時間以内 |
1
ミニメーターのプログラムのアップデートはesptool.exe、設定ファイルの更新はArduino IDEにESP32のアップロードプラグインを使用して行っていましたが、複数のESP32を使用しているとCOMポートの確認や設定ファイルのコピー等が必要でちょっと面倒でなので、コマンド一発で更新できるようバッチファイルを作成しました。
2
接続しているCOMポートの取得
Windows10で使えたコマンドがWindows11では使えなくなっていたので、バッチの中でPowershellコマンドを呼び出して取得します。
以下のようなスクリプトで取得できます。
SET "PATH=%PATH%;C:\Windows\System32\WindowsPowerShell\v1.0"
FOR /F "delims=" %%a IN ('powershell -Command "Get-CimInstance Win32_SerialPort | Where-Object { $_.Name -match 'USB|CH340|CP210|ESP32' } | Select-Object -ExpandProperty DeviceID"') do (
SET "ESPPORT=%%a"
)
3
設定ファイルのコピー
2画面化で2つの設定ファイルを使用しているので、バッチの中で設定ファイルを入れ替えるようにします。
設定ファイルはフォルダで分け、バッチの引数で指定したフォルダからdataフォルダにCOPYコマンドを使用してコピーします。
4
dataディレクトリのイメージ化
dataディレクトリをバッチファイルからアップロードできるよう、dataディレクトリをmkspiffsを使用してイメージ化します。
以下のようなスクリプトでイメージ化しています。
mkspiffs.exe -s 0xe0000 -c %MINIMETER_DIR%\data %MINIMETER_DIR%\bin\MAZDA_MiniMeter.spiffs.bin
作成したイメージは以下のコマンドで確認できます。
mkspiffs.exe -l %MINIMETER_DIR%\bin\MAZDA_MiniMeter.spiffs.bin
5
プログラム、dataディレクトリイメージのアップロード
プログラムと一緒にイメージをアップロードするので、アップデートのコマンドにイメージを追加します。
esptool.exe --chip esp32c3 --port %ESPPORT% --baud 1500000 --before default_reset --after hard_reset write_flash -z --flash_mode keep --flash_freq keep --flash_size keep 0x0 MAZDA_MiniMeter.ino.bootloader.bin 0x8000 MAZDA_MiniMeter.ino.partitions.bin 0xe000 boot_app0.bin 0x10000 MAZDA_MiniMeter.ino.bin 0x310000 MAZDA_MiniMeter.spiffs.bin
6
以下のような流れでバッチを作成しました。
①ESP32-C3接続ポート取得
②設定ファイルコピー
③dataディレクトリイメージ化
④プログラムアップデート
作成後に実行してみると、イメージ化のところで「SPIFFS mount failed with error: -10025」のエラーが出ていますが、イメージは作成できていて問題なさそうに見えます。
ミニメーターも正常に動作したので、時間のあるときに原因を調べてみようと思います。
7
コマンド一発でプログラムと設定ファイル更新が同時にできるようになったので更新が楽になりました。
[PR]Yahoo!ショッピング
関連コンテンツ
関連整備ピックアップ
関連リンク