2022/8/17+
初版
ウィンドコントローラ(NuEVI/NuRAD)のソースコードが公開されているので
ビルドしてみた。実機がないので動作確認できないがビルドしてhexを作ることができた。
オリジナルは開発ツールとしてArduino-IDEの使用を想定しているが、platformioを使用した。
ここでは、platformioを使用したビルド方法について説明する。
いうまでもないが、ここでビルドした結果(hex)の動作は保証しない。
参照:
NuRAD Wind Controler
NuEVI Electric Valve Instrument
NuRAD (EWI/Sax etc. fingering instrument)
以下を実行する:
python3 -m venv pio_env
source pio_env/bin/activate
pip install platformio
# インストール後も、このツールを使用する場合
# 同じディレクトリで以下を実行する:
source pio_env/bin/activate
# 「source」は、「.」でも良い
# 以下を実行して、udevのrulesを登録する:
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
sudo udevadm control --reload-rules
sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER
cd ~/Documents
git clone https://github.com/Trasselfrisyr/NuEVI
# プロジェクトのディレクトリを作る
mkdir NuEVI
cd NuEVI
# 使うボードに対応したplatformio.iniを作る
# (内容は以降に出てくるplatform.iniをそのままコピーする)
gedit platformio.ini
# ソースをコピーする
cp -r ~/Documents/NuEVI/NuEVI .
mv NuEVI src
[env:teensy31]
platform = teensy
board = teensy31
framework = arduino
build_flags =
-DUSB_MIDI
;-DNURAD
monitor_speed = 115200
lib_ldf_mode = deep+
upload_protocol = teensy-cli
;upload_protocol = teensy-gui
lib_deps =
adafruit/Adafruit SSD1306@^2.5.7
https://github.com/adafruit/Adafruit_MPR121.git
https://github.com/joshnishikawa/MIDIcontroller.git
NuRAD向けにビルドする場合、「build_flags =」の「-DNURAD」を有効(;を外す)にする。
# platformioの環境に入る(source pio_env/bin/activate)
# スケッチをビルドする
# (最初の1回はライブラリ・ツールを自動的にダウンロードする)
pio run
# 以下にhexファイルが作成される
ls .pio/build/teensy31/firmware.elf
.pio/build/teensy31/firmware.elf
その他の使い方
# ボードをUSB接続して書き込む
pio run -t upload
# build結果をクリアする
pio run -t clean
# キャッシュをクリアする
# (ツールやライブラリがダウンロードし直しになるので注意のこと)
sudo rm -r .pio
NuEVI/NuRAD関連:
NuRAD Wind Controler
NuEVI Electric Valve Instrument
NuRAD (EWI/Sax etc. fingering instrument)
DIY EVI-Style Windcontroller
platformio関連:
arduinoフレームワーク用platformio.ini集
Arduino-IDEとPlatformioのコンパイラーの挙動の違いについて
USB-MIDI関連:
Using USB MIDI
MIDIcontroller v2.5.3
以上