ArduinoIDEの便利技
M5Stackに手を出してから、ESP-WROOM-02、ESP-WROOM-32、M5Stack、、、と言う風にESP系のコンパイル作業が多くなりました。そこで困るのがボードの切り替えです。。。ボードを切り替えてCOMポートも変更しなければならず不便です。そんな時に使える便利技があったので紹介します。
もくじ(Index)M5Stack関連の目次へ戻る
環境について
検証している環境は下記のものになります。他のOSやArduinoIDEのバージョンによっては動かない場合もあるのでその点はご了承ください。
・Windows10 Pro 64bit (Build 1809)
・ArduinoIDE 1.8.9
【技その1】起動時に設定を変える
複数のボードを切り替えるのが面倒な時に使える技です。
arduino.exeを起動する時に「–preferences-file」オプションを付けると起動時のpreferences.txtを指定することができます。これを利用して、ボードの設定を変えた後のpreferences.txtを別の名前にして保存しておき、arduinoIDEを起動するショートカットを複数作成しておけば、ボードの切り替えが楽になります。
preferences.txtを切り替える手順
①preferences.txtの場所を確認
ArduinoIDEを起動して、環境設定を開きpreferences.txtの場所を確認します。
②ボードやライブラリの設定を行い、終了する。
コンパイルできるようにボードの設定を行い、一旦ArduinoIDEを終了します。
③preference.txtをコピーして名前を変える。
コピーして、設定した状態のボードに対応した名前を付けます。
例、preferences_M5StackFire.txtなど
④持っているボードの分①~③を繰り返す。
私の場合は以下のように5つ作成しました。
- preferences_M5StackGray.txt
- preferences_M5StackFire.txt
- preferences_M5StickC.txt
- preferences_ESP8266.txt
- preferences_ESP32.txt
⑤ショートカットを編集する。
Windowsの場合はショートカットを編集して「リンク先(T):」を書き換えます。私の場合はC:\dev\arduino-1.8.9\arduino.exeでpreferences.txtは\portable\配下にあるので下記のようになります。
●例、preferences_M5StackFire.txtを読み込んで起動する設定
C:\Dev\arduino-1.8.9\arduino.exe --preferences-file C:\Dev\arduino-1.8.9\portable\preferences_M5StackFire.txt
★ショートカットは、コピーしたpreferences.txtの数だけ作成します。
【技その2】同じPCに異なる開発環境を持ちたい時
一度だけあったのですが、ESP8266とM5Stackの開発環境を混在させた時に、M5Stackのコンパイルができないという状況に陥りました。
不具合の切り分けがしたかったので別環境を作成したいと思い調べたところ解決方法がありました。
ArduinoIDEのZIP版をダウンロードして解凍したフォルダの直下に「portable」というフォルダを作成すると解凍したフォルダ毎に設定の異なるArduinoIDE開発環境を持つことが可能になります。
この技はWindowsとLinuxのみの機能だそうですが、Macの場合は下記のドキュメントを参照していくと設定方法が載っています。
How to create and use a portable version of the Arduino Software (IDE)
この技のデメリット
- *.inoファイルと関連付けはどれか1つの環境に対してしかできない。
- ライブラリがアップデートされた場合、個別に適用する必要がある。
Linux版の注意
install.shを実行するのではなく、直接解凍したフォルダにある「./arduino」を実行します。
【技その3】使わないボードを表示しないようにする
Twitterでらびやん氏がつぶやいていた情報です。(Tobozo氏から教えてもらったそうです。)
boards.txtを編集するか、boards.local.txtを自分で作成して、使わないボードのhideプロパティをtrueにすると一覧に表示されなくなります。
この技を使う前は下記の画像のようにたくさんボードが表示されているはずです。これを減らすことが可能です。
注意事項
boards.txtを更新する方法は、ボードのライブラリが新しくなると更新されるのでこちらを直接編集する方法はあまりお勧めしません。
ArduinoIDEのボードライブラリはバージョンアップするとフォルダが変わるようなので、boards.local.txtはバージョンアップごとにコピーする必要があるかもしれません。(今度バージョンアップした時に確かめて記事に反映します。)
boards.txtの場所
AVRやESP32といったボードライブラリ1つにつきboards.txtが1つ存在します。まずはboards.txtを検索してみてください。
①ESP32のboards.txt
スケッチがあるフォルダ配下にあります。(ドキュメントなど)
packages\esp32\hardware\esp32\1.0.2
②AVRのboards.txt
ArduinoIDEをインストールしたフォルダ配下にあります。
\<arduinoIDEインストールフォルダ>\hardware\arduino\avr
一覧の作り方(Excelを使用)
①コピペ
まず、テキストエディタでboards.txtを開きすべてコピーしてExcelに貼り付けます。A列に全部貼り付けられたと思います。
②データ区切りを指定
「データ」→「区切り位置」でダイアログを開いて、「カンマやタブ…」を選択して、区切り文字に「.」(半角のピリオド)を指定します。
③A列以外を削除して並べ替え
A列以外は削除して、A列の並べ替えをします。
④重複の削除
「データ」→「重複の削除」を押すと欲しいボードの一覧ができあがります。(#のコメント行は不要です。)
⑤テキストエディタでboards.local.txtに追加して編集
boards.txtがあった場所にboards.local.txtを作成します。Excelからコピペしてから、編集します。正規表現で置換できると一発で行けますが手順が複雑なので省略します。
★注意★ 使うボードはtrueにしてはいけません。
秀丸エディタだと下記のように正規表現の置換をすればできます。
⑥完了
下記の3つをboards.local.txtから消す(もしくは=falseと設定する)と画像のようになります。
m5stack-core-esp32
m5stack-fire
m5stick-c
参考リンク
●arduino.exeのオプション
更新履歴
2019/7/3 技その3を追加
2019/4/11 新規作成