Open4
arduino-cli tips

IDEのツールメニュー設定をCLIで指定する方法
> arduino-cli board details -b <FQBN>
Option: WiFi Region wificountry
Worldwide ✔ wificountry=worldwide
Australia wificountry=australia
Austria wificountry=austria
...
Option: USB Stack usbstack
Pico SDK ✔ usbstack=picosdk
Adafruit TinyUSB usbstack=tinyusb
No USB usbstack=nousb
というようにArduinoIDEのToolsメニューにあるオプションの設定可能な値が列挙されるので、
その中から使いたい値を指定するには以下のように--board-options
を指定します。
✔
はデフォルトの選択値
> arduino-cli compile -b <FQBN> --board-options=usbstack=tinyusb,wificountry=japan .

FQBNはボードを識別する文字列で以下のコマンドで一覧が見れます。
> arduino-cli board listall
Board Name FQBN
0xCB Helios rp2040:rp2040:0xcb_helios
Adafruit Circuit Playground arduino:avr:circuitplay32u4cat
...
FQBNは3セクション構造<vendor>:<mcu>:<board>
前半2セクションに関連する操作はarduino-cli core
コマンドで扱います。
これはMCUアーキテクチャサポートに関するツールチェインを探したりインストールしたりできます。
rp2040関連のボードサポートインストール例
> arduino-cli config add board_manager.additional_urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
> arduino-cli core update-index
> arduino-cli core install rp2040:rp2040
これでrp2040:rp2040:rpipico
とrp2040:rp2040:rpipicow
のボードサポートが使えるようになります。

GitHubからライブラリインストール
> arduino-cli config init
> arduino-cli config set library.enable_unsafe_install true
> arduino-cli lib install --git-url https://github.com/MHeironimus/ArduinoJoystickLibrary.git

Arduino-IDEとarduino-cliの設定共通化
Gti-Bash on Windows
> ln -s ~/AppData/Local/Arduino15/arduino-cli.yaml ~/.arduinoIDE/arduino-cli.yaml
Linux Or macOS
> ln -s ~/.arduino15/arduino-cli.yaml ~/.arduinoIDE/arduino-cli.yaml