Code Monkey home page Code Monkey logo

Comments (4)

jhud avatar jhud commented on June 18, 2024

ESP32 BLE Arduino is now part of the core Espressif libraries - you shouldn't need to install anything extra. You may have old versions of the libraries hanging around, so I updated the readme with that info.

from esp32-ancs-notifications.

alainbellet avatar alainbellet commented on June 18, 2024

hey @jhud thanks for the update! Yes i know that ESP32 BLE Arduino is now part of the Core ESP32 Library, but i checked and i have the last version (1.0.4). And reinstalling the old ESP 32 Lib from Neil Kolban solve the compile error. (the problem came from a Student that had a fresh instal of the board definition as well as the ESP32-ANCS-Notification).
So i digged a bit more to point the problem and noticed that the class BLEAdvertisementData in BLEadvertising.h does not have the setServiceSolicitation in the packaged espressif Lib. But in Neil Kolban one it's present..

So i'm curious if you are able to compile without the Neil Kolban "original" one installed??

Original

class BLEAdvertisementData {
// Only a subset of the possible BLE architected advertisement fields are currently exposed. Others will
// be exposed on demand/request or as time permits.
//
public:
void setAppearance(uint16_t appearance);
void setCompleteServices(BLEUUID uuid);
void setFlags(uint8_t);
void setManufacturerData(std::string data);
void setName(std::string name);
void setPartialServices(BLEUUID uuid);
void setServiceData(BLEUUID uuid, std::string data);
void setShortName(std::string name);
void setServiceSolicitation(BLEUUID uuid);
void addData(std::string data); // Add data to the payload.
std::string getPayload(); // Retrieve the current advert payload.

Included one

class BLEAdvertisementData {
// Only a subset of the possible BLE architected advertisement fields are currently exposed. Others will
// be exposed on demand/request or as time permits.
//
public:
void setAppearance(uint16_t appearance);
void setCompleteServices(BLEUUID uuid);
void setFlags(uint8_t);
void setManufacturerData(std::string data);
void setName(std::string name);
void setPartialServices(BLEUUID uuid);
void setServiceData(BLEUUID uuid, std::string data);
void setShortName(std::string name);
void addData(std::string data); // Add data to the payload.
std::string getPayload(); // Retrieve the current advert payload.

from esp32-ancs-notifications.

jhud avatar jhud commented on June 18, 2024

Thanks for the clarification. I thought I overloaded that class to avoid any dependence on that method being there or not, but I’ll have a look and update the docs/source if needed.

from esp32-ancs-notifications.

jhud avatar jhud commented on June 18, 2024

Turns out my core library was patched with the extra setServiceSolicitation() method. This is fixed - this library now use its own implementation of setServiceSolicitation(). The API remains unchanged, but there is a #define switch in the cpp file if anyone wants to revert to nkolban's library. Or if the method moves to the Espressif core library, we can switch back to the core bluetooth implementation.

from esp32-ancs-notifications.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.