Open4

arduino-cli tips

NoboNoboNoboNobo

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 .
NoboNoboNoboNobo

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:rpipicorp2040:rp2040:rpipicowのボードサポートが使えるようになります。

NoboNoboNoboNobo

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
NoboNoboNoboNobo

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