ただちょっとビルドを通すのに手間取ったので、その辺を書いておきます。
まず、以下をダウンロードして解凍するか、cloneします。ここにWS2812のライブラリなどが入っています。
esp32-snippets直下のcpp_utilsをesp/esp-idf/components下にコピーします。本来であればこのままで良いのですが、簡単にビルドが通らないソースがある場合にはその拡張子を.cppから.bakに変えてしまいます。私の場合、BLEHIDDevice.cppをBLEHIDDevice.cpp.bak、BLESecurity.cppをBLESecurity.cpp.bakに変更しました。良いんだ今は使わないから(笑)。
ダウンロードした.zipとesp32-snippetsはゴミ箱に入れても構いません。
次に、以下をダウンロードして解答するか、cloneします。
ターミナルでespressif/app/ESP32_gpio_WS2812/mainに移動します。ここにあるWS2812.cppとWS2812.hを削除します(ここにあるのは古いライブラリで最新版は上でcomponents下にコピーしましたので)。
一つ上のディレクトリに戻って、make menuconfigでシリアルポートと通信速度を設定します。通常ならばこれだけで良いのですが、components下に入れた他のライブラリのビルドを通すためにCompilar options->Enable C++ exceptionsをonにします(カーソルを移動してスペースキー)。
WS2812/NeoPixelsはGPIO22に接続します。
これでmake flashします。するとesp-idfのバージョンによってはエラーがでますので、main/main.cの22行目heap_regions.hをincludeしている分をコメントアウトし、26行目のesp_heap_alloc_caps.hをesp_heap_caps.hに変更し、34行目をコメントアウトします。
ソースを保存して再度make flashすればデモ点灯します。
LEDの数や接続ピンを変更するにはmain/ws2812_task.cppの37-38行目の定数を変更します。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。