Find a file
h2zero 03cb7b21d9 Conditionally compile code for specific roles.
This allows NimBLE options in menuconfig to reduce code size based on
the roles selected (scan/advertising/central/peripheral).

Significant code space can be saved by removing unnecessary roles for the application.
2020-05-13 22:03:56 -06:00
src Conditionally compile code for specific roles. 2020-05-13 22:03:56 -06:00
API_DIFFERENCES.md Add CMakeLists.txt. 2020-03-31 20:16:27 -06:00
CMakeLists.txt Add CMakeLists.txt. 2020-03-31 20:16:27 -06:00
component.mk Add missing component.mk file. 2020-03-29 19:13:59 -06:00
Kconfig Conditionally compile code for specific roles. 2020-05-13 22:03:56 -06:00
Kconfig.projbuild Implement selective log messages. 2020-05-10 21:30:15 -06:00
LICENSE Initial commit. 2020-03-29 17:44:20 -06:00
README.md Implement client long read / write 2020-05-07 19:51:15 -06:00

*** UPDATE ***

Client long read/write characteristics/descriptors now working. We are now nearing 100% replacement of the original cpp_utils BLE library 😄

esp-nimble-cpp

NimBLE CPP library for use with ESP32 that attempts to maintain compatibility with the @nkolban cpp_uitls API.

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.

Run menuconfig, go to Component config->Bluetooth-> enable Bluetooth and select NimBLE host.

#include "NimBLEDevice.h" in main.cpp.

Usage:

This library is intended to be compatible with the original ESP32 BLE functions and types with minor changes.

Check API_DIFFERENCES for details.

Acknowledgments:

  • @nkolban and @chegewara for the original esp32 BLE library 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.
  4. Add BLE Mesh code.