Commit graph

171 commits

Author SHA1 Message Date
h2zero
32e1022e67 Correct error in creation of NimBLEAddress from six bytes in a std::string
* Add creation of a NimBLEAddress from a std::string of 6 exactly bytes.

* Add creation of a NimBLEAddress from an empty string.
2020-05-18 10:11:54 -06:00
h2zero
08fc2878e7 NimBLEScan: Corrected ::erase() iteration 2020-05-18 06:47:44 -06:00
h2zero
6f4ee4b498 Breaking: Use std::vector instead of std::map in client classes (#46)
* Exchange map for vector, saving 1,076 bytes of program memory and 5,024 bytes of heap for a small device (LYWSD03MMC)

* Removing m_characteristicMapByHandle (using the handles form m_characteristicVector instead) saving in total (compared to the current master) 1,508 bytes of program memory and 6,500 bytes of heap for a small device (LYWSD03MMC)

* Change NimBLEScan container from std::map to std::vector

* Add function to get advertised device by address

* Update documentation
2020-05-17 20:22:58 -06:00
h2zero
fc1022a46d Add new getServer() method.
Previously we used createServer() to get a reference to the server instance.
This was problematic when using advertising only as it would create a server
when starting advertising. This prevents that and provides better semantics.
2020-05-14 12:59:35 -06:00
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
h2zero
3d6f8b691e Implement selective log messages. 2020-05-10 21:30:15 -06:00
h2zero
bbeae9df6b Fix: Descriptor list incomplete when Notify property set. 2020-05-10 20:28:28 -06:00
h2zero
f0191eb1e6 Add ==,!= operators to NimBLEAddress, pass parameters by const reference. 2020-05-10 07:21:46 -06:00
h2zero
fba7e0fd68 NimBLEAdvertisedDevice: Prevent adding dupicate service uuid's. 2020-05-07 22:30:58 -06:00
h2zero
59823b4bf0 Implement client long read / write
Client will now read/write long characteristics and descriptors.
2020-05-07 19:51:15 -06:00
h2zero
04b524d1f8 NimBLEUUID: Add operator == and != + correct equals() to test if values are set.
Adds convenience operators == and != to NimBLEUUID class.

Tests if both values are not set in equals operation and returns true if so.
2020-05-06 21:08:50 -06:00
h2zero
1779a3f723 Bugfixes + add new NimBLEUUID constructor. 2020-05-03 13:50:49 -06:00
h2zero
725807b619 Resync to arduino master 2020-04-23 15:17:09 -06:00
h2zero
6c0e6a2b2c Clean up logs. 2020-04-13 19:18:33 -06:00
h2zero
3327a32341 Merge bugfix branch into master 2020-04-13 19:13:51 -06:00
h2zero
359d2885e1 Modify IDF v4 fix to maintain v3 compatibility 2020-03-31 21:38:28 -06:00
h2zero
74ba03e3a8 Add CMakeLists.txt.
Fix compilation in strict enviroments.
Fix compliation in IDF v4.0.
2020-03-31 20:16:27 -06:00
h2zero
a77f33e251 Fix typo's. 2020-03-30 16:12:22 -06:00
h2zero
c7de73b655 Add missing component.mk file. 2020-03-29 19:13:59 -06:00
h2zero
5d4332e945 Initial commit. 2020-03-29 17:44:20 -06:00
h2zero
5ac8cc0e29
Initial commit 2020-03-29 17:33:35 -06:00