Seeeduino Xiaoで動いていたスケッチ(プログラム)を、思い付きでM5 ATOMで動かしてみようとしたら、なぜか動かない。というかリセットを繰り返す。
試しにUSBケーブルをつないでprintデバッグしてみたところ、Adafruit_NeoPixelライブラリで実装されている関数「show()」でコケているらしい。
☝USB Serialで.show()の前後に文字を出すようにしてみたところ、
☝シリアルモニタで見ると「done.」が出力されることなく abort() が実行されている。
Adafruit_NeoPixel のshow関数の実装を見ると、使用するMCU(マイコン)毎に分岐してアセンブリのコードで信号出力をしている模様。つまり、M5-ATOMは非対応なの?そんな~。と悲しい気持ちになっていたのですが。Adafruit_NeoPixelのライブラリいつインストールしたんやっけ?とふと思い、確認。「ツール」>「ライブラリを管理」からライブラリマネージャを開いて、Adafruit_NeoPixelを探します。
☝使っているのがバージョン「1.10.5」、最新が「1.11.0」。かなり更新サボってたわ
てへぺろ (・ω<)
というわけで「更新」ボタンをポチっとしてアップデート。
☝コンパイルして実行したら普通に動いた。LEDもちゃんと光っています✨
と、いう訳で。ライブラリのアップデートはちゃんとしようね。という教訓を得たのでした。