89: use equal_range when searching for elements in STL multimap, instead of using find. find is not guaranteed to return the first element in the equal range.
90: Add a new set of interfaces to LBLEClient that allows user to identify a characteristic by using service index and characteristic index, instead of using UUID. Note that it is possible for a device to have multiple characteristics with the same UUID.
90: Add a new example EnumerateCharacteristic.ino that uses the new indices-based interface of LBLEClient to list all the services and characteristics in the connected BLE device.
90: Use bt_gattc_read_charc instead of bt_gattc_read_using_charc_uuid to read characteristics.
91: when calling bt_gattc_discover_charc, we need to wait for multiple BT_GATTC_DISCOVER_CHARC event. We added new helper function waitAndProcessEventMultiple that supports such event waiting behavior.
Refactored LBLEValueBuffer to support re-interpreting its raw buffer content into String, float, int, and char types.
Bug Fixes
89: use
equal_range
when searching for elements in STL multimap, instead of usingfind
.find
is not guaranteed to return the first element in the equal range.90: Add a new set of interfaces to
LBLEClient
that allows user to identify a characteristic by using service index and characteristic index, instead of using UUID. Note that it is possible for a device to have multiple characteristics with the same UUID.90: Add a new example
EnumerateCharacteristic.ino
that uses the new indices-based interface ofLBLEClient
to list all the services and characteristics in the connected BLE device.90: Use
bt_gattc_read_charc
instead ofbt_gattc_read_using_charc_uuid
to read characteristics.91: when calling
bt_gattc_discover_charc
, we need to wait for multipleBT_GATTC_DISCOVER_CHARC
event. We added new helper functionwaitAndProcessEventMultiple
that supports such event waiting behavior.Refactored
LBLEValueBuffer
to support re-interpreting its raw buffer content into String, float, int, and char types.