BLEを使おうとしたら嵌ったerror: too many asp_ble_gattc_open(esp_gatt_if_t, uint8_t*, bool)’

ESP32の開発環境をArduinoに構築してとりあえず、LEDテープが動作したりするのは確認できたので、bleを使うために最新のライブラリを取り込んでみたのだが、表題のエラーがでる。ソースコードを確認していくと新しいライブラリで新たなincludeディレクトリとしてapiというものが出来ていた。まだBLEが最新版に統合されていない状況で個別にかぶせる形で展開したためにエラーとなる関数のヘッダーが新旧と同時に存在して探索パスの順序から古いものが参照されていたというオチだった。

apiに存在しているもので、上のディレクトリにあったものは削除することで解決した。

私の場合は、D:\User2\Documents\Arduino\hardware\espressif\esp32\tools\sdk\include\bluedroid

ここの下に新しいBLEライブラリはapiというヘッダが作られていた。

Arduino 環境 1.8.5
ESP32 最新版
BLE  0.4.16

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です