2020-03-30 01:44:20 +02:00
|
|
|
# *** UPDATE ***
|
2020-05-18 04:21:35 +02:00
|
|
|
**Breaking change:** Client and scan now use `std::vector` instead of `std::map` for storing the remote attribute database.
|
|
|
|
|
|
|
|
This change will affect your application code if you use `NimBLEClient::getServices()` or `NimBLERemoteService::getCharacteristics()`
|
|
|
|
in your application as they now return a pointer to `std::vector` of the respective attributes.
|
2020-03-30 01:44:20 +02:00
|
|
|
|
2020-05-18 04:21:35 +02:00
|
|
|
In addition `NimBLERemoteService::getCharacteristicsByHandle()` has been removed as it is no longer maintained in the library.
|
|
|
|
|
|
|
|
These changes were necessary due to the amount of resources required to use `std::map`, it was not justifed by any benfit it provided.
|
|
|
|
|
|
|
|
It is expected that there will be minimal impact on most applications, if you need help adjusting your code please create an issue.
|
2020-03-30 01:44:20 +02:00
|
|
|
|
|
|
|
# esp-nimble-cpp
|
2020-05-08 03:47:41 +02:00
|
|
|
NimBLE CPP library for use with ESP32 that attempts to maintain compatibility with the @nkolban cpp_uitls API.
|
2020-03-30 01:44:20 +02:00
|
|
|
|
|
|
|
Why? Because the Bluedroid library is too bulky.
|
|
|
|
|
|
|
|
Initial client code testing has resulted in code size reduction of ~115k and reduced ram consumption of ~37k.
|
|
|
|
|
|
|
|
|
|
|
|
# Installation:
|
|
|
|
|
|
|
|
Download as .zip and extract to components folder in your esp-idf project.
|
|
|
|
|
2020-05-08 03:47:41 +02:00
|
|
|
Run menuconfig, go to `Component config->Bluetooth->` enable Bluetooth and select NimBLE host.
|
|
|
|
|
2020-03-30 01:44:20 +02:00
|
|
|
`#include "NimBLEDevice.h"` in main.cpp.
|
|
|
|
|
|
|
|
|
|
|
|
# Usage:
|
|
|
|
|
2020-05-08 03:47:41 +02:00
|
|
|
This library is intended to be compatible with the original ESP32 BLE functions and types with minor changes.
|
|
|
|
|
|
|
|
Check [API_DIFFERENCES](https://github.com/h2zero/esp-nimble-cpp/blob/master/API_DIFFERENCES.md) for details.
|
2020-03-30 01:44:20 +02:00
|
|
|
|
|
|
|
|
|
|
|
# Acknowledgments:
|
|
|
|
|
|
|
|
* @nkolban and @chegewara for the [original esp32 BLE library](https://github.com/nkolban/esp32-snippets) this project was derived from.
|
|
|
|
* @beegee-tokyo for contributing your time to test/debug and contributing the beacon examples.
|
|
|
|
|
|
|
|
|
|
|
|
# Todo:
|
|
|
|
|
|
|
|
1. Code cleanup.
|
|
|
|
2. Create documentation.
|
|
|
|
3. Expose more NimBLE features.
|
2020-04-01 04:16:27 +02:00
|
|
|
4. Add BLE Mesh code.
|