ひとりアドベントカレンダー2日目
2日目に思いついたので1日目は気が向いたら追加する。
Arduino IDEで開発していたものをPlatformIOに移行したので備忘として
元の環境
- Windows 10 21H1
- Arduino 1.8.9
- 開発対象: M5Stack Basic
移行先環境
- Xubuntu 20.04
- VSCode 1.62.3
- PlatformIO IDE 拡張 v2.4.8
移行手順
- githubからclone
- PlatformIOでプロジェクト作成
- srcディレクトリ以下にソースをコピー
- M5Stackのライブラリの導入
- その他依存しているライブラリの導入
- 拡張子inoのファイルの修正
- gitの管理に追加
githubからclone
ソースはgithubに置いていたのでひとまずcloneしてきます。
そして一旦ディレクトリ名を変更しておく
git clone ~~~/Ambient_M5stack.git
mv Ambient_M5stack temp
PlatformIOでプロジェクト作成
PlatformIOで、New projectで作成していきます。
その際プロジェクト名をリポジトリ名と同一の名前、Ambient_M5stackで作成しました。
BoardはM5Stack Core ESP32を、FrameworkはArduinoを指定しました。
srcディレクトリ以下にソースをコピー
先ほどcloneしてリネームしておいたディレクトリからソースをsrc以下にコピーしてきます。
その際gitに移動したと認識されるようにします。
mv temp/* Ambient_M5stack/
cd Ambient_M5stack
git mv Ambient_M5stack.ino src/
M5Stackのライブラリの導入
プロジェクト作成時にM5Stackを指定していたので、入っているかと思いましたが無いようだったので追加しておきます。
Librariesから検索文字列、M5Stackを入力してM5Stack by M5Stackを見つけ、クリックしてAdd to ProjectでプロジェクトAmbient_M5stackに追加しました。
その他依存しているライブラリの導入
ついでにそれ以外の依存ライブラリもここで追加しておきます。
今回はAmbient ESP8266 ESP32、検索文字列はAmbient ESPで。
トップには出てこないが見つけて同様にAdd to Projectで追加します。
拡張子inoのファイルの修正
拡張子inoのファイルを開くと警告メッセージが出るので修正しておきます。
具体的には以下の変更を行った。
- ファイルの先頭付近に
#include <Arduino.h>
の行の追加 - 関数プロトタイプの追加
- 拡張子をcppへ変更
関数プロトタイプは以下のような行で、実際に関数を呼んでいるsetup関数やloop関数より上、通常はincludeのすぐ下辺りに記述します。
float measure();
gitの管理に追加
一通り完了したのでgitの管理下に追加します。
cd Ambient_M5stack
git add *
git commit -m 'refactor : env change to PlatformIO'
PlatformIOが.gitignoreも作ってくれているので、.vscode以下等は必要そうなもの以外は追加されませんでした。
ビルド確認&書き込み確認
PlatformIOの下の方に並んでいるショートカットアイコン?のチェックマークでビルド
右矢印(→)で書き込み
無事動作しました。