Skip to content

Conversation

gtalusan
Copy link

@gtalusan gtalusan commented Nov 8, 2017

This library is conflicting with the ESP32's BLE library because of architectures=*. Setting architectures explicitly lets me compile for both nRF52 (RedBear BLE Nano 2) and ESP32.

I'm unsure of the Teensy arch, or if it even uses library.properties, so this may need a bit of guidance.

@sandeepmistry
Copy link
Owner

Hi @gtalusan, what's the specific conflict?

@gtalusan
Copy link
Author

Hi @sandeepmistry, the ESP32 libraries have their own BLEPeripheral library.

@sandeepmistry
Copy link
Owner

Ok, do you have the output from a compile?

Since this library has already in the library manager for a few years, I suggest you ask them to rename to avoid the conflict.

@gtalusan
Copy link
Author

Sure, here's the output at this gist.. https://gist.github.com/gtalusan/693b511a5696723d393275e0074e4083

@ayavilevich
Copy link

@sandeepmistry , I agree with @gtalusan . This library is specific to certain devices. No reason to block the namespace with names such as BLEPeripheral for other boards.

@sandeepmistry
Copy link
Owner

I discussed this one with @cmaglie, the ESP BLE library should have a main include, something like "ESPBLE.h", that is included before the other includes.

Then the Arduino Builder know what specific library folder to use for the other include headers. He tested changing the include order from:

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>

to

#include <BLEScan.h>
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEAdvertisedDevice.h>

and the Arduino Builder used the correct library.

@AdamClarkStandke
Copy link

genius works can confirm this works for ide version 2.2.1!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants