diff --git a/_h_i_d_keyboard_types_8h_source.html b/_h_i_d_keyboard_types_8h_source.html index 60361c3..cd5fb39 100644 --- a/_h_i_d_keyboard_types_8h_source.html +++ b/_h_i_d_keyboard_types_8h_source.html @@ -5,7 +5,7 @@ -
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
std::vector<uint8_t>
.Descriptor for Characteristic Presentation Format.
diff --git a/class_nim_b_l_e_address-members.html b/class_nim_b_l_e_address-members.html index 5e6e834..514127d 100644 --- a/class_nim_b_l_e_address-members.html +++ b/class_nim_b_l_e_address-members.html @@ -26,7 +26,7 @@<type>
. More...A representation of a BLE advertised device found by a scan.
@@ -312,7 +330,7 @@ Public Member FunctionsGet the length of the advertisement data in the payload.
-Get the advertisement type.
Get the appearance.
-A BLE device can declare its own appearance. The appearance is how it would like to be shown to an end user typcially in the form of an icon.
+A BLE device can declare its own appearance. The appearance is how it would like to be shown to an end user typically in the form of an icon.
Get the length of the payload advertised by the device.
uint16_t NimBLEAdvertisedDevice::getPeriodicInterval | +( | +) | ++ |
Get the periodic interval of the advertisement.
+uint8_t NimBLEAdvertisedDevice::getPrimaryPhy | +( | +) | ++ |
Get the primary PHY used by this advertisement.
+Get the scan object that created this advertised device.
uint8_t NimBLEAdvertisedDevice::getSecondaryPhy | +( | +) | ++ |
Get the primary PHY used by this advertisement.
+size_t NimBLEAdvertisedDevice::getServiceDataCount | +uint8_t NimBLEAdvertisedDevice::getServiceDataCount | ( | ) | @@ -768,7 +855,7 @@ template<typename T > |
Get the UUID of the serice data at the index.
+Get the UUID of the service data at the index.
[in] | index | The index of the service data UUID requested. |
size_t NimBLEAdvertisedDevice::getServiceUUIDCount | +uint8_t NimBLEAdvertisedDevice::getServiceUUIDCount | ( | ) | @@ -824,6 +911,26 @@ template<typename T > |
uint8_t NimBLEAdvertisedDevice::getSetId | +( | +) | ++ |
Get the set ID of the extended advertisement.
+size_t NimBLEAdvertisedDevice::getTargetAddressCount | +uint8_t NimBLEAdvertisedDevice::getTargetAddressCount | ( | ) | @@ -1169,7 +1276,7 @@ template<typename T > |
Check advertised services for existance of the required UUID.
+Check advertised services for existence of the required UUID.
[in] | uuid | The service uuid to look for in the advertisement. |
bool NimBLEAdvertisedDevice::isConnectable | +( | +) | ++ |
Check if this device is advertising as connectable.
+bool NimBLEAdvertisedDevice::isLegacyAdvertisement | +( | +) | ++ |
Check if this advertisement is a legacy or extended type.
+bool NimBLEAdvertising::stop | +( | +) | ++ |
Stop advertising.
+
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
This is the complete list of members for NimBLEAttValue, including all inherited members.
+append(const uint8_t *value, uint16_t len) | NimBLEAttValue | inline |
begin() const | NimBLEAttValue | inline |
c_str() const | NimBLEAttValue | inline |
capacity() const | NimBLEAttValue | inline |
data() const | NimBLEAttValue | inline |
end() const | NimBLEAttValue | inline |
getValue(time_t *timestamp) | NimBLEAttValue | inline |
getValue(time_t *timestamp=nullptr, bool skipSizeCheck=false) | NimBLEAttValue | inline |
length() const | NimBLEAttValue | inline |
max_size() const | NimBLEAttValue | inline |
NimBLEAttValue(uint16_t init_len=CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(const uint8_t *value, uint16_t len, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(std::initializer_list< uint8_t > list, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(const char *value, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(const std::string str, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(const std::vector< uint8_t > vec, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEAttValue | inline |
NimBLEAttValue(const NimBLEAttValue &source) | NimBLEAttValue | inline |
NimBLEAttValue(NimBLEAttValue &&source) | NimBLEAttValue | inline |
operator const uint8_t *() const | NimBLEAttValue | inline |
operator std::string() const | NimBLEAttValue | inline |
operator std::vector< uint8_t >() const | NimBLEAttValue | inline |
operator!=(const NimBLEAttValue &source) | NimBLEAttValue | inline |
operator+=(const NimBLEAttValue &source) | NimBLEAttValue | inline |
operator=(const std::string &source) | NimBLEAttValue | inline |
operator=(NimBLEAttValue &&source) | NimBLEAttValue | inline |
operator=(const NimBLEAttValue &source) | NimBLEAttValue | inline |
operator==(const NimBLEAttValue &source) | NimBLEAttValue | inline |
operator[](int pos) const | NimBLEAttValue | inline |
setValue(const uint8_t *value, uint16_t len) | NimBLEAttValue | inline |
setValue(const char *s) | NimBLEAttValue | inline |
setValue(const T &s) | NimBLEAttValue | inline |
setValue(const T &s) | NimBLEAttValue | inline |
size() const | NimBLEAttValue | inline |
~NimBLEAttValue() | NimBLEAttValue | inline |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
A specialized container class to hold BLE attribute values. + More...
++Public Member Functions | |
NimBLEAttValue (uint16_t init_len=CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Default constructor. More... | |
NimBLEAttValue (const uint8_t *value, uint16_t len, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Construct with an initial value from a buffer. More... | |
NimBLEAttValue (std::initializer_list< uint8_t > list, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Construct with an initializer list. More... | |
NimBLEAttValue (const char *value, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Construct with an initial value from a const char string. More... | |
NimBLEAttValue (const std::string str, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Construct with an initial value from a std::string. More... | |
NimBLEAttValue (const std::vector< uint8_t > vec, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | |
Construct with an initial value from a std::vector<uint8_t>. More... | |
+ | NimBLEAttValue (const NimBLEAttValue &source) |
Copy constructor. | |
+ | NimBLEAttValue (NimBLEAttValue &&source) |
Move constructor. | |
+ | ~NimBLEAttValue () |
Destructor. | |
+uint16_t | max_size () const |
Returns the max size in bytes. | |
+uint16_t | capacity () const |
Returns the currently allocated capacity in bytes. | |
+uint16_t | length () const |
Returns the current length of the value in bytes. | |
+uint16_t | size () const |
Returns the current size of the value in bytes. | |
+const uint8_t * | data () const |
Returns a pointer to the internal buffer of the value. | |
+const char * | c_str () const |
Returns a pointer to the internal buffer of the value as a const char*. | |
+const uint8_t * | begin () const |
Iterator begin. | |
+const uint8_t * | end () const |
Iterator end. | |
bool | setValue (const uint8_t *value, uint16_t len) |
Set the value from a buffer. More... | |
bool | setValue (const char *s) |
Set value to the value of const char*. More... | |
const uint8_t * | getValue (time_t *timestamp) |
Get a pointer to the value buffer with timestamp. More... | |
NimBLEAttValue & | append (const uint8_t *value, uint16_t len) |
Append data to the value. More... | |
template<typename T > | |
bool | setValue (const T &s) |
Template to set value to the value of <type>val. More... | |
template<typename T > | |
bool | setValue (const T &s) |
Template to set value to the value of <type>val. More... | |
template<typename T > | |
T | getValue (time_t *timestamp=nullptr, bool skipSizeCheck=false) |
Template to return the value as a <type>. More... | |
+uint8_t | operator[] (int pos) const |
Subscript operator. | |
+ | operator std::vector< uint8_t > () const |
Operator; Get the value as a std::vector<uint8_t>. | |
+ | operator std::string () const |
Operator; Get the value as a std::string. | |
+ | operator const uint8_t * () const |
Operator; Get the value as a const uint8_t*. | |
+NimBLEAttValue & | operator+= (const NimBLEAttValue &source) |
Operator; Append another NimBLEAttValue. | |
+NimBLEAttValue & | operator= (const std::string &source) |
Operator; Set the value from a std::string source. | |
+NimBLEAttValue & | operator= (NimBLEAttValue &&source) |
Move assignment operator. | |
+NimBLEAttValue & | operator= (const NimBLEAttValue &source) |
Copy assignment operator. | |
+bool | operator== (const NimBLEAttValue &source) |
Equality operator. | |
+bool | operator!= (const NimBLEAttValue &source) |
Inequality operator. | |
A specialized container class to hold BLE attribute values.
+This class is designed to be more memory efficient than using
+standard container types for value storage, while being convertible to
+many different container classes.
+
|
+ +inline | +
Default constructor.
+[in] | init_len | The initial size in bytes. |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Construct with an initial value from a buffer.
+value | A pointer to the initial value to set. | |
[in] | len | The size in bytes of the value to set. |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Construct with an initializer list.
+list | An initializer list containing the initial value to set. | |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Construct with an initial value from a const char string.
+value | A pointer to the initial value to set. | |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Construct with an initial value from a std::string.
+str | A std::string containing to the initial value to set. | |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Construct with an initial value from a std::vector<uint8_t>.
+vec | A std::vector<uint8_t> containing to the initial value to set. | |
[in] | max_len | The max size in bytes that the value can be. |
+
|
+ +inline | +
Append data to the value.
+[in] | value | A ponter to a data buffer with the value to append. |
[in] | len | The length of the value to append in bytes. |
+
|
+ +inline | +
Get a pointer to the value buffer with timestamp.
+[in] | timestamp | A ponter to a time_t variable to store the timestamp. |
+
|
+ +inline | +
Template to return the value as a <type>.
+T | The type to convert the data to. |
[in] | timestamp | A pointer to a time_t struct to store the time the value was read. |
[in] | skipSizeCheck | If true it will skip checking if the data size is less than + sizeof(<type>) . |
sizeof(<type>)
.Use: getValue<type>(×tamp, skipSizeCheck);
+
|
+ +inline | +
Set value to the value of const char*.
+[in] | s | A ponter to a const char value to set. |
+
|
+ +inline | +
Template to set value to the value of <type>val.
+[in] | s | The <type>value to set. |
Only used for types without a c_str()
method.
+
|
+ +inline | +
Template to set value to the value of <type>val.
+[in] | s | The <type>value to set. |
Only used if the <type> has a c_str()
method.
+
|
+ +inline | +
Set the value from a buffer.
+[in] | value | A ponter to a buffer containing the value. |
[in] | len | The length of the value in bytes. |
This is the complete list of members for NimBLECharacteristic, including all inherited members.
addDescriptor(NimBLEDescriptor *pDescriptor) | NimBLECharacteristic | |
createDescriptor(const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=100) | NimBLECharacteristic | |
createDescriptor(const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=100) | NimBLECharacteristic | |
createDescriptor(const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLECharacteristic | |
createDescriptor(const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLECharacteristic | |
getCallbacks() | NimBLECharacteristic | |
getDataLength() | NimBLECharacteristic | |
getDescriptorByHandle(uint16_t handle) | NimBLECharacteristic | |
getService() | NimBLECharacteristic | |
getSubscribedCount() | NimBLECharacteristic | |
getUUID() | NimBLECharacteristic | |
getValue(time_t *timestamp=nullptr) | NimBLECharacteristic | |
getValue(time_t *timestamp=nullptr) | NimBLECharacteristic | |
getValue(time_t *timestamp=nullptr, bool skipSizeCheck=false) | NimBLECharacteristic | inline |
indicate() | NimBLECharacteristic | |
NimBLECharacteristic(const char *uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, NimBLEService *pService=nullptr) | NimBLECharacteristic | |
NimBLECharacteristic(const NimBLEUUID &uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, NimBLEService *pService=nullptr) | NimBLECharacteristic | |
notify(bool is_notification=true) | NimBLECharacteristic | |
notify(std::string value, bool is_notification=true) | NimBLECharacteristic | |
removeDescriptor(NimBLEDescriptor *pDescriptor, bool deleteDsc=false) | NimBLECharacteristic | |
setCallbacks(NimBLECharacteristicCallbacks *pCallbacks) | NimBLECharacteristic | |
setValue(const uint8_t *data, size_t size) | NimBLECharacteristic | |
setValue(const std::string &value) | NimBLECharacteristic | |
setValue(const T &s) | NimBLECharacteristic | inline |
toString() | NimBLECharacteristic | |
~NimBLECharacteristic() | NimBLECharacteristic | |
indicate(const uint8_t *value, size_t length) | NimBLECharacteristic | |
indicate(const std::vector< uint8_t > &value) | NimBLECharacteristic | |
indicate(const T &value) | NimBLECharacteristic | inline |
NimBLECharacteristic(const char *uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN, NimBLEService *pService=nullptr) | NimBLECharacteristic | |
NimBLECharacteristic(const NimBLEUUID &uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN, NimBLEService *pService=nullptr) | NimBLECharacteristic | |
notify(bool is_notification=true) | NimBLECharacteristic | |
notify(const uint8_t *value, size_t length, bool is_notification=true) | NimBLECharacteristic | |
notify(const std::vector< uint8_t > &value, bool is_notification=true) | NimBLECharacteristic | |
notify(const T &value, bool is_notification=true) | NimBLECharacteristic | inline |
removeDescriptor(NimBLEDescriptor *pDescriptor, bool deleteDsc=false) | NimBLECharacteristic | |
setCallbacks(NimBLECharacteristicCallbacks *pCallbacks) | NimBLECharacteristic | |
setValue(const uint8_t *data, size_t size) | NimBLECharacteristic | |
setValue(const std::vector< uint8_t > &vec) | NimBLECharacteristic | |
setValue(const T &s) | NimBLECharacteristic | inline |
toString() | NimBLECharacteristic | |
~NimBLECharacteristic() | NimBLECharacteristic |
Public Member Functions | |
NimBLECharacteristic (const char *uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, NimBLEService *pService=nullptr) | |
Construct a characteristic. More... | |
NimBLECharacteristic (const NimBLEUUID &uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, NimBLEService *pService=nullptr) | |
Construct a characteristic. More... | |
NimBLECharacteristic (const char *uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN, NimBLEService *pService=nullptr) | |
Construct a characteristic. More... | |
NimBLECharacteristic (const NimBLEUUID &uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN, NimBLEService *pService=nullptr) | |
Construct a characteristic. More... | |
~NimBLECharacteristic () | |
Destructor. | |
std::string | toString () |
Return a string representation of the characteristic. More... | |
void | setCallbacks (NimBLECharacteristicCallbacks *pCallbacks) |
Set the callback handlers for this characteristic. More... | |
-NimBLECharacteristicCallbacks * | getCallbacks () |
Get the callback handlers for this characteristic. | |
void | indicate () |
Send an indication. -An indication is a transmission of up to the first 20 bytes of the characteristic value. -An indication will block waiting for a positive confirmation from the client. | |
Send an indication. | |
void | indicate (const uint8_t *value, size_t length) |
Send an indication. More... | |
void | indicate (const std::vector< uint8_t > &value) |
Send an indication. More... | |
void | notify (bool is_notification=true) |
Send a notification. -A notification is a transmission of up to the first 20 bytes of the characteristic value. -A notification will not block; it is a fire and forget. More... | |
Send a notification or indication. More... | |
void | notify (std::string value, bool is_notification=true) |
Send a notification. -A notification is a transmission of up to the first 20 bytes of the characteristic value. -A notification will not block; it is a fire and forget. More... | |
void | notify (const uint8_t *value, size_t length, bool is_notification=true) |
Send a notification or indication. More... | |
void | notify (const std::vector< uint8_t > &value, bool is_notification=true) |
Send a notification or indication. More... | |
size_t | getSubscribedCount () |
Get the number of clients subscribed to the characteristic. More... | |
NimBLEDescriptor * | createDescriptor (const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=100) |
Create a new BLE Descriptor associated with this characteristic. More... | |
NimBLEDescriptor * | createDescriptor (const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=100) |
Create a new BLE Descriptor associated with this characteristic. More... | |
void | addDescriptor (NimBLEDescriptor *pDescriptor) |
Add a descriptor to the characteristic. More... | |
Return the BLE Descriptor for the given handle. More... |
|
void | removeDescriptor (NimBLEDescriptor *pDescriptor, bool deleteDsc=false) |
Remove a descriptor from the characterisitc. More... | |
Remove a descriptor from the characteristic. More... | |
std::string | getValue (time_t *timestamp=nullptr) |
Retrieve the current value of the characteristic. More... | |
size_t | getDataLength () |
Retrieve the the current data length of the characteristic. More... | |
template<typename T > | |
T | getValue (time_t *timestamp=nullptr, bool skipSizeCheck=false) |
A template to convert the characteristic data to <type>. More... | |
void | setValue (const uint8_t *data, size_t size) |
Set the value of the characteristic. More... | |
void | setValue (const std::string &value) |
Set the value of the characteristic from string data. -We set the value of the characteristic from the bytes contained in the string. More... | |
template<typename T > | |
void | setValue (const T &s) |
Convenience template to set the characteristic value to <type>val. More... | |
NimBLEService * | getService () |
Get the service associated with this characteristic. | |
uint16_t | getProperties () |
Get the properties of the characteristic. More... | |
NimBLEAttValue | getValue (time_t *timestamp=nullptr) |
Retrieve the current value of the characteristic. More... | |
size_t | getDataLength () |
Retrieve the the current data length of the characteristic. More... | |
void | setValue (const uint8_t *data, size_t size) |
Set the value of the characteristic from a data buffer . More... | |
void | setValue (const std::vector< uint8_t > &vec) |
Set the value of the characteristic from a std::vector<uint8_t> .+. More... | |
void | setCallbacks (NimBLECharacteristicCallbacks *pCallbacks) |
Set the callback handlers for this characteristic. More... | |
NimBLEDescriptor * | createDescriptor (const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) |
Create a new BLE Descriptor associated with this characteristic. More... | |
NimBLEDescriptor * | createDescriptor (const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) |
Create a new BLE Descriptor associated with this characteristic. More... | |
+NimBLECharacteristicCallbacks * | getCallbacks () |
Get the callback handlers for this characteristic. | |
template<typename T > | |
void | setValue (const T &s) |
Template to set the characteristic value to <type>val. More... | |
template<typename T > | |
T | getValue (time_t *timestamp=nullptr, bool skipSizeCheck=false) |
Template to convert the characteristic data to <type>. More... | |
template<typename T > | |
void | notify (const T &value, bool is_notification=true) |
Template to send a notification from a class type that has a c_str() and length() method. More... | |
template<typename T > | |
void | indicate (const T &value) |
Template to send an indication from a class type that has a c_str() and length() method. More... | |
The model of a BLE Characteristic.
A BLE Characteristic is an identified value container that manages a value. It is exposed by a BLE server and can be read and written to by a BLE client.
NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE
, BLE_ATT_ATTR_MAX_LEN
, [in] | uuid | - UUID (const char*) for the characteristic. |
[in] | properties | - Properties for the characteristic. |
[in] | max_len | - The maximum length in bytes that the characteristic value can hold. (Default: 512 bytes for esp32, 20 for all others). |
[in] | pService | - pointer to the service instance this characteristic belongs to. |
NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE
, BLE_ATT_ATTR_MAX_LEN
, [in] | uuid | - UUID for the characteristic. |
[in] | properties | - Properties for the characteristic. |
[in] | max_len | - The maximum length in bytes that the characteristic value can hold. (Default: 512 bytes for esp32, 20 for all others). |
[in] | pService | - pointer to the service instance this characteristic belongs to. |
100
BLE_ATT_ATTR_MAX_LEN
100
BLE_ATT_ATTR_MAX_LEN
std::string NimBLECharacteristic::getValue | +NimBLEAttValue NimBLECharacteristic::getValue | ( | time_t * | timestamp = nullptr | ) | @@ -597,7 +622,7 @@ We set the value of the characteristic from the bytes contained in the string.
A template to convert the characteristic data to <type>.
+Template to convert the characteristic data to <type>.
T | The type to convert the data to. |
[in] | timestamp | A pointer to a time_t struct to store the time the value was read. |
[in] | skipSizeCheck | If true it will skip checking if the data size is less than sizeof(<type>) . |
[in] | timestamp | (Optional) A pointer to a time_t struct to store the time the value was read. |
[in] | skipSizeCheck | (Optional) If true it will skip checking if the data size is less than sizeof(<type>) . |
sizeof(<type>)
.Use: getValue<type>(×tamp, skipSizeCheck);
void NimBLECharacteristic::indicate | +( | +const std::vector< uint8_t > & | +value | ) | ++ |
Send an indication.
+[in] | value | A std::vector<uint8_t> containing the value to send as the notification value. |
+
|
+ +inline | +
Template to send an indication from a class type that has a c_str() and length() method.
+T | The a reference to a class containing the data to send. |
[in] | value | The <type>value to set. |
Only used if the <type> has a c_str()
method.
void NimBLECharacteristic::indicate | +( | +const uint8_t * | +value, | +
+ | + | size_t | +length | +
+ | ) | ++ |
Send an indication.
+[in] | value | A pointer to the data to send. |
[in] | length | The length of the data to send. |
Send a notification.
-A notification is a transmission of up to the first 20 bytes of the characteristic value.
-A notification will not block; it is a fire and forget.
Send a notification or indication.
[in] | is_notification | if true sends a notification, false sends an indication. | ||
void NimBLECharacteristic::notify | ( | -std::string | +const std::vector< uint8_t > & | value, |
Send a notification.
-A notification is a transmission of up to the first 20 bytes of the characteristic value.
-A notification will not block; it is a fire and forget.
Send a notification or indication.
[in] | value | An optional value to send as the notification, else the current characteristic value is used. |
[in] | value | A std::vector<uint8_t> containing the value to send as the notification value. |
[in] | is_notification | if true sends a notification, false sends an indication. |
+
|
+ +inline | +
Template to send a notification from a class type that has a c_str() and length() method.
+T | The a reference to a class containing the data to send. |
[in] | value | The <type>value to set. |
[in] | is_notification | if true sends a notification, false sends an indication. |
Only used if the <type> has a c_str()
method.
void NimBLECharacteristic::notify | +( | +const uint8_t * | +value, | +
+ | + | size_t | +length, | +
+ | + | bool | +is_notification = true |
+
+ | ) | ++ |
Send a notification or indication.
+[in] | value | A pointer to the data to send. |
[in] | length | The length of the data to send. |
[in] | is_notification | if true sends a notification, false sends an indication. |
Remove a descriptor from the characterisitc.
+Remove a descriptor from the characteristic.
[in] | pDescriptor | A pointer to the descriptor instance to remove from the characterisitc. |
[in] | pDescriptor | A pointer to the descriptor instance to remove from the characteristic. |
[in] | deleteDsc | If true it will delete the descriptor instance and free it's resources. |
Set the value of the characteristic from string data.
-We set the value of the characteristic from the bytes contained in the string.
Set the value of the characteristic from a std::vector<uint8_t>
.
+.
[in] | value | the std::string value of the characteristic. |
[in] | vec | The std::vector<uint8_t> reference to set the characteristic value from. |
Convenience template to set the characteristic value to <type>val.
+Template to set the characteristic value to <type>val.
[in] | s | The value to set. |
Set the value of the characteristic.
+Set the value of the characteristic from a data buffer .
[in] | data | The data to set for the characteristic. |
[in] | length | The length of the data in bytes. |
[in] | data | The data buffer to set for the characteristic. |
[in] | length | The number of bytes in the data buffer. |
This is the complete list of members for NimBLEClient, including all inherited members.
begin() | NimBLEClient | |
connect(NimBLEAdvertisedDevice *device, bool deleteAttibutes=true) | NimBLEClient | |
connect(const NimBLEAddress &address, bool deleteAttibutes=true) | NimBLEClient | |
connect(bool deleteAttibutes=true) | NimBLEClient | |
connect(NimBLEAdvertisedDevice *device, bool deleteAttributes=true) | NimBLEClient | |
connect(const NimBLEAddress &address, bool deleteAttributes=true) | NimBLEClient | |
connect(bool deleteAttributes=true) | NimBLEClient | |
deleteService(const NimBLEUUID &uuid) | NimBLEClient | |
deleteServices() | NimBLEClient | |
disconnect(uint8_t reason=BLE_ERR_REM_USER_CONN_TERM) | NimBLEClient | |
discoverAttributes() | NimBLEClient | |
discoverAttributes() | NimBLEClient | |
end() | NimBLEClient | |
getCharacteristic(const uint16_t handle) | NimBLEClient | |
getConnId() | NimBLEClient | |
getService(const char *uuid) | NimBLEClient | |
getService(const NimBLEUUID &uuid) | NimBLEClient | |
getServices(bool refresh=false) | NimBLEClient | |
getValue(const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID) | NimBLEClient | |
getValue(const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID) | NimBLEClient | |
isConnected() | NimBLEClient | |
secureConnection() | NimBLEClient | |
setClientCallbacks(NimBLEClientCallbacks *pClientCallbacks, bool deleteCallbacks=true) | NimBLEClient | |
setConnectionParams(uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout, uint16_t scanInterval=16, uint16_t scanWindow=16) | NimBLEClient | |
setConnectTimeout(uint8_t timeout) | NimBLEClient | |
setDataLen(uint16_t tx_octets) | NimBLEClient | |
setPeerAddress(const NimBLEAddress &address) | NimBLEClient | |
setValue(const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID, const std::string &value, bool response=false) | NimBLEClient | |
toString() | NimBLEClient | |
updateConnParams(uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) | NimBLEClient | |
setConnectPhy(uint8_t mask) | NimBLEClient | |
setConnectTimeout(uint8_t timeout) | NimBLEClient | |
setDataLen(uint16_t tx_octets) | NimBLEClient | |
setPeerAddress(const NimBLEAddress &address) | NimBLEClient | |
setValue(const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID, const NimBLEAttValue &value, bool response=false) | NimBLEClient | |
toString() | NimBLEClient | |
updateConnParams(uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) | NimBLEClient |
Public Member Functions | |
bool | connect (NimBLEAdvertisedDevice *device, bool deleteAttibutes=true) |
Connect to an advertising device. More... | |
bool | connect (const NimBLEAddress &address, bool deleteAttibutes=true) |
Connect to the BLE Server. More... | |
bool | connect (bool deleteAttibutes=true) |
Connect to the BLE Server. More... | |
bool | connect (NimBLEAdvertisedDevice *device, bool deleteAttributes=true) |
Connect to an advertising device. More... | |
bool | connect (const NimBLEAddress &address, bool deleteAttributes=true) |
Connect to the BLE Server. More... | |
bool | connect (bool deleteAttributes=true) |
Connect to the BLE Server. More... | |
int | disconnect (uint8_t reason=BLE_ERR_REM_USER_CONN_TERM) |
Disconnect from the peer. More... | |
size_t | deleteService (const NimBLEUUID &uuid) |
Delete service by UUID. More... | |
std::string | getValue (const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID) |
Get the value of a specific characteristic associated with a specific service. More... | |
bool | setValue (const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID, const std::string &value, bool response=false) |
Set the value of a specific characteristic associated with a specific service. More... | |
NimBLEAttValue | getValue (const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID) |
Get the value of a specific characteristic associated with a specific service. More... | |
bool | setValue (const NimBLEUUID &serviceUUID, const NimBLEUUID &characteristicUUID, const NimBLEAttValue &value, bool response=false) |
Set the value of a specific characteristic associated with a specific service. More... | |
NimBLERemoteCharacteristic * | getCharacteristic (const uint16_t handle) |
Get the remote characteristic with the specified handle. More... | |
Set the timeout to wait for connection attempt to complete. More... | |
void | setConnectionParams (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout, uint16_t scanInterval=16, uint16_t scanWindow=16) |
Set the connection paramaters to use when connecting to a server. More... | |
Set the connection parameters to use when connecting to a server. More... | |
void | updateConnParams (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) |
Update the connection parameters: More... | |
void | setDataLen (uint16_t tx_octets) |
Request an update of the data packet length. More... | |
-void | discoverAttributes () |
Retrieves the full database of attributes that the peripheral has available. | |
bool | discoverAttributes () |
Retrieves the full database of attributes that the peripheral has available. More... | |
NimBLEConnInfo | getConnInfo () |
Get detailed information about the current peer connection. | int | getLastError () |
Get the last error code reported by the NimBLE host. More... | |
void | setConnectPhy (uint8_t mask) |
Set the PHY types to use when connecting to a server. More... | |
A model of a BLE client.
@@ -214,8 +216,8 @@ voidtrue
true
[in] | deleteAttibutes | If true this will delete any attribute objects this client may already + |
[in] | deleteAttributes | If true this will delete any attribute objects this client may already have created and clears the vectors after successful connection. |
true
true
[in] | address | The address of the server. |
[in] | deleteAttibutes | If true this will delete any attribute objects this client may already + |
[in] | deleteAttributes | If true this will delete any attribute objects this client may already have created and clears the vectors after successful connection. |
true
true
[in] | device | The device to connect to. |
[in] | deleteAttibutes | If true this will delete any attribute objects this client may already + |
[in] | deleteAttributes | If true this will delete any attribute objects this client may already have created and clears the vectors after successful connection. |
Disconnect from the peer.
bool NimBLEClient::discoverAttributes | +( | +) | ++ |
Retrieves the full database of attributes that the peripheral has available.
+std::string NimBLEClient::getValue | +NimBLEAttValue NimBLEClient::getValue | ( | const NimBLEUUID & | serviceUUID, | @@ -744,7 +766,7 @@ Called automatically when a characteristic or descriptor requires encryption or
Set the connection paramaters to use when connecting to a server.
+Set the connection parameters to use when connecting to a server.
[in] | minInterval | The minimum connection interval in 1.25ms units. |
void NimBLEClient::setConnectPhy | +( | +uint8_t | +mask | ) | ++ |
Set the PHY types to use when connecting to a server.
+[in] | mask | A bitmask indicating what PHYS to connect with. +The available bits are:
|
Public Member Functions | |
- | NimBLEDescriptor (const char *uuid, uint16_t properties, uint16_t max_len, NimBLECharacteristic *pCharacteristic=nullptr) |
NimBLEDescriptor constructor. | |
NimBLEDescriptor (const char *uuid, uint16_t properties, uint16_t max_len, NimBLECharacteristic *pCharacteristic=nullptr) | |
Construct a descriptor. More... | |
- | NimBLEDescriptor (NimBLEUUID uuid, uint16_t properties, uint16_t max_len, NimBLECharacteristic *pCharacteristic=nullptr) |
NimBLEDescriptor constructor. | |
NimBLEDescriptor (NimBLEUUID uuid, uint16_t properties, uint16_t max_len, NimBLECharacteristic *pCharacteristic=nullptr) | |
Construct a descriptor. More... | |
~NimBLEDescriptor () | |
void | setCallbacks (NimBLEDescriptorCallbacks *pCallbacks) |
Set the callback handlers for this descriptor. More... | |
NimBLECharacteristic * | getCharacteristic () |
Get the characteristic this descriptor belongs to. More... | |
size_t | getLength () |
Get the length of the value of this descriptor. More... | |
uint8_t * | getValue () |
Get the value of this descriptor. More... | |
NimBLEAttValue | getValue (time_t *timestamp=nullptr) |
Get the value of this descriptor. More... | |
std::string | getStringValue () |
Get the value of this descriptor as a string. More... | |
void | setValue (const uint8_t *data, size_t size) |
Set the value of the descriptor. More... | |
void | setValue (const std::string &value) |
Set the value of the descriptor. More... | |
NimBLECharacteristic * | getCharacteristic () |
Get the characteristic this descriptor belongs to. More... | |
void | setValue (const std::vector< uint8_t > &vec) |
Set the value of the descriptor from a std::vector<uint8_t> .+. More... | |
template<typename T > | |
void | setValue (const T &s) |
Convenience template to set the descriptor value to <type>val. More... | |
Template to set the characteristic value to <type>val. More... | |
template<typename T > | |
T | getValue (time_t *timestamp=nullptr, bool skipSizeCheck=false) |
Template to convert the descriptor data to <type>. More... | |
A model of a BLE descriptor.
-NimBLEDescriptor::NimBLEDescriptor | +( | +const char * | +uuid, | +
+ | + | uint16_t | +properties, | +
+ | + | uint16_t | +max_len, | +
+ | + | NimBLECharacteristic * | +pCharacteristic = nullptr |
+
+ | ) | ++ |
Construct a descriptor.
+[in] | uuid | - UUID (const char*) for the descriptor. |
[in] | properties | - Properties for the descriptor. |
[in] | max_len | - The maximum length in bytes that the descriptor value can hold. (Default: 512 bytes for esp32, 20 for all others). |
[in] | pCharacteristic | - pointer to the characteristic instance this descriptor belongs to. |
NimBLEDescriptor::NimBLEDescriptor | +( | +NimBLEUUID | +uuid, | +
+ | + | uint16_t | +properties, | +
+ | + | uint16_t | +max_len, | +
+ | + | NimBLECharacteristic * | +pCharacteristic = nullptr |
+
+ | ) | ++ |
Construct a descriptor.
+[in] | uuid | - UUID (const char*) for the descriptor. |
[in] | properties | - Properties for the descriptor. |
[in] | max_len | - The maximum length in bytes that the descriptor value can hold. (Default: 512 bytes for esp32, 20 for all others). |
[in] | pCharacteristic | - pointer to the characteristic instance this descriptor belongs to. |
uint8_t * NimBLEDescriptor::getValue | +NimBLEAttValue NimBLEDescriptor::getValue | ( | -) | +time_t * | +timestamp = nullptr | ) |
Get the value of this descriptor.
-
+
|
+ +inline | +
Template to convert the descriptor data to <type>.
+T | The type to convert the data to. |
[in] | timestamp | (Optional) A pointer to a time_t struct to store the time the value was read. |
[in] | skipSizeCheck | (Optional) If true it will skip checking if the data size is less than sizeof(<type>) . |
sizeof(<type>)
.Use: getValue<type>(×tamp, skipSizeCheck);
Set the value of the descriptor.
+Set the value of the descriptor from a std::vector<uint8_t>
.
+.
[in] | value | The value of the descriptor in string form. |
[in] | vec | The std::vector<uint8_t> reference to set the descriptor value from. |
Convenience template to set the descriptor value to <type>val.
+Template to set the characteristic value to <type>val.
[in] | s | The value to set. |
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
||
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
||
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
||
setSecurityIOCap(uint8_t iocap) | NimBLEDevice | static |
setSecurityPasskey(uint32_t pin) | NimBLEDevice | static |
setSecurityRespKey(uint8_t init_key) | NimBLEDevice | static |
startAdvertising() | NimBLEDevice | static |
startAdvertising(uint8_t inst_id, int duration=0, int max_events=0) | NimBLEDevice | static |
startSecurity(uint16_t conn_id) | NimBLEDevice | static |
stopAdvertising() | NimBLEDevice | static |
toString() | NimBLEDevice | static |
whiteListAdd(const NimBLEAddress &address) | NimBLEDevice | static |
whiteListRemove(const NimBLEAddress &address) | NimBLEDevice | static |
stopAdvertising(uint8_t inst_id) | NimBLEDevice | static |
stopAdvertising() | NimBLEDevice | static |
toString() | NimBLEDevice | static |
whiteListAdd(const NimBLEAddress &address) | NimBLEDevice | static |
whiteListRemove(const NimBLEAddress &address) | NimBLEDevice | static |
[in] | peerAddress | An optional peer address that is copied to the new client object, allows for calling NimBLEClient::connect(bool) without a device or address parameter. |
[in] | peerAddress | An optional peer address that is copied to the new client object, allows for calling NimBLEClient::connect(bool) without a device or address parameter. |
+
|
+ +static | +
Convenience function to begin advertising.
+[in] | inst_id | The extended advertisement instance ID to start. |
[in] | duration | How long to advertise for in milliseconds, 0 = forever (default). |
[in] | max_events | Maximum number of advertisement events to send, 0 = no limit (default). |
+
|
+ +static | +
Convenience function to stop all advertising.
+
+
|
+ +static | +
Convenience function to stop advertising a data set.
+[in] | inst_id | The extended advertisement instance ID to stop advertising. |
Get the count of advertisments sent.
-Get the count of advertisements sent.
+Get the advertisment time.
-Get the advertisement time.
+Set the advertisment count.
+Set the advertisement count.
[in] | advCount | The advertisment number. |
[in] | advCount | The advertisement number. |
Set the raw data for the beacon advertisment.
+Set the raw data for the beacon advertisement.
[in] | data | The raw data to advertise. |
Set the advertisment time.
+Set the advertisement time.
[in] | tmil | The advertisment time in milliseconds. |
[in] | tmil | The advertisement time in milliseconds. |
Set the raw data for the beacon advertisment.
+Set the raw data for the beacon advertisement.
[in] | data | The raw data to advertise. |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
This is the complete list of members for NimBLEExtAdvertisement, including all inherited members.
+
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
Extended advertisement data. + More...
++Public Member Functions | |
NimBLEExtAdvertisement (uint8_t priPhy=BLE_HCI_LE_PHY_1M, uint8_t secPhy=BLE_HCI_LE_PHY_1M) | |
Construct a BLE extended advertisement. More... | |
void | setAppearance (uint16_t appearance) |
Set the appearance. More... | |
void | setCompleteServices (const NimBLEUUID &uuid) |
Set a single service to advertise as a complete list of services. More... | |
void | setCompleteServices16 (const std::vector< NimBLEUUID > &v_uuid) |
Set the complete list of 16 bit services to advertise. More... | |
void | setCompleteServices32 (const std::vector< NimBLEUUID > &v_uuid) |
Set the complete list of 32 bit services to advertise. More... | |
void | setFlags (uint8_t flag) |
Set the advertisement flags. More... | |
void | setManufacturerData (const std::string &data) |
Set manufacturer specific data. More... | |
void | setURI (const std::string &uri) |
Set the URI to advertise. More... | |
void | setName (const std::string &name) |
Set the complete name of this device. More... | |
void | setPartialServices (const NimBLEUUID &uuid) |
Set a single service to advertise as a partial list of services. More... | |
void | setPartialServices16 (const std::vector< NimBLEUUID > &v_uuid) |
Set the partial list of services to advertise. More... | |
void | setPartialServices32 (const std::vector< NimBLEUUID > &v_uuid) |
Set the partial list of services to advertise. More... | |
void | setServiceData (const NimBLEUUID &uuid, const std::string &data) |
Set the service data (UUID + data) More... | |
void | setShortName (const std::string &name) |
Set the short name. More... | |
void | setData (const uint8_t *data, size_t length) |
Set the advertisement data. More... | |
void | addData (const std::string &data) |
Add data to the payload to be advertised. More... | |
void | addData (const uint8_t *data, size_t length) |
Add data to the payload to be advertised. More... | |
+void | addTxPower () |
Adds Tx power level to the advertisement data. | |
void | setPreferredParams (uint16_t min, uint16_t max) |
Set the preferred connection interval parameters. More... | |
void | setLegacyAdvertising (bool val) |
Sets wether the advertisement should use legacy (BLE 4.0, 31 bytes max) advertising. More... | |
void | setConnectable (bool val) |
Sets wether this advertisement should advertise as a connectable device. More... | |
void | setScannable (bool val) |
Sets wether the advertisement has scan response data available. More... | |
void | setMinInterval (uint32_t mininterval) |
Set the minimum advertising interval. More... | |
void | setMaxInterval (uint32_t maxinterval) |
Set the maximum advertising interval. More... | |
void | setPrimaryPhy (uint8_t phy) |
Set the primary advertising PHY to use. More... | |
void | setSecondaryPhy (uint8_t phy) |
Set the secondary advertising PHY to use. More... | |
void | setScanFilter (bool scanRequestWhitelistOnly, bool connectWhitelistOnly) |
Set the filtering for the scan filter. More... | |
void | setDirectedPeer (const NimBLEAddress &addr) |
Sets the peer to directly advertise to. More... | |
void | setDirected (bool val, bool high_duty=true) |
Enable or disable direct advertisements to the peer set with NimBLEExtAdvertisement::setDirectedPeer More... | |
void | setAnonymous (bool val) |
Sets whether the advertisement should be anonymous. More... | |
void | setPrimaryChannels (bool ch37, bool ch38, bool ch39) |
Sets The primary channels to advertise on. More... | |
void | setTxPower (int8_t dbm) |
Sets the transmission power level for this advertisement. More... | |
void | setAddress (const NimBLEAddress &addr) |
Set the address to use for this advertisement. More... | |
void | enableScanRequestCallback (bool enable) |
Sets whether the scan response request callback should be called. More... | |
void | clearData () |
Clears the data stored in this instance, does not change settings. More... | |
+size_t | getDataSize () |
Get the size of the current data. | |
Extended advertisement data.
+NimBLEExtAdvertisement::NimBLEExtAdvertisement | +( | +uint8_t | +priPhy = BLE_HCI_LE_PHY_1M , |
+
+ | + | uint8_t | +secPhy = BLE_HCI_LE_PHY_1M |
+
+ | ) | ++ |
Construct a BLE extended advertisement.
+[in] | priPhy | The primary Phy to advertise on, can be one of:
|
[in] | secPhy | The secondary Phy to advertise on, can be one of:
|
void NimBLEExtAdvertisement::addData | +( | +const std::string & | +data | ) | ++ |
Add data to the payload to be advertised.
+[in] | data | The data to be added to the payload. |
void NimBLEExtAdvertisement::addData | +( | +const uint8_t * | +data, | +
+ | + | size_t | +length | +
+ | ) | ++ |
Add data to the payload to be advertised.
+[in] | data | The data to be added to the payload. |
[in] | length | The size of data to be added to the payload. |
void NimBLEExtAdvertisement::clearData | +( | +) | ++ |
Clears the data stored in this instance, does not change settings.
+This will clear all data but preserves advertising parameter settings.
+ +void NimBLEExtAdvertisement::enableScanRequestCallback | +( | +bool | +enable | ) | ++ |
Sets whether the scan response request callback should be called.
+[in] | enable | If true the scan response request callback will be called for this advertisement. |
void NimBLEExtAdvertisement::setAddress | +( | +const NimBLEAddress & | +addr | ) | ++ |
Set the address to use for this advertisement.
+[in] | addr | The address to use. |
void NimBLEExtAdvertisement::setAnonymous | +( | +bool | +val | ) | ++ |
Sets whether the advertisement should be anonymous.
+[in] | val | Set to true to enable anonymous advertising. |
Anonymous advertising omits the device's address from the advertisement.
+ +void NimBLEExtAdvertisement::setAppearance | +( | +uint16_t | +appearance | ) | ++ |
Set the appearance.
+[in] | appearance | The appearance code value. |
void NimBLEExtAdvertisement::setCompleteServices | +( | +const NimBLEUUID & | +uuid | ) | ++ |
Set a single service to advertise as a complete list of services.
+[in] | uuid | The service to advertise. |
void NimBLEExtAdvertisement::setCompleteServices16 | +( | +const std::vector< NimBLEUUID > & | +v_uuid | ) | ++ |
Set the complete list of 16 bit services to advertise.
+[in] | v_uuid | A vector of 16 bit UUID's to advertise. |
void NimBLEExtAdvertisement::setCompleteServices32 | +( | +const std::vector< NimBLEUUID > & | +v_uuid | ) | ++ |
Set the complete list of 32 bit services to advertise.
+[in] | v_uuid | A vector of 32 bit UUID's to advertise. |
void NimBLEExtAdvertisement::setConnectable | +( | +bool | +val | ) | ++ |
Sets wether this advertisement should advertise as a connectable device.
+[in] | val | True = connectable. |
void NimBLEExtAdvertisement::setData | +( | +const uint8_t * | +data, | +
+ | + | size_t | +length | +
+ | ) | ++ |
Set the advertisement data.
+[in] | data | The data to be set as the payload. |
[in] | length | The size of data. |
This will completely replace any data that was previously set.
+ +void NimBLEExtAdvertisement::setDirected | +( | +bool | +val, | +
+ | + | bool | +high_duty = true |
+
+ | ) | ++ |
Enable or disable direct advertisements to the peer set with NimBLEExtAdvertisement::setDirectedPeer
[in] | val | true = send directed advertisements to peer. |
[in] | high_duty | true = use fast advertising rate, default - true. |
void NimBLEExtAdvertisement::setDirectedPeer | +( | +const NimBLEAddress & | +addr | ) | ++ |
Sets the peer to directly advertise to.
+[in] | addr | The address of the peer to direct the advertisements. |
void NimBLEExtAdvertisement::setFlags | +( | +uint8_t | +flag | ) | ++ |
Set the advertisement flags.
+[in] | flag | The flags to be set in the advertisement.
|
void NimBLEExtAdvertisement::setLegacyAdvertising | +( | +bool | +val | ) | ++ |
Sets wether the advertisement should use legacy (BLE 4.0, 31 bytes max) advertising.
+[in] | val | true = using legacy advertising. |
void NimBLEExtAdvertisement::setManufacturerData | +( | +const std::string & | +data | ) | ++ |
Set manufacturer specific data.
+[in] | data | The manufacturer data to advertise. |
void NimBLEExtAdvertisement::setMaxInterval | +( | +uint32_t | +maxinterval | ) | ++ |
Set the maximum advertising interval.
+[in] | maxinterval | Maximum value for advertising interval in 0.625ms units, 0 = use default. |
void NimBLEExtAdvertisement::setMinInterval | +( | +uint32_t | +mininterval | ) | ++ |
Set the minimum advertising interval.
+[in] | mininterval | Minimum value for advertising interval in 0.625ms units, 0 = use default. |
void NimBLEExtAdvertisement::setName | +( | +const std::string & | +name | ) | ++ |
Set the complete name of this device.
+[in] | name | The name to advertise. |
void NimBLEExtAdvertisement::setPartialServices | +( | +const NimBLEUUID & | +uuid | ) | ++ |
Set a single service to advertise as a partial list of services.
+[in] | uuid | The service to advertise. |
void NimBLEExtAdvertisement::setPartialServices16 | +( | +const std::vector< NimBLEUUID > & | +v_uuid | ) | ++ |
Set the partial list of services to advertise.
+[in] | v_uuid | A vector of 16 bit UUID's to advertise. |
void NimBLEExtAdvertisement::setPartialServices32 | +( | +const std::vector< NimBLEUUID > & | +v_uuid | ) | ++ |
Set the partial list of services to advertise.
+[in] | v_uuid | A vector of 32 bit UUID's to advertise. |
void NimBLEExtAdvertisement::setPreferredParams | +( | +uint16_t | +min, | +
+ | + | uint16_t | +max | +
+ | ) | ++ |
Set the preferred connection interval parameters.
+[in] | min | The minimum interval desired. |
[in] | max | The maximum interval desired. |
void NimBLEExtAdvertisement::setPrimaryChannels | +( | +bool | +ch37, | +
+ | + | bool | +ch38, | +
+ | + | bool | +ch39 | +
+ | ) | ++ |
Sets The primary channels to advertise on.
+[in] | ch37 | Advertise on channel 37. |
[in] | ch38 | Advertise on channel 38. |
[in] | ch39 | Advertise on channel 39. |
This will set a bitmask using the input parameters to allow different
+combinations. If all inputs are false then all 3 channels will be used.
void NimBLEExtAdvertisement::setPrimaryPhy | +( | +uint8_t | +phy | ) | ++ |
Set the primary advertising PHY to use.
+[in] | phy | Can be one of following constants:
|
void NimBLEExtAdvertisement::setScanFilter | +( | +bool | +scanRequestWhitelistOnly, | +
+ | + | bool | +connectWhitelistOnly | +
+ | ) | ++ |
Set the filtering for the scan filter.
+[in] | scanRequestWhitelistOnly | If true, only allow scan requests from those on the white list. |
[in] | connectWhitelistOnly | If true, only allow connections from those on the white list. |
void NimBLEExtAdvertisement::setScannable | +( | +bool | +val | ) | ++ |
Sets wether the advertisement has scan response data available.
+[in] | val | true = scan response is available. |
void NimBLEExtAdvertisement::setSecondaryPhy | +( | +uint8_t | +phy | ) | ++ |
Set the secondary advertising PHY to use.
+[in] | phy | Can be one of following constants:
|
void NimBLEExtAdvertisement::setServiceData | +( | +const NimBLEUUID & | +uuid, | +
+ | + | const std::string & | +data | +
+ | ) | ++ |
Set the service data (UUID + data)
+[in] | uuid | The UUID to set with the service data. |
[in] | data | The data to be associated with the service data advertised. |
void NimBLEExtAdvertisement::setShortName | +( | +const std::string & | +name | ) | ++ |
Set the short name.
+[in] | name | The short name of the device. |
void NimBLEExtAdvertisement::setTxPower | +( | +int8_t | +dbm | ) | ++ |
Sets the transmission power level for this advertisement.
+[in] | dbm | the transmission power to use in dbm. |
The allowable value range depends on device hardware.
+The ESP32C3 and ESP32S3 have a range of -27 to +18.
void NimBLEExtAdvertisement::setURI | +( | +const std::string & | +uri | ) | ++ |
Set the URI to advertise.
+[in] | uri | The uri to advertise. |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
This is the complete list of members for NimBLEExtAdvertising, including all inherited members.
+isActive(uint8_t inst_id) | NimBLEExtAdvertising | |
isAdvertising() | NimBLEExtAdvertising | |
NimBLEExtAdvertising() | NimBLEExtAdvertising | inline |
removeAll() | NimBLEExtAdvertising | |
removeInstance(uint8_t inst_id) | NimBLEExtAdvertising | |
setCallbacks(NimBLEExtAdvertisingCallbacks *callbacks, bool deleteCallbacks=true) | NimBLEExtAdvertising | |
setInstanceData(uint8_t inst_id, NimBLEExtAdvertisement &adv) | NimBLEExtAdvertising | |
setScanResponseData(uint8_t inst_id, NimBLEExtAdvertisement &data) | NimBLEExtAdvertising | |
start(uint8_t inst_id, int duration=0, int max_events=0) | NimBLEExtAdvertising | |
stop(uint8_t inst_id) | NimBLEExtAdvertising | |
stop() | NimBLEExtAdvertising | |
~NimBLEExtAdvertising() | NimBLEExtAdvertising |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
Extended advertising class. + More...
++Public Member Functions | |
+ | NimBLEExtAdvertising () |
Construct an extended advertising object. | |
+ | ~NimBLEExtAdvertising () |
Destructor: deletes callback instances if requested. | |
bool | start (uint8_t inst_id, int duration=0, int max_events=0) |
Start extended advertising. More... | |
bool | setInstanceData (uint8_t inst_id, NimBLEExtAdvertisement &adv) |
Register the extended advertisement data. More... | |
bool | setScanResponseData (uint8_t inst_id, NimBLEExtAdvertisement &data) |
Set the scan response data for a legacy advertisement. More... | |
bool | removeInstance (uint8_t inst_id) |
Stop and remove this instance data from the advertisement set. More... | |
bool | removeAll () |
Stop and remove all advertising instance data. More... | |
bool | stop (uint8_t inst_id) |
Stop advertising this instance data. More... | |
bool | stop () |
Stop all advertisements. More... | |
bool | isActive (uint8_t inst_id) |
Check if currently advertising. More... | |
bool | isAdvertising () |
Check if any instances are currently advertising. More... | |
void | setCallbacks (NimBLEExtAdvertisingCallbacks *callbacks, bool deleteCallbacks=true) |
Set a callback to call when the advertisement stops. More... | |
Extended advertising class.
+bool NimBLEExtAdvertising::isActive | +( | +uint8_t | +inst_id | ) | ++ |
Check if currently advertising.
+[in] | inst_id | The instance ID of the advertised data to get the status of. |
bool NimBLEExtAdvertising::isAdvertising | +( | +) | ++ |
Check if any instances are currently advertising.
+bool NimBLEExtAdvertising::removeAll | +( | +) | ++ |
Stop and remove all advertising instance data.
+bool NimBLEExtAdvertising::removeInstance | +( | +uint8_t | +inst_id | ) | ++ |
Stop and remove this instance data from the advertisement set.
+[in] | inst_id | The extended advertisement instance to stop advertising. |
void NimBLEExtAdvertising::setCallbacks | +( | +NimBLEExtAdvertisingCallbacks * | +pCallbacks, | +
+ | + | bool | +deleteCallbacks = true |
+
+ | ) | ++ |
Set a callback to call when the advertisement stops.
+[in] | pCallbacks | A pointer to a callback to be invoked when an advertisement stops. |
[in] | deleteCallbacks | if true callback class will be deleted when advertising is destructed. |
bool NimBLEExtAdvertising::setInstanceData | +( | +uint8_t | +inst_id, | +
+ | + | NimBLEExtAdvertisement & | +adv | +
+ | ) | ++ |
Register the extended advertisement data.
+[in] | inst_id | The extended advertisement instance ID to assign to this data. |
[in] | adv | The extended advertisement instance with the data to set. |
bool NimBLEExtAdvertising::setScanResponseData | +( | +uint8_t | +inst_id, | +
+ | + | NimBLEExtAdvertisement & | +lsr | +
+ | ) | ++ |
Set the scan response data for a legacy advertisement.
+[in] | inst_id | The extended advertisement instance ID to assign to this data. |
[in] | lsr | A reference to a NimBLEExtAdvertisement that contains the data. |
bool NimBLEExtAdvertising::start | +( | +uint8_t | +inst_id, | +
+ | + | int | +duration = 0 , |
+
+ | + | int | +max_events = 0 |
+
+ | ) | ++ |
Start extended advertising.
+[in] | inst_id | The extended advertisement instance ID to start. |
[in] | duration | How long to advertise for in milliseconds, 0 = forever (default). |
[in] | max_events | Maximum number of advertisement events to send, 0 = no limit (default). |
bool NimBLEExtAdvertising::stop | +( | +) | ++ |
Stop all advertisements.
+bool NimBLEExtAdvertising::stop | +( | +uint8_t | +inst_id | ) | ++ |
Stop advertising this instance data.
+[in] | inst_id | The extended advertisement instance to stop advertising. |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
This is the complete list of members for NimBLEExtAdvertisingCallbacks, including all inherited members.
+onScanRequest(NimBLEExtAdvertising *pAdv, uint8_t inst_id, NimBLEAddress addr) | NimBLEExtAdvertisingCallbacks | virtual |
onStopped(NimBLEExtAdvertising *pAdv, int reason, uint8_t inst_id) | NimBLEExtAdvertisingCallbacks | virtual |
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
Callbacks associated with NimBLEExtAdvertising class. + More...
++Public Member Functions | |
virtual void | onStopped (NimBLEExtAdvertising *pAdv, int reason, uint8_t inst_id) |
Handle an advertising stop event. More... | |
virtual void | onScanRequest (NimBLEExtAdvertising *pAdv, uint8_t inst_id, NimBLEAddress addr) |
Handle a scan response request. This is called when a scanning device requests a scan response. More... | |
Callbacks associated with NimBLEExtAdvertising class.
+
+
|
+ +virtual | +
Handle a scan response request. This is called when a scanning device requests a scan response.
+[in] | pAdv | A convenience pointer to the extended advertising interface. |
[in] | inst_id | The instance ID of the advertisement that the scan response request was made. |
[in] | addr | The address of the device making the request. |
+
|
+ +virtual | +
Handle an advertising stop event.
+[in] | pAdv | A convenience pointer to the extended advertising interface. |
[in] | reason | The reason code for stopping the advertising. |
[in] | inst_id | The instance ID of the advertisement that was stopped. |
Default callback handlers
+ +Sets the Plug n Play characterisc value.
+Sets the Plug n Play characteristic value.
[in] | sig | The vendor ID source number. |
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
||
getHandle() | NimBLERemoteCharacteristic | |
getRemoteService() | NimBLERemoteCharacteristic | |
getUUID() | NimBLERemoteCharacteristic | |
getValue(time_t *timestamp=nullptr) | NimBLERemoteCharacteristic | |
getValue(time_t *timestamp=nullptr) | NimBLERemoteCharacteristic | |
getValue(time_t *timestamp=nullptr, bool skipSizeCheck=false) | NimBLERemoteCharacteristic | inline |
readFloat() __attribute__((deprecated("Use template readValue<float>()"))) | NimBLERemoteCharacteristic | |
readUInt16() __attribute__((deprecated("Use template readValue<uint16_t>()"))) | NimBLERemoteCharacteristic | |
readUInt32() __attribute__((deprecated("Use template readValue<uint32_t>()"))) | NimBLERemoteCharacteristic | |
readUInt8() __attribute__((deprecated("Use template readValue<uint8_t>()"))) | NimBLERemoteCharacteristic | |
readValue(time_t *timestamp=nullptr) | NimBLERemoteCharacteristic | |
readValue(time_t *timestamp=nullptr) | NimBLERemoteCharacteristic | |
readValue(time_t *timestamp=nullptr, bool skipSizeCheck=false) | NimBLERemoteCharacteristic | inline |
registerForNotify(notify_callback notifyCallback, bool notifications=true, bool response=true) __attribute__((deprecated("Use subscribe()/unsubscribe()"))) | NimBLERemoteCharacteristic | |
subscribe(bool notifications=true, notify_callback notifyCallback=nullptr, bool response=false) | NimBLERemoteCharacteristic | |
subscribe(bool notifications=true, notify_callback notifyCallback=nullptr, bool response=true) | NimBLERemoteCharacteristic | |
toString() | NimBLERemoteCharacteristic | |
unsubscribe(bool response=false) | NimBLERemoteCharacteristic | |
unsubscribe(bool response=true) | NimBLERemoteCharacteristic | |
writeValue(const uint8_t *data, size_t length, bool response=false) | NimBLERemoteCharacteristic | |
writeValue(const std::string &newValue, bool response=false) | NimBLERemoteCharacteristic | |
writeValue(const std::vector< uint8_t > &v, bool response=false) | NimBLERemoteCharacteristic | |
writeValue(const char *s, bool response=false) | NimBLERemoteCharacteristic | |
writeValue(const T &s, bool response=false) | NimBLERemoteCharacteristic | inline |
writeValue(const T &s, bool response=false) | NimBLERemoteCharacteristic | inline |
~NimBLERemoteCharacteristic() | NimBLERemoteCharacteristic |
A model of a remote BLE characteristic.
@@ -542,14 +549,14 @@ If false the vector will be returned with the currently stored descriptors of thstd::string NimBLERemoteCharacteristic::getValue | +NimBLEAttValue NimBLERemoteCharacteristic::getValue | ( | time_t * | timestamp = nullptr | ) | @@ -605,7 +612,7 @@ template<typename T >
A template to convert the remote characteristic data to <type>.
+Template to convert the remote characteristic data to <type>.
T | The type to convert the data to. |
std::string NimBLERemoteCharacteristic::readValue | +NimBLEAttValue NimBLERemoteCharacteristic::readValue | ( | time_t * | timestamp = nullptr | ) | @@ -770,7 +777,7 @@ template<typename T >
A template to convert the remote characteristic data to <type>.
+Template to convert the remote characteristic data to <type>.
T | The type to convert the data to. |
Write the new value for the characteristic.
+Write a new value to the remote characteristic from a const char*.
[in] | newValue | The new value to write. |
[in] | response | Do we expect a response? |
[in] | char_s | A character string to write to the remote characteristic. |
[in] | response | Whether we require a response from the write. |
bool NimBLERemoteCharacteristic::writeValue | +( | +const std::vector< uint8_t > & | +vec, | +
+ | + | bool | +response = false |
+
+ | ) | ++ |
Write a new value to the remote characteristic from a std::vector<uint8_t>.
+[in] | vec | A std::vector<uint8_t> value to write to the remote characteristic. |
[in] | response | Whether we require a response from the write. |
Convenience template to set the remote characteristic value to <type>val.
+Template to set the remote characteristic value to <type>val.
[in] | s | The value to write. |
[in] | response | True == request write response. |
[in] | response | True == request write response. |
Only used for non-arrays and types without a c_str()
method.
+
|
+ +inline | +
Template to set the remote characteristic value to <type>val.
+[in] | s | The value to write. |
[in] | response | True == request write response. |
Only used if the <type> has a c_str()
method.
Write the new value for the characteristic from a data buffer.
+Write a new value to the remote characteristic from a data buffer.
[in] | data | A pointer to a data buffer. |
A model of remote BLE descriptor.
@@ -214,7 +221,7 @@ Public Member FunctionsRead an unsigned 16 bit value.
Read an unsigned 32 bit value.
Read a byte value.
std::string NimBLERemoteDescriptor::readValue | +NimBLEAttValue NimBLERemoteDescriptor::readValue | ( | ) | @@ -306,7 +313,7 @@ template<typename T > |
A template to convert the remote descriptor data to <type>.
+Template to convert the remote descriptor data to <type>.
T | The type to convert the data to. | ||||
bool NimBLERemoteDescriptor::writeValue | ( | -const std::string & | -newValue, | +const char * | +char_s, |
@@ -371,20 +378,58 @@ template<typename T > |
Write data represented as a string to the BLE Remote Descriptor.
+Write a new value to the remote descriptor from a const char*.
[in] | newValue | The data to send to the remote descriptor. |
[in] | response | True if we expect a response. |
[in] | char_s | A character string to write to the remote descriptor. |
[in] | response | Whether we require a response from the write. |
bool NimBLERemoteDescriptor::writeValue | +( | +const std::vector< uint8_t > & | +vec, | +
+ | + | bool | +response = false |
+
+ | ) | ++ |
Write a new value to a remote descriptor from a std::vector<uint8_t>.
+[in] | vec | A std::vector<uint8_t> value to write to the remote descriptor. |
[in] | response | Whether we require a response from the write. |
Convenience template to set the remote descriptor value to <type>val.
+Template to set the remote descriptor value to <type>val.
[in] | s | The value to write. |
[in] | response | True == request write response. |
[in] | response | True == request write response. |
Only used for non-arrays and types without a c_str()
method.
+
|
+ +inline | +
Template to set the remote descriptor value to <type>val.
+[in] | s | The value to write. |
[in] | response | True == request write response. |
Only used if the <type> has a c_str()
method.
Write data to the BLE Remote Descriptor.
+Write a new value to a remote descriptor.
[in] | data | The data to send to the remote descriptor. |
Sets the keys we will distibute during encryption.
+Sets the keys we will distribute during encryption.
[in] | init_key | A bitmask of the keys we will distibute. + | |||||||||||||||||||||||||||||||||
[in] | init_key | A bitmask of the keys we will distribute. Can be one or more of:
|
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
esp-nimble-cpp
- 1.3.2
+ 1.4.0
setCallbacks(NimBLEServerCallbacks *pCallbacks, bool deleteCallbacks=true) | NimBLEServer | setDataLen(uint16_t conn_handle, uint16_t tx_octets) | NimBLEServer | start() | NimBLEServer | startAdvertising() | NimBLEServer | stopAdvertising() | NimBLEServer | updateConnParams(uint16_t conn_handle, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) | NimBLEServer | startAdvertising(uint8_t inst_id, int duration=0, int max_events=0) | NimBLEServer | stopAdvertising(uint8_t inst_id) | NimBLEServer | stopAdvertising() | NimBLEServer | updateConnParams(uint16_t conn_handle, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) | NimBLEServer | |
Remove a service from the server.
-Immediately removes access to the service by clients, sends a service changed indication, and removes the service (if applicable) from the advertisments. The service is not deleted unless the deleteSvc parameter is true, otherwise the service remains available and can be re-added in the future. If desired a removed but not deleted service can be deleted later by calling this method with deleteSvc set to true.
+Immediately removes access to the service by clients, sends a service changed indication, and removes the service (if applicable) from the advertisements. The service is not deleted unless the deleteSvc parameter is true, otherwise the service remains available and can be re-added in the future. If desired a removed but not deleted service can be deleted later by calling this method with deleteSvc set to true.
void NimBLEServer::startAdvertising | +bool NimBLEServer::startAdvertising | +( | +uint8_t | +inst_id, | +
+ | + | int | +duration = 0 , |
+ |
+ | + | int | +max_events = 0 |
+ |
+ | ) | ++ |
Start advertising.
+[in] | inst_id | The extended advertisement instance ID to start. |
[in] | duration | How long to advertise for in milliseconds, 0 = forever (default). |
[in] | max_events | Maximum number of advertisement events to send, 0 = no limit (default). |
Start the server advertising its existence. This is a convenience function and is equivalent to retrieving the advertising object and invoking start upon it.
+Start the server advertising its existence. This is a convenience function and is equivalent to retrieving the advertising object and invoking start upon it.
+ +bool NimBLEServer::stopAdvertising | ( | ) | @@ -692,8 +742,35 @@ Advertising will need to be restarted by the user after calling this as we must |
Start advertising.
-Start the server advertising its existence. This is a convenience function and is equivalent to retrieving the advertising object and invoking start upon it.
+Stop advertising.
+bool NimBLEServer::stopAdvertising | +( | +uint8_t | +inst_id | ) | ++ |
Convenience function to stop advertising a data set.
+[in] | inst_id | The extended advertisement instance ID to stop advertising. |
[in] | pServer | A pointer to the BLE server that received the client disconnection. |
[in] | desc | A pointer to the connection description structure containig information about the connection. |
[in] | desc | A pointer to the connection description structure containing information about the connection. |
[in] | MTU | The new MTU value. |
[in] | desc | A pointer to the connection description structure containig information about the connection. |
[in] | desc | A pointer to the connection description structure containing information about the connection. |
This is the complete list of members for NimBLEService, including all inherited members.
addCharacteristic(NimBLECharacteristic *pCharacteristic) | NimBLEService | ||
createCharacteristic(const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE) | NimBLEService | ||
createCharacteristic(const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE) | NimBLEService | ||
createCharacteristic(const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEService | ||
createCharacteristic(const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | NimBLEService | ||
dump() | NimBLEService | ||
getCharacteristic(const char *uuid, uint16_t instanceId=0) | NimBLEService | ||
getCharacteristic(const NimBLEUUID &uuid, uint16_t instanceId=0) | NimBLEService | ||
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|
|||
bool | start () | ||
Builds the database of characteristics/descriptors for the service and registers it with the NimBLE stack. More... | |||
NimBLECharacteristic * | createCharacteristic (const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE) | ||
Create a new BLE Characteristic associated with this service. More... | |||
NimBLECharacteristic * | createCharacteristic (const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE) | ||
Create a new BLE Characteristic associated with this service. More... | |||
NimBLECharacteristic * | createCharacteristic (const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | ||
Create a new BLE Characteristic associated with this service. More... | |||
NimBLECharacteristic * | createCharacteristic (const NimBLEUUID &uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t max_len=BLE_ATT_ATTR_MAX_LEN) | ||
Create a new BLE Characteristic associated with this service. More... | |||
void | addCharacteristic (NimBLECharacteristic *pCharacteristic) | ||
Add a characteristic to the service. More... | |||
uint32_t | -properties = NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE |
+ properties = NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE , |
+
+ |
+ | + | uint16_t | +max_len = BLE_ATT_ATTR_MAX_LEN |
@@ -260,6 +266,7 @@ Public Member Functions |
[in] | uuid | - The UUID of the characteristic. |
[in] | properties | - The properties of the characteristic. |
[in] | max_len | - The maximum length in bytes that the characteristic value can hold. |
NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE
NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE
, BLE_ATT_ATTR_MAX_LEN
[in] | uuid | - The UUID of the characteristic. |
[in] | properties | - The properties of the characteristic. |
[in] | max_len | - The maximum length in bytes that the characteristic value can hold. |
@@ -473,7 +476,7 @@ Static Public Member Functions |
Convienience operator to convert this UUID to string representation.
+Convenience operator to convert this UUID to string representation.
This allows passing NimBLEUUID to functions that accept std::string and/or or it's methods as a parameter.
Convert a UUID to its 128 bit representation.
-A UUID can be internally represented as 16bit, 32bit or the full 128bit. This method will convert 16 or 32 bit representations to the full 128bit.
A UUID can be internally represented as 16bit, 32bit or the full 128bit. This method will convert 16 or 32bit representations to the full 128bit.
const NimBLEUUID & NimBLEUUID::to16 | +( | +) | ++ |
Convert 128 bit UUID to its 16 bit representation.
+A UUID can be internally represented as 16bit, 32bit or the full 128bit. This method will convert a 128bit uuid to 16bit if it contains the ble base uuid.
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
NimBLE is a completely open source Bluetooth Low Energy stack produced by Apache.
It is more suited to resource constrained devices than bluedroid and has now been ported to the ESP32 by Espressif.
Arduino Library manager: Go to sketch
-> Include Library
-> Manage Libraries
and search for NimBLE and install.
-
Alternatively: Download as .zip and extract to Arduino/libraries folder, or in Arduino IDE from Sketch menu -> Include library -> Add .Zip library.
-
#include "NimBLEDevice.h"
at the beginning of your sketch.
-
Call NimBLEDevice::init
in setup
.
Tested and working with esp32-arduino in Arduino IDE and platform IO.
-
-
-
Download as .zip and extract or clone into the components folder in your esp-idf project.
Run menuconfig, go to Component config->Bluetooth
enable Bluetooth and in Bluetooth host
NimBLE.
@@ -124,7 +111,7 @@ v4.0+
Call NimBLEDevice::init
in app_main
.
The NimBLE component does not come with these versions of IDF (now included in 3.3.2 and above).
A backport that works in these versions has been created and is available here.
@@ -135,7 +122,7 @@ v3.2 & v3.3
This library is intended to be compatible with the original ESP32 BLE functions and types with minor changes.
For more advanced usage see Usage tips for more performance and optimization.
See the Refactored_original_examples in the examples folder for highlights of the differences with the original library.
-
More advanced examples highlighting many available features are in examples/NimBLE_Server, NimBLE_Client.
-
Beacon examples provided by beegee-tokyo are in examples/BLE_Beacon_Scanner, BLE_EddystoneTLM_Beacon, BLE_EddystoneURL_Beacon.
-
Change the settings in the nimconfig.h file to customize NimBLE to your project, such as increasing max connections (default is 3).
-
-
As an alternative to changing the configuration in nimconfig.h, Arduino command line and platformio.ini options are available.
- See the command line configuration options available in Command line config.
-
-
-
Come chat on gitter or open an issue at NimBLE-Arduino or esp-nimble-cpp
+ esp-nimble-cpp
+ 1.4.0
+
+ |
+
Extended advertising allows for much more capability and flexibility.
+Extended advertising is supported when enabled with the config option CONFIG_BT_NIMBLE_EXT_ADV
set to a value of 1. This is done in menuconfig under Component config > Bluetooth > NimBLE options > Enable extended advertising
, or set in nimconfig.h
for Arduino, or in build_flags
in PlatformIO.
When enabled the following will occur:
NimBLEScan::start
method will scan on both the 1M PHY and the coded PHY standards automatically.NimBLEClient::connect
will use the primary PHY the device is listening on, unless specified (see below).NimBLEClient::setConnectPhy
becomes available to specify the PHY's to connect with (default is all).NimBLEAdvertising
is no longer available for use and is replaced by NimBLEExtAdvertising
. NimBLEDevice::getAdvertising
will now return an instance of NimBLEExtAdvertising
.NimBLEAdvertisementData
is no longer available for use and is replaced by NimBLEExtAdvertisement
. This new class is where everything about the advertisement is configured, including the advertisement intervals and advertisement ended callback.
- esp-nimble-cpp
- 1.3.2
-
- |
-
CONFIG_BT_NIMBLE_MAX_CONNECTIONS
-
Sets the number of simultaneous connections (esp controller max is 9)
-
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU
-
Sets the default MTU size.
-
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
-
Set the default device name
-
CONFIG_BT_NIMBLE_DEBUG
-
If defined, enables debug log messages from the NimBLE host
-
CONFIG_NIMBLE_CPP_DEBUG_LEVEL
-
Define to set the debug log message level from the NimBLE CPP Wrapper.
- If not defined it will use the same value as the Arduino core debug level.
- Values: 0 = NONE, 1 = ERROR, 2 = WARNING, 3 = INFO, 4+ = DEBUG
-
-
CONFIG_NIMBLE_CPP_ENABLE_RETURN_CODE_TEXT
-
If defined, NimBLE host return codes will be printed as text in debug log messages.
-
CONFIG_NIMBLE_CPP_ENABLE_GAP_EVENT_CODE_TEXT
-
If defined, GAP event codes will be printed as text in debug log messages.
-
CONFIG_NIMBLE_CPP_ENABLE_ADVERTISMENT_TYPE_TEXT
-
If defined, advertisment types will be printed as text while scanning in debug log messages.
-
CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE
-
Set the default appearance.
-
CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
-
If defined, NimBLE Client functions will not be included.
-
CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED
-
If defined, NimBLE Scan functions will not be included.
-
CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
-
If defined NimBLE Server functions will not be included.
-
CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
-
If defined, NimBLE Advertising functions will not be included.
-
CONFIG_BT_NIMBLE_MAX_BONDS
-
Sets the number of devices allowed to store/bond with
-
CONFIG_BT_NIMBLE_MAX_CCCDS
-
Sets the maximum number of CCCD subscriptions to store
-
CONFIG_BT_NIMBLE_RPA_TIMEOUT
-
Sets the random address refresh time in seconds.
-
CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT
-
Set the number of msys blocks For prepare write & prepare responses. This may need to be increased if
- you are sending large blocks of data with a low MTU. E.g: 512 bytes with 23 MTU will fail.
-
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
-
Sets the NimBLE stack to use external PSRAM will be loaded
-
CONFIG_BT_NIMBLE_PINNED_TO_CORE
-
Sets the core the NimBLE host stack will run on
-
CONFIG_BT_NIMBLE_TASK_STACK_SIZE
-
Set the task stack size for the NimBLE core.
-
Many improvements have been made to this library vs the original, this is a brief overview of the most significant changes.
- Refer to the class documentation for futher information on class specifics.
-
Many improvements have been made to this library vs the original, this is a brief overview of the most significant changes. Refer to the class documentation for further information on class specifics.
NimBLECharacteristic::setValue(const T &s)
- NimBLEDescriptor::setValue(const T &s)
+
NimBLEService::NimBLEService::createCharacteristic
takes a 3rd parameter to specify the maximum data size that can be stored by the characteristic. This allows for limiting the RAM use of the characteristic in cases where small amounts of data are expected.
+
Now use a template to accomodate standard and custom types/values.
-
Example
NimBLECharacteristic::setValue(const T &s)
NimBLEDescriptor::setValue(const T &s)
Now use the NimbleAttValue
class and templates to accommodate standard and custom types/values.
Example
This will send the struct to the recieving client when read or a notification sent.
-
NimBLECharacteristic::getValue
now takes an optional timestamp parameter which will update it's value with
- the time the last value was recieved. In addition an overloaded template has been added to retrieve the value
- as a type specified by the user.
-
This will send the struct to the receiving client when read or a notification sent.
+NimBLECharacteristic::getValue
now takes an optional timestamp parameter which will update it's value with the time the last value was received. In addition an overloaded template has been added to retrieve the value as a type specified by the user.
Example
Advertising will automatically start when a client disconnects.
-
Advertising will automatically start when a client disconnects.
A new method NimBLEServer::advertiseOnDisconnect(bool)
has been implemented to control this, true(default) = enabled.
NimBLEServer::removeService
takes an additional parameter bool deleteSvc
that if true will delete the service
- and all characteristics / descriptors belonging to it and invalidating any pointers to them.
-
If false the service is only removed from visibility by clients. The pointers to the service and
- it's characteristics / descriptors will remain valid and the service can be re-added in the future
- using NimBLEServer::addService
.
+
NimBLEServer::removeService
takes an additional parameter bool deleteSvc
that if true will delete the service and all characteristics / descriptors belonging to it and invalidating any pointers to them.
If false the service is only removed from visibility by clients. The pointers to the service and it's characteristics / descriptors will remain valid and the service can be re-added in the future using NimBLEServer::addService
.
Now takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a callback
- that is invoked when advertsing ends and takes a pointer to a NimBLEAdvertising
object (similar to the NimBLEScan::start
API).
-
This provides an opportunity to update the advertisment data if desired.
-
Now takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a callback that is invoked when advertising ends and takes a pointer to a NimBLEAdvertising
object (similar to the NimBLEScan::start
API).
This provides an opportunity to update the advertisement data if desired.
Also now returns a bool value to indicate if advertising successfully started or not.
NimBLERemoteCharacteristic::readValue(time_t\*, bool)
- NimBLERemoteDescriptor::readValue(bool)
-
Have been added as templates to allow reading the values as any specified type.
-
NimBLERemoteCharacteristic::readValue(time_t\*, bool)
NimBLERemoteDescriptor::readValue(bool)
Have been added as templates to allow reading the values as any specified type.
Example
NimBLERemoteCharacteristic::registerForNotify
- Has been deprecated as now the internally stored characteristic value is updated when notification/indication is recieved.
-
NimBLERemoteCharacteristic::subscribe
and NimBLERemoteCharacteristic::unsubscribe
have been implemented to replace it.
- A callback is no longer requred to get the most recent value unless timing is important. Instead, the application can call NimBLERemoteCharacteristic::getValue
to
- get the last updated value any time.
-
+
NimBLERemoteCharacteristic::registerForNotify
Has been deprecated as now the internally stored characteristic value is updated when notification/indication is received.
NimBLERemoteCharacteristic::subscribe
and NimBLERemoteCharacteristic::unsubscribe
have been implemented to replace it. A callback is no longer required to get the most recent value unless timing is important. Instead, the application can call NimBLERemoteCharacteristic::getValue
to get the last updated value any time.
The notifiy_callback
function is now defined as a std::function
to take advantage of using std::bind
to specifiy a class member function for the callback.
-
Example:
-
The notify_callback
function is now defined as a std::function
to take advantage of using std::bind
to specify a class member function for the callback.
Example:
NimBLERemoteCharacteristic::readValue
and NimBLERemoteCharacteristic::getValue
take an optional timestamp parameter which will update it's value with
- the time the last value was recieved.
-
NimBLERemoteCharacteristic::readValue
and NimBLERemoteCharacteristic::getValue
take an optional timestamp parameter which will update it's value with the time the last value was received.
-NimBLEClient::getService
+ NimBLERemoteCharacteristic::getDescriptor
NimBLERemoteService::getCharacteristic
- NimBLERemoteCharacteristic::getDescriptor
-
These methods will now check the respective vectors for the attribute object and, if not found, will retrieve (only)
- the specified attribute from the peripheral.
-
These methods will now check the respective vectors for the attribute object and, if not found, will retrieve (only) the specified attribute from the peripheral.
These changes allow more control for the user to manage the resources used for the attributes.
NimBLEClient::connect()
can now be called without an address or advertised device parameter. This will connect to the
- device with the address previously set when last connected or set with NimBLEDevice::setPeerAddress()
.
NimBLEClient::connect()
can now be called without an address or advertised device parameter. This will connect to the device with the address previously set when last connected or set with NimBLEDevice::setPeerAddress()
.
To reduce resource use all instances of std::map
have been replaced with std::vector
.
-
Use of FreeRTOS::Semaphore
has been removed as it was consuming too much ram, the related files have been left in place to accomodate application use.
-
Operators ==
, !=
and std::string
have been added to NimBLEAddress
and NimBLEUUID
for easier comparison and logging.
-
New constructor for NimBLEUUID(uint32_t, uint16_t, uint16_t, uint64_t)
added to lower memory use vs string construction. See: #21.
-
Security/pairing operations are now handled in the respective NimBLEClientCallbacks
and NimBLEServerCallbacks
classes, NimBLESecurity
(deprecated) remains for backward compatibility.
-
Configuration options have been added to add or remove debugging information, when disabled (default) significatly reduces binary size.
- In ESP-IDF the options are in menuconfig: Main menu -> ESP-NimBLE-cpp configuration
.
- For Arduino the options must be commented / uncommented in nimconfig.h.
-
-
-
To reduce resource use all instances of std::map
have been replaced with std::vector
.
Use of FreeRTOS::Semaphore
has been removed as it was consuming too much ram, the related files have been left in place to accomodate application use.
Operators ==
, !=
and std::string
have been added to NimBLEAddress
and NimBLEUUID
for easier comparison and logging.
New constructor for NimBLEUUID(uint32_t, uint16_t, uint16_t, uint64_t)
added to lower memory use vs string construction. See: #21.
Security/pairing operations are now handled in the respective NimBLEClientCallbacks
and NimBLEServerCallbacks
classes, NimBLESecurity
(deprecated) remains for backward compatibility.
Configuration options have been added to add or remove debugging information, when disabled (default) significantly reduces binary size. In ESP-IDF the options are in menuconfig: Main menu -> ESP-NimBLE-cpp configuration
.
+ For Arduino the options must be commented / uncommented in nimconfig.h.
Characteristics and descriptors now use the NimBLEAttValue
class to store their data. This is a polymorphic container class capable of converting to/from many different types efficiently. See: #286
All notable changes to this project will be documented in this file.
NimBLEClient::discoverAttributes
now returns a bool value to indicate success/failure.NimBLEServerCallbacks::onMTUChange
to onMtuChanged
in order to support porting code from original library.NimBLEAttValue
Class added to reduce and control RAM footprint of characteristic/descriptor values and support conversions from Arduino Strings and many other data types.NimBLEClient::getLastError
: Gets the error code of the last function call that produces a return code from the stack.NimBLECharacteristic::notify
: Overload method to send notifications/indications with custom values.NimBLECharacteristic::notify
: Overload method to send notifications/indications with custom values.onMtuChanged
.NimBLEClient::setDataLen
and NimBLEServer::setDataLen
: Data length extension support (IDF version >= 4.3.2 only)portMUX_TYPE
variable in the class definitions.NimBLEService
and changed the constructor no no longer accept numHandles
and inst_id
parameters.btInUse
.NimBLECharacteristic::removeDescriptor
: Dynamically remove a descriptor from a characterisic. Takes effect after all connections are closed and sends a service changed indication.NimBLECharacteristic::removeDescriptor
: Dynamically remove a descriptor from a characterisic. Takes effect after all connections are closed and sends a service changed indication.NimBLEService::removeCharacteristic
: Dynamically remove a characteristic from a service. Takes effect after all connections are closed and sends a service changed indicationNimBLEServerCallbacks::onMTUChange
: This is callback is called when the MTU is updated after connection with a client.NimBLEConnInfo
.NimBLEScan::clearDuplicateCache
: This can be used to reset the cache of advertised devices so they will be immediately discovered again.NimBLECharacteristicCallbacks::onSubscribe
Is now called after the connection is added to the vector.NimBLECharacteristic::getDescriptorByHandle
: Return the BLE Descriptor for the given handle.nimconfig.h
(Arduino) is now easier to use.NimBLEHIDDevice
Characteristics now use encryption, this resolves an issue with communicating with devices requiring encryption for HID devices.NimBLEDevice::setOwnAddrType
added to enable the use of random and random-resolvable addresses, by asukiaaa nimconfig.h
to support custom configuration in platformio. NimBLEClient::setValue
Now takes an extra bool parameter response
to enable the use of write with response (default = false). NimBLEClient::setValue
Now takes an extra bool parameter response
to enable the use of write with response (default = false). NimBLEClient::getCharacteristic(uint16_t handle)
Enabling the use of the characteristic handle to be used to find the NimBLERemoteCharacteristic object. nimconfig.h
for command line defined macros to support platformio config settings. NimBLEAdvertising::start
now returns a bool value to indicate success/failure. NimBLERemoteCharacteristic::subscribe
and NimBLERemoteCharacteristic::registerForNotify
will now set the callback regardless of the existance of the CCCD and return true unless the descriptor write operation failed. NimBLERemoteCharacteristic::subscribe
and NimBLERemoteCharacteristic::registerForNotify
will now set the callback regardless of the existance of the CCCD and return true unless the descriptor write operation failed. NimBLEClient::connect
would hang on the task block if no event arrived to unblock. NimBLEClient::connect
would hang on the task block if no event arrived to unblock. NimBLEAdvertising::start
Now takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a NimBLEAddress
constructor: NimBLEAddress()
produces an address of 00:00:00:00:00:00 type 0.First stable release.
All the original library functionality is complete and many extras added with full documentation.
diff --git a/md__migration_guide.html b/md__migration_guide.html index cd84f9e..3a05925 100644 --- a/md__migration_guide.html +++ b/md__migration_guide.html @@ -26,7 +26,7 @@This guide describes the required changes to existing projects migrating from the original bluedroid API to NimBLE.
-
The changes listed here are only the required changes that must be made, and a short overview of options for migrating existing applications.
-
For more information on the improvements and additions please refer to the class documentation and Improvements and updates
-
This guide describes the required changes to existing projects migrating from the original bluedroid API to NimBLE.
+The changes listed here are only the required changes that must be made, and a short overview of options for migrating existing applications.
+For more information on the improvements and additions please refer to the class documentation and Improvements and updates
All classes are accessible by including NimBLEDevice.h
in your application, no further headers need to be included.
+
All classes are accessible by including NimBLEDevice.h
in your application, no further headers need to be included.
(Mainly for Arduino) You may choose to include NimBLELog.h
in your application if you want to use the NIMBLE_LOGx
macros for debugging. These macros are used the same way as the ESP_LOGx
macros.
(Mainly for Arduino) You may choose to include NimBLELog.h
in your appplication if you want to use the NIMBLE_LOGx
macros for debugging.
- These macros are used the same way as the ESP_LOGx
macros.
-
-
Class names remain the same as the original with the addition of a "Nim" prefix.
- For example BLEDevice
is now NimBLEDevice
and BLEServer
is now NimBLEServer
etc.
+
Class names remain the same as the original with the addition of a "Nim" prefix. For example BLEDevice
is now NimBLEDevice
and BLEServer
is now NimBLEServer
etc.
For convenience definitions have been added to allow applications to use either name for all classes this means no class names need to be changed in existing code and makes migrating easier.
For convienience definitions have been added to allow applications to use either name for all classes
- this means no class names need to be changed in existing code and makes migrating easier.
-
-
BLEAddress
(NimBLEAddress
) When constructing an address the constructor now takes an *(optional)* uint8_t type
paramameter
- to specify the address type. Default is (0) Public static address.
-
For example BLEAddress addr(11:22:33:44:55:66, 1)
will create the address object with an address type of: 1 (Random).
-
As this paramameter is optional no changes to existing code are needed, it is mentioned here for information.
-
- BLEAddress::getNative
(NimBLEAddress::getNative
) returns a uint8_t pointer to the native address byte array.
- In this library the address bytes are stored in reverse order from the original library. This is due to the way
- the NimBLE stack expects addresses to be presented to it. All other functions such as toString
are
- not affected as the endian change is made within them.
-
+
BLEAddress
(NimBLEAddress
) When constructing an address the constructor now takes an *(optional)* uint8_t type
parameter to specify the address type. Default is (0) Public static address.
For example BLEAddress addr(11:22:33:44:55:66, 1)
will create the address object with an address type of: 1 (Random).
As this parameter is optional no changes to existing code are needed, it is mentioned here for information.
+BLEAddress::getNative
(NimBLEAddress::getNative
) returns a uint8_t pointer to the native address byte array. In this library the address bytes are stored in reverse order from the original library. This is due to the way the NimBLE stack expects addresses to be presented to it. All other functions such as toString
are not affected as the endian change is made within them.
Creating a BLEServer
instance is the same as original, no changes required. For example BLEDevice::createServer()
will work just as it did before.
-
BLEServerCallbacks
(NimBLEServerCallbacks
) has new methods for handling security operations.
- Note: All callback methods have default implementations which allows the application to implement only the methods applicable.
-
+
Creating a BLEServer
instance is the same as original, no changes required. For example BLEDevice::createServer()
will work just as it did before.
BLEServerCallbacks
(NimBLEServerCallbacks
) has new methods for handling security operations. Note: All callback methods have default implementations which allows the application to implement only the methods applicable.
Creating a BLEService
(NimBLEService
) instance is the same as original, no changes required.
- For example BLEServer::createService(SERVICE_UUID)
will work just as it did before.
-
Creating a BLEService
(NimBLEService
) instance is the same as original, no changes required. For example BLEServer::createService(SERVICE_UUID)
will work just as it did before.
BLEService::createCharacteristic
(NimBLEService::createCharacteristic
) is used the same way as originally except the properties parameter has changed.
-
BLEService::createCharacteristic
(NimBLEService::createCharacteristic
) is used the same way as originally except the properties parameter has changed.
When creating a characteristic the properties are now set with NIMBLE_PROPERTY::XXXX
instead of BLECharacteristic::XXXX
.
--BLECharacteristic::PROPERTY_READ |
+
- BLECharacteristic::PROPERTY_WRITE
-BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE
-NIMBLE_PROPERTY::READ |
+
- NIMBLE_PROPERTY::WRITE
-NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE
-NIMBLE_PROPERTY::READ
+
- NIMBLE_PROPERTY::READ_ENC
- NIMBLE_PROPERTY::READ_AUTHEN
- NIMBLE_PROPERTY::READ_AUTHOR
- NIMBLE_PROPERTY::WRITE
- NIMBLE_PROPERTY::WRITE_NR
- NIMBLE_PROPERTY::WRITE_ENC
- NIMBLE_PROPERTY::WRITE_AUTHEN
- NIMBLE_PROPERTY::WRITE_AUTHOR
- NIMBLE_PROPERTY::BROADCAST
- NIMBLE_PROPERTY::NOTIFY
- NIMBLE_PROPERTY::INDICATE
-NIMBLE_PROPERTY::READ NIMBLE_PROPERTY::READ_ENC NIMBLE_PROPERTY::READ_AUTHEN NIMBLE_PROPERTY::READ_AUTHOR NIMBLE_PROPERTY::WRITE NIMBLE_PROPERTY::WRITE_NR NIMBLE_PROPERTY::WRITE_ENC NIMBLE_PROPERTY::WRITE_AUTHEN NIMBLE_PROPERTY::WRITE_AUTHOR NIMBLE_PROPERTY::BROADCAST NIMBLE_PROPERTY::NOTIFY NIMBLE_PROPERTY::INDICATE
Example:
Needs to be changed to:
BLECharacteristicCallbacks
(NimBLECharacteristicCallbacks
) has a new method NimBLECharacteristicCallbacks::onSubscribe
- which is called when a client subscribes to notifications/indications.
-
BLECharacteristicCallbacks
(NimBLECharacteristicCallbacks
) has a new method NimBLECharacteristicCallbacks::onSubscribe
which is called when a client subscribes to notifications/indications.
Note: All callback methods have default implementations which allows the application to implement only the methods applicable.
-
--BLECharacteristic::getData
+
-BLECharacteristic::getData
Has been removed from the API.
- Originally this returned a uint8_t*
to the internal data, which is volatile.
- To prevent possibly throwing exceptions this has been removed and NimBLECharacteristic::getValue
should be used
- to get a copy of the data first which can then safely be accessed via pointer.
-
Has been removed from the API. Originally this returned a uint8_t*
to the internal data, which is volatile. To prevent possibly throwing exceptions this has been removed and NimBLECharacteristic::getValue
should be used to get a copy of the data first which can then safely be accessed via pointer.
Example:
Alternatively use the getValue
template:
The previous method BLECharacteristic::addDescriptor()
has been removed.
-
Descriptors are now created using the NimBLECharacteristic::createDescriptor
method.
BLE2902 or NimBLE2902 class has been removed.
- NimBLE automatically creates the 0x2902 descriptor if a characteristic has a notification or indication property assigned to it.
-
It was no longer useful to have a class for the 0x2902 descriptor as a new callback NimBLECharacteristicCallbacks::onSubscribe
was added
- to handle callback functionality and the client subscription status is handled internally.
-
Descriptors are now created using the NimBLECharacteristic::createDescriptor
method.
BLE2902 or NimBLE2902 class has been removed. NimBLE automatically creates the 0x2902 descriptor if a characteristic has a notification or indication property assigned to it.
+It was no longer useful to have a class for the 0x2902 descriptor as a new callback NimBLECharacteristicCallbacks::onSubscribe
was added to handle callback functionality and the client subscription status is handled internally.
Note: Attempting to create a 0x2902 descriptor will trigger an assert to notify the error, allowing the creation of it would cause a fault in the NimBLE stack.
-All other descriptors are now created just as characteristics are by using the NimBLECharacteristic::createDescriptor
method (except 0x2904, see below).
- Which are defined as:
All other descriptors are now created just as characteristics are by using the NimBLECharacteristic::createDescriptor
method (except 0x2904, see below). Which are defined as:
Would create a descriptor with the UUID 0xABCD, publicly readable but only writable if paired/bonded (encrypted) and has a max value length of 25 bytes.
-
For the 0x2904, there is a special class that is created when you call `createDescriptor("2904").
-The pointer returned is of the base class NimBLEDescriptor
but the call will create the derived class of NimBLE2904
so you must cast the returned pointer to
- NimBLE2904
to access the specific class methods.
The pointer returned is of the base class NimBLEDescriptor
but the call will create the derived class of NimBLE2904
so you must cast the returned pointer to NimBLE2904
to access the specific class methods.
Security is set on the characteristic or descriptor properties by applying one of the following:
--NIMBLE_PROPERTY::READ_ENC
+
- NIMBLE_PROPERTY::READ_AUTHEN
- NIMBLE_PROPERTY::READ_AUTHOR
- NIMBLE_PROPERTY::WRITE_ENC
- NIMBLE_PROPERTY::WRITE_AUTHEN
- NIMBLE_PROPERTY::WRITE_AUTHOR
-NIMBLE_PROPERTY::READ_ENC NIMBLE_PROPERTY::READ_AUTHEN NIMBLE_PROPERTY::READ_AUTHOR NIMBLE_PROPERTY::WRITE_ENC NIMBLE_PROPERTY::WRITE_AUTHEN NIMBLE_PROPERTY::WRITE_AUTHOR
When a peer wants to read or write a characteristic or descriptor with any of these properties applied
- it will trigger the pairing process. By default the "just-works" pairing will be performed automatically.
- This can be changed to use passkey authentication or numeric comparison. See Security API for details.
-
+
+
When a peer wants to read or write a characteristic or descriptor with any of these properties applied it will trigger the pairing process. By default the "just-works" pairing will be performed automatically.
+This can be changed to use passkey authentication or numeric comparison. See Security API for details.
Advertising works the same as the original API except:
-
--BLEAdvertising::setMinPreferred
-
- BLEAdvertising::setMaxPreferred
-
These methods were found to not provide useful functionality and consumed valuable advertising space (6 bytes of 31) if used unknowingly.
- If you wish to advertise these parameters you can still do so manually via BLEAdvertisementData::addData
(NimBLEAdvertisementData::addData
).
-
-
Calling NimBLEAdvertising::setAdvertisementData
will entirely replace any data set with NimBLEAdvertising::addServiceUUID
, or
- NimBLEAdvertising::setAppearance
or similar methods. You should set all the data you wish to advertise within the NimBLEAdvertisementData
instead.
-
Calling NimBLEAdvertising::setScanResponseData
without also calling NimBLEAdvertising::setAdvertisementData
will have no effect.
- When using custom scan response data you must also use custom advertisement data.
- No longer true as of release 1.2.0 and above, custom scan response is now supported without custom advertisement data.
-
+
Advertising works the same as the original API except:
+Calling NimBLEAdvertising::setAdvertisementData
will entirely replace any data set with NimBLEAdvertising::addServiceUUID
, or NimBLEAdvertising::setAppearance
or similar methods. You should set all the data you wish to advertise within the NimBLEAdvertisementData
instead.
-BLEAdvertising::start (NimBLEAdvertising::start)
Now takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a callback
- that is invoked when advertsing ends and takes a pointer to a NimBLEAdvertising
object (similar to the NimBLEScan::start
API).
-
This provides an opportunity to update the advertisment data if desired.
-
+
Now takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a callback that is invoked when advertising ends and takes a pointer to a NimBLEAdvertising
object (similar to the NimBLEScan::start
API). This provides an opportunity to update the advertisement data if desired.
Client instances are created just as before with BLEDevice::createClient
(NimBLEDevice::createClient
).
-
Multiple client instances can be created, up to the maximum number of connections set in the config file (default: 3).
- To delete a client instance you must use NimBLEDevice::deleteClient
.
-
BLEClient::connect
(NimBLEClient::connect
) Has had it's parameters altered.
- Defined as:
-NimBLEClient::connect(bool deleteServices = true);
+
- NimBLEClient::connect(NimBLEAdvertisedDevice* device, bool deleteServices = true);
- NimBLEClient::connect(NimBLEAddress address, bool deleteServices = true);
-Client instances are created just as before with
+BLEDevice::createClient
(NimBLEDevice::createClient
).Multiple client instances can be created, up to the maximum number of connections set in the config file (default: 3). To delete a client instance you must use
+NimBLEDevice::deleteClient
.
BLEClient::connect
(NimBLEClient::connect
) Has had it's parameters altered. Defined as:+-NimBLEClient::connect(bool deleteServices = true); NimBLEClient::connect(NimBLEAdvertisedDevice* device, bool deleteServices = true); NimBLEClient::connect(NimBLEAddress address, bool deleteServices = true);
The type parameter has been removed and a new bool parameter has been added to indicate if the client should
- delete the attribute database previously retrieved (if applicable) for the peripheral, default value is true.
- If set to false the client will use the attribute database it retrieved from the peripheral when previously connected.
- This allows for faster connections and power saving if the devices dropped connection and are reconnecting.
-
+The type parameter has been removed and a new bool parameter has been added to indicate if the client should delete the attribute database previously retrieved (if applicable) for the peripheral, default value is true.
+If set to false the client will use the attribute database it retrieved from the peripheral when previously connected.
+This allows for faster connections and power saving if the devices dropped connection and are reconnecting.
--+
BLEClient::getServices
(NimBLEClient::getServices
)
-
BLEClient::getServices
(NimBLEClient::getServices
)This method now takes an optional (bool) parameter to indicate if the services should be retrieved from the server (true) or
- the currently known database returned (false : default).
- Also now returns a pointer tostd::vector
instead ofstd::map
.
-
+This method now takes an optional (bool) parameter to indicate if the services should be retrieved from the server (true) or the currently known database returned (false : default). Also now returns a pointer to
-std::vector
instead ofstd::map
.
Removed: the automatic discovery of all peripheral attributes as they consumed time and resources for data
-
- the user may not be interested in.
-Added:
NimBLEClient::discoverAttributes
for the user to discover all the peripheral attributes
- to replace the the removed automatic functionality.
-
+Removed: the automatic discovery of all peripheral attributes as they consumed time and resources for data the user may not be interested in.
+Added:
-NimBLEClient::discoverAttributes
for the user to discover all the peripheral attributes to replace the the removed automatic functionality.
+
Remote Services
-+
BLERemoteService
(NimBLERemoteService
) Methods remain mostly unchanged with the exceptions of:
-
BLERemoteService
(NimBLERemoteService
) Methods remain mostly unchanged with the exceptions of:BLERemoteService::getCharacteristicsByHandle
This method has been removed.
-
-
BLERemoteService::getCharacteristics
(NimBLERemoteService::getCharacteristics
)This method now takes an optional (bool) parameter to indicate if the characteristics should be retrieved from the server (true) or
- the currently known database returned (false : default).
- Also now returns a pointer tostd::vector
instead ofstd::map
.
-
+This method now takes an optional (bool) parameter to indicate if the characteristics should be retrieved from the server (true) or the currently known database returned (false : default). Also now returns a pointer to
-std::vector
instead ofstd::map
.
+
Remote Characteristics
-+
BLERemoteCharacteristic
(NimBLERemoteCharacteristic
) There have been a few changes to the methods in this class:
-
BLERemoteCharacteristic
(NimBLERemoteCharacteristic
) There have been a few changes to the methods in this class:-+
BLERemoteCharacteristic::writeValue
(NimBLERemoteCharacteristic::writeValue
)
-BLERemoteCharacteristic::registerForNotify
(NimBLERemoteCharacteristic::registerForNotify
)
-
BLERemoteCharacteristic::writeValue
(NimBLERemoteCharacteristic::writeValue
)BLERemoteCharacteristic::registerForNotify
(NimBLERemoteCharacteristic::registerForNotify
)Now return true or false to indicate success or failure so you can choose to disconnect or try again.
-
--+
BLERemoteCharacteristic::registerForNotify
(NimBLERemoteCharacteristic::registerForNotify
)
-
BLERemoteCharacteristic::registerForNotify
(NimBLERemoteCharacteristic::registerForNotify
)Is now deprecated.
--+
NimBLERemoteCharacteristic::subscribe
-NimBLERemoteCharacteristic::unsubscribe
-Is now deprecated.
+
NimBLERemoteCharacteristic::subscribe
NimBLERemoteCharacteristic::unsubscribe
Are the new methods added to replace it.
-
--+
BLERemoteCharacteristic::readUInt8
(NimBLERemoteCharacteristic::readUInt8
)
-BLERemoteCharacteristic::readUInt16
(NimBLERemoteCharacteristic::readUInt16
)
-BLERemoteCharacteristic::readUInt32
(NimBLERemoteCharacteristic::readUInt32
)
-BLERemoteCharacteristic::readFloat
(NimBLERemoteCharacteristic::readFloat
)
-
BLERemoteCharacteristic::readUInt8
(NimBLERemoteCharacteristic::readUInt8
)BLERemoteCharacteristic::readUInt16
(NimBLERemoteCharacteristic::readUInt16
)BLERemoteCharacteristic::readUInt32
(NimBLERemoteCharacteristic::readUInt32
)BLERemoteCharacteristic::readFloat
(NimBLERemoteCharacteristic::readFloat
)Are deprecated a template: NimBLERemoteCharacteristic::readValue<type>(time_t*, bool) has been added to replace them.
-
+Are deprecated a template:
NimBLERemoteCharacteristic::readValue<type\>(time_t\*, bool)
has been added to replace them.
--+
BLERemoteCharacteristic::readRawData
-
BLERemoteCharacteristic::readRawData
Has been removed from the API
- Originally it stored an unnecessary copy of the data and was returning auint8_t
pointer to volatile internal data.
- The user application should useNimBLERemoteCharacteristic::readValue
orNimBLERemoteCharacteristic::getValue
.
- To obatain a copy of the data, then cast the returned std::string to the type required such as:
-std::string value = pChr->readValue();+Has been removed from the API Originally it stored an unnecessary copy of the data and was returning a
uint8_t
pointer to volatile internal data. The user application should useNimBLERemoteCharacteristic::readValue
orNimBLERemoteCharacteristic::getValue
. To obtain a copy of the data, then cast the returned std::string to the type required such as:std::string value = pChr->readValue();uint8_t *data = (uint8_t*)value.data();Alternatively use the
readValue
template:my_struct_t myStruct = pChr->readValue<my_struct_t>();
--+
BLERemoteCharacteristic::getDescriptors
(NimBLERemoteCharacteristic::getDescriptors
)
-
BLERemoteCharacteristic::getDescriptors
(NimBLERemoteCharacteristic::getDescriptors
)This method now takes an optional (bool) parameter to indicate if the descriptors should be retrieved from the server (true) or
- the currently known database returned (false : default).
- Also now returns a pointer tostd::vector
instead ofstd::map
.
-
+This method now takes an optional (bool) parameter to indicate if the descriptors should be retrieved from the server (true) or the currently known database returned (false : default). Also now returns a pointer to
-std::vector
instead ofstd::map
.
+
Client Security
-The client will automatically initiate security when the peripheral responds that it's required.
- The default configuration will use "just-works" pairing with no bonding, if you wish to enable bonding see below.
-
+The client will automatically initiate security when the peripheral responds that it's required. The default configuration will use "just-works" pairing with no bonding, if you wish to enable bonding see below.
-
+
Security API
Security operations have been moved to
-BLEDevice
(NimBLEDevice
).Also security callback methods are now incorporated in the
+NimBLEServerCallbacks
/NimBLEClientCallbacks
classes.
- However backward compatibility with the originalBLESecurity
(NimBLESecurity
) class is retained to minimize application code changes.
-Also security callback methods are now incorporated in the
NimBLEServerCallbacks
/NimBLEClientCallbacks
classes. However backward compatibility with the originalBLESecurity
(NimBLESecurity
) class is retained to minimize application code changes.The callback methods are:
-+
bool onConfirmPIN(uint32_t pin)
-
bool onConfirmPIN(uint32_t pin)
Receives the pin when using numeric comparison authentication,
return true;
to accept.
-
--+
uint32_t onPassKeyRequest()
-
uint32_t onPassKeyRequest()
For server callback; return the passkey expected from the client.
- For client callback; return the passkey to send to the server.
-
+For server callback; return the passkey expected from the client. For client callback; return the passkey to send to the server.
-+
void onAuthenticationComplete(ble_gap_conn_desc\* desc)
-
void onAuthenticationComplete(ble_gap_conn_desc\* desc)
Authentication complete, success or failed information is in
desc
.
-
Security settings and IO capabilities are now set by the following methods of NimBLEDevice.
-+
NimBLEDevice::setSecurityAuth(bool bonding, bool mitm, bool sc)
-NimBLEDevice::setSecurityAuth(uint8_t auth_req)
-
NimBLEDevice::setSecurityAuth(bool bonding, bool mitm, bool sc)
NimBLEDevice::setSecurityAuth(uint8_t auth_req)
Sets the authorization mode for this device.
-
- +Sets the Input/Output capabilities of this device.
-
- +If we are the initiator of the security procedure this sets the keys we will distribute.
-
- +Sets the keys we are willing to accept from the peer during pairing.
-
-
+
Arduino Configuration
-Unlike the original library pre-packaged in the esp32-arduino, this library has all the configuration
-
- options that are normally set in menuconfig available in the src/nimconfig.h file.
-This allows Arduino users to fully customize the build, such as increasing max connections
+
- or loading the BLE stack into external PSRAM.
-Unlike the original library pre-packaged in the esp32-arduino, this library has all the configuration options that are normally set in menuconfig available in the src/nimconfig.h file.
+This allows Arduino users to fully customize the build, such as increasing max connections or loading the BLE stack into external PSRAM.
For details on the options, they are fully commented in nimconfig.h
-
At the top of your application file add #include NimBLEDevice.h
, this is the only header required and provides access to all classes.
In order to perform any BLE tasks you must first initialize the library, this prepares the NimBLE stack to be ready for commands.
BLE servers perform 2 tasks, they advertise their existance for clients to find them and they provide services which contain information for the connecting client.
+
BLE servers perform 2 tasks, they advertise their existence for clients to find them and they provide services which contain information for the connecting client.
After initializing the NimBLE stack we create a server by calling NimBLEDevice::createServer()
, this will create a server instance and return a pointer to it.
Now we have NimBLE initialized, a server created and a service assigned to it.
We can't do much with this yet so now we should add a characteristic to the service to provide some data.
Next we call NimBLEService::createCharacteristic
which returns a pointer to an instance of NimBLECharacteristic
, and takes two parameters: A uuid
to specify the UUID of the characteristic and a bitmask of the properties we want applied to it.
+
Next we call NimBLEService::createCharacteristic
which returns a pointer to an instance of NimBLECharacteristic
, and takes two parameters: A uuid
to specify the UUID of the characteristic and a bitmask of the properties we want applied to it.
Just as with the service UUID we will use a simple 16 bit value: 1234.
The properties bitmask is a little more involved. It is a combination of NIMBLE_PROPERTY:: values.
@@ -177,10 +177,10 @@ Creating a Server
All that's left to do now is start the sevice, give the characteristic a value and start advertising for clients.
+
All that's left to do now is start the service, give the characteristic a value and start advertising for clients.
Fist we start the service by calling NimBLEService::start()
.
Next we need to call NimBLECharacteristic::setValue
to set the characteristic value that the client will read.
+
Next we need to call NimBLECharacteristic::setValue
to set the characteristic value that the client will read.
There are many different types you can send as parameters for the value but for this example we will use a simple string. pCharacteristic->setValue("Hello BLE");
Next we need to advertise for connections.
@@ -217,7 +217,7 @@ Creating a Server
BLE clients perform 2 tasks, they scan for advertising servers and form connections to them to read and write to their characteristics/descriptors.
After initializing the NimBLE stack we create a scan instance by calling NimBLEDevice::getScan()
, this will create a NimBLEScan
instance and return a pointer to it.
@@ -247,7 +247,7 @@ Creating a Client
To do this we iterate through the results and check if any of the devices found are advertising the service we want ABCD
.
Each result in NimBLEScanResults
is a NimBLEAdvertisedDevice
instance that we can access data from.
We will check each device found for the ABCD
service by calling NimBLEAdvertisedDevice::isAdvertisingService
.
+
We will check each device found for the ABCD
service by calling NimBLEAdvertisedDevice::isAdvertisingService
.
This takes an instance of NimBLEUUID
as a parameter so we will need to create one.
The code for this looks like:
To do this we call NimBLEDevice::createClient
which creates the NimBLEClient
instance and returns a pointer to it.
After this we call NimBLEClient::connect
to connect to the advertiser.
+
After this we call NimBLEClient::connect
to connect to the advertiser.
This takes a pointer to the NimBLEAdvertisedDevice
and returns true
if successful.
Lets do that now:
As shown, the call to NimBLEClient::connect
should have it's eturn value tested to make sure it succeeded before proceeding to get data.
+
As shown, the call to NimBLEClient::connect
should have it's return value tested to make sure it succeeded before proceeding to get data.
Next we need to access the servers data by asking it for the service and the characteristic we are interested in, then read the characteristic value.
To do this we call NimBLEClient::getService
, which takes as a parameter the UUID of the service and returns
a pointer an instance to NimBLERemoteService
or nullptr
if the service was not found.
Next we will call NimBLERemoteService::getCharateristic
which takes as a parameter the UUID of the service and returns
+
Next we will call NimBLERemoteService::getCharacteristic
which takes as a parameter the UUID of the service and returns
a pointer to an instance of NimBLERemoteCharacteristic
or nullptr
if not found.
Finally we will read the characteristic value with NimBLERemoteCharacteristic::readValue()
.
+
Finally we will read the characteristic value with NimBLERemoteCharacteristic::readValue()
.
Here is what that looks like:
When commands are sent to the stack from a differnt core they can experience delays in execution.
+
When commands are sent to the stack from a different core they can experience delays in execution.
This library detects this and invokes the esp32 IPC to reroute these commands through the correct core but this also increases overhead.
Therefore it is highly recommended to create tasks for BLE to run on the same core, the macro CONFIG_BT_NIMBLE_PINNED_TO_CORE
can be used to set the core.
When a client instance has been created and has connected to a peer device and it has retrieved service/characteristic information it will store that data for the life of the client instance.
If you are periodically connecting to the same devices and you have deleted the client instance or the services when connecting again it will cause a retrieval of that information from the peer again.
This results in significant energy drain on the battery of the devices, fragments heap, and reduces connection performance.
Client instances in this library use approximately 20% of the original bluedroid library, deleteing them will provide much less gain than it did before.
+
Client instances in this library use approximately 20% of the original bluedroid library, deleting them will provide much less gain than it did before.
It is recommended to retain the client instance in cases where the time between connecting to the same device is less than 5 minutes.
As a client the use of NimBLEClient::getServices
or NimBLERemoteService::getCharacteristics
and using true
for the parameter should be limited to devices that are not known.
Instead NimBLEClient::getService(NimBLEUUID)
or NimBLERemoteService::getCharacteristic(NimBLEUUID)
should be used to access certain attributes that are useful to the application.
This reduces energy consumed, heap allocated, connection time and improves overall efficiency.
Many user issues can be avoided by checking if a function returned successfully, by either testing for true/false such as when calling NimBLEClient::connect
,
+
Many user issues can be avoided by checking if a function returned successfully, by either testing for true/false such as when calling NimBLEClient::connect
,
or nullptr such as when calling NimBLEClient::getService
. The latter being a must, as calling a method on a nullptr will surely result in a crash.
Most of the functions in this library return something that should be checked before proceeding.
No code is bug free and unit testing will not find them all on it's own. If you encounter a bug, please report it along with any logs and decoded backtrace if applicable.
Best efforts will be made to correct any errors ASAP.
diff --git a/menudata.js b/menudata.js
index 0f81b86..5e88403 100644
--- a/menudata.js
+++ b/menudata.js
@@ -40,6 +40,7 @@ var menudata={children:[
{text:"g",url:"functions_g.html#index_g"},
{text:"h",url:"functions_h.html#index_h"},
{text:"i",url:"functions_i.html#index_i"},
+{text:"l",url:"functions_l.html#index_l"},
{text:"m",url:"functions_m.html#index_m"},
{text:"n",url:"functions_n.html#index_n"},
{text:"o",url:"functions_o.html#index_o"},
@@ -60,6 +61,7 @@ var menudata={children:[
{text:"g",url:"functions_func_g.html#index_g"},
{text:"h",url:"functions_func_h.html#index_h"},
{text:"i",url:"functions_func_i.html#index_i"},
+{text:"l",url:"functions_func_l.html#index_l"},
{text:"m",url:"functions_func_m.html#index_m"},
{text:"n",url:"functions_func_n.html#index_n"},
{text:"o",url:"functions_func_o.html#index_o"},
diff --git a/navtreedata.js b/navtreedata.js
index 5a4e435..fa9ea27 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -26,95 +26,104 @@ var NAVTREE =
[
[ "esp-nimble-cpp", "index.html", [
[ "Overview", "index.html", [
- [ "What is NimBLE?", "index.html#autotoc_md33", null ],
- [ "Arduino Installation", "index.html#autotoc_md34", null ],
- [ "ESP-IDF Installation", "index.html#autotoc_md35", null ],
- [ "Using", "index.html#autotoc_md38", null ],
- [ "Need help? Have a question or suggestion?", "index.html#autotoc_md41", null ],
- [ "Acknowledgments", "index.html#autotoc_md42", null ]
+ [ "What is NimBLE?", "index.html#autotoc_md42", null ],
+ [ "ESP-IDF Installation", "index.html#autotoc_md43", null ],
+ [ "Using", "index.html#autotoc_md46", null ],
+ [ "Need help? Have a question or suggestion?", "index.html#autotoc_md47", null ],
+ [ "Acknowledgments", "index.html#autotoc_md48", null ]
] ],
- [ "Changelog", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html", [
- [ "[1.3.2] - 2022-01-15", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md1", [
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md2", null ],
- [ "Added", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md3", null ],
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md4", null ]
+ [ "Changelog", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html", [
+ [ "[1.4.0] - 2022-07-31", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md1", [
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md2", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md3", null ],
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md4", null ]
] ],
- [ "[1.3.1] - 2021-08-04", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md5", [
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md6", null ]
+ [ "[1.3.3] - 2022-02-15", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md5", [
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md6", null ],
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md7", null ]
] ],
- [ "[1.3.0] - 2021-08-02", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md7", [
- [ "Added", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md8", null ],
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md9", null ],
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md10", null ]
+ [ "[1.3.2] - 2022-01-15", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md8", [
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md9", null ],
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md10", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md11", null ]
] ],
- [ "[1.2.0] - 2021-02-08", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md11", [
- [ "Added", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md12", null ],
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md13", null ],
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md14", null ]
+ [ "[1.3.1] - 2021-08-04", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md12", [
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md13", null ]
] ],
- [ "[1.1.0] - 2021-01-20", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md15", [
- [ "Added", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md16", null ],
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md17", null ],
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md18", null ]
+ [ "[1.3.0] - 2021-08-02", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md14", [
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md15", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md16", null ],
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md17", null ]
] ],
- [ "[1.0.2] - 2020-09-13", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md19", [
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md20", null ]
+ [ "[1.2.0] - 2021-02-08", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md18", [
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md19", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md20", null ],
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md21", null ]
] ],
- [ "[1.0.1] - 2020-09-02", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md21", [
- [ "Added", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md22", null ],
- [ "Changed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md23", null ],
- [ "Fixed", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md24", null ]
+ [ "[1.1.0] - 2021-01-20", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md22", [
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md23", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md24", null ],
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md25", null ]
] ],
- [ "[1.0.0] - 2020-08-22", "md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md25", null ]
+ [ "[1.0.2] - 2020-09-13", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md26", [
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md27", null ]
+ ] ],
+ [ "[1.0.1] - 2020-09-02", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md28", [
+ [ "Added", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md29", null ],
+ [ "Changed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md30", null ],
+ [ "Fixed", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md31", null ]
+ ] ],
+ [ "[1.0.0] - 2020-08-22", "md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md32", null ]
+ ] ],
+ [ "Bluetooth 5.x features", "md__bluetooth_5_features.html", [
+ [ "About extended advertising", "md__bluetooth_5_features.html#autotoc_md34", null ],
+ [ "Enabling extended advertising", "md__bluetooth_5_features.html#autotoc_md35", null ]
] ],
- [ "Arduino command line and platformio config options", "md__command_line_config.html", null ],
[ "Improvements and updates", "md__improvements_and_updates.html", [
- [ "Server", "md__improvements_and_updates.html#autotoc_md28", null ],
- [ "Advertising", "md__improvements_and_updates.html#autotoc_md29", null ],
- [ "Client", "md__improvements_and_updates.html#autotoc_md30", null ],
- [ "General", "md__improvements_and_updates.html#autotoc_md31", null ]
+ [ "Server", "md__improvements_and_updates.html#autotoc_md37", null ],
+ [ "Advertising", "md__improvements_and_updates.html#autotoc_md38", null ],
+ [ "Client", "md__improvements_and_updates.html#autotoc_md39", null ],
+ [ "General", "md__improvements_and_updates.html#autotoc_md40", null ]
] ],
[ "Migrating from Bluedroid to NimBLE", "md__migration_guide.html", [
- [ "General Information", "md__migration_guide.html#autotoc_md44", [
- [ "Header Files", "md__migration_guide.html#autotoc_md45", null ],
- [ "Class Names", "md__migration_guide.html#autotoc_md46", null ],
- [ "BLE Addresses", "md__migration_guide.html#autotoc_md47", null ]
+ [ "General Information", "md__migration_guide.html#autotoc_md50", [
+ [ "Header Files", "md__migration_guide.html#autotoc_md51", null ],
+ [ "Class Names", "md__migration_guide.html#autotoc_md52", null ],
+ [ "BLE Addresses", "md__migration_guide.html#autotoc_md53", null ]
] ],
- [ "Server API", "md__migration_guide.html#autotoc_md48", [
- [ "Services", "md__migration_guide.html#autotoc_md49", null ],
- [ "Characteristics", "md__migration_guide.html#autotoc_md50", [
- [ "v4.0+", "index.html#autotoc_md36", null ],
- [ "v3.2 & v3.3", "index.html#autotoc_md37", null ],
- [ "Arduino specific", "index.html#autotoc_md39", null ],
- [ "Arduino command line and platformio", "index.html#autotoc_md40", null ],
- [ "Originally", "md__migration_guide.html#autotoc_md51", null ],
- [ "Is Now", "md__migration_guide.html#autotoc_md52", null ],
- [ "The full list of properties", "md__migration_guide.html#autotoc_md53", null ]
+ [ "Server API", "md__migration_guide.html#autotoc_md54", [
+ [ "Services", "md__migration_guide.html#autotoc_md55", null ],
+ [ "Characteristics", "md__migration_guide.html#autotoc_md56", [
+ [ "v4.0+", "index.html#autotoc_md44", null ],
+ [ "v3.2 & v3.3", "index.html#autotoc_md45", null ],
+ [ "Originally", "md__migration_guide.html#autotoc_md57", null ],
+ [ "Is Now", "md__migration_guide.html#autotoc_md58", null ],
+ [ "The full list of properties", "md__migration_guide.html#autotoc_md59", null ]
] ],
- [ "Descriptors", "md__migration_guide.html#autotoc_md54", null ],
- [ "Server Security", "md__migration_guide.html#autotoc_md57", null ]
+ [ "Descriptors", "md__migration_guide.html#autotoc_md60", null ],
+ [ "Server Security", "md__migration_guide.html#autotoc_md63", null ]
] ],
- [ "Advertising API", "md__migration_guide.html#autotoc_md58", null ],
- [ "Client API", "md__migration_guide.html#autotoc_md59", [
- [ "Remote Services", "md__migration_guide.html#autotoc_md60", null ],
- [ "Remote Characteristics", "md__migration_guide.html#autotoc_md61", null ],
- [ "Client Security", "md__migration_guide.html#autotoc_md62", null ]
+ [ "Advertising API", "md__migration_guide.html#autotoc_md64", null ],
+ [ "Client API", "md__migration_guide.html#autotoc_md65", [
+ [ "Remote Services", "md__migration_guide.html#autotoc_md66", null ],
+ [ "Remote Characteristics", "md__migration_guide.html#autotoc_md67", null ],
+ [ "Client Security", "md__migration_guide.html#autotoc_md68", null ]
] ],
- [ "Security API", "md__migration_guide.html#autotoc_md63", null ],
- [ "Arduino Configuration", "md__migration_guide.html#autotoc_md64", null ]
+ [ "Security API", "md__migration_guide.html#autotoc_md69", null ],
+ [ "Arduino Configuration", "md__migration_guide.html#autotoc_md70", null ]
] ],
[ "New User Guide", "md__new_user_guide.html", [
- [ "Include Files", "md__new_user_guide.html#autotoc_md66", null ],
- [ "Using the Library", "md__new_user_guide.html#autotoc_md67", null ],
- [ "Creating a Server", "md__new_user_guide.html#autotoc_md68", null ],
- [ "Creating a Client", "md__new_user_guide.html#autotoc_md69", null ]
+ [ "Include Files", "md__new_user_guide.html#autotoc_md72", null ],
+ [ "Using the Library", "md__new_user_guide.html#autotoc_md73", null ],
+ [ "Creating a Server", "md__new_user_guide.html#autotoc_md74", null ],
+ [ "Creating a Client", "md__new_user_guide.html#autotoc_md75", null ]
] ],
[ "Usage Tips", "md__usage_tips.html", [
- [ "Put BLE functions in a task running on the NimBLE stack core", "md__usage_tips.html#autotoc_md71", null ],
- [ "Do not delete client instances unless necessary or unused", "md__usage_tips.html#autotoc_md72", null ],
- [ "Only retrieve the services and characteriscs needed", "md__usage_tips.html#autotoc_md73", null ],
- [ "Check return values", "md__usage_tips.html#autotoc_md74", null ],
- [ "There will be bugs - please report them", "md__usage_tips.html#autotoc_md75", null ]
+ [ "Put BLE functions in a task running on the NimBLE stack core", "md__usage_tips.html#autotoc_md77", null ],
+ [ "Do not delete client instances unless necessary or unused", "md__usage_tips.html#autotoc_md78", null ],
+ [ "Only retrieve the services and characteristics needed", "md__usage_tips.html#autotoc_md79", null ],
+ [ "Check return values", "md__usage_tips.html#autotoc_md80", null ],
+ [ "There will be bugs - please report them", "md__usage_tips.html#autotoc_md81", null ]
] ],
[ "Deprecated List", "deprecated.html", null ],
[ "Todo List", "todo.html", null ],
@@ -141,8 +150,8 @@ var NAVTREE =
var NAVTREEINDEX =
[
"_h_i_d_keyboard_types_8h_source.html",
-"class_nim_b_l_e_descriptor.html#ac54fd0830ceb64b91037b623dbc427b5",
-"functions_func_~.html"
+"class_nim_b_l_e_client.html#a668d476de250055a106a9f46bb7719f3",
+"class_nim_b_l_e_security.html#ab2be50284a325ec8937abdab0baafd4b"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index 63513ce..fe87cbf 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -6,25 +6,27 @@ var NAVTREEINDEX0 =
"_nim_b_l_e_address_8h_source.html":[10,0,0,3],
"_nim_b_l_e_advertised_device_8h_source.html":[10,0,0,4],
"_nim_b_l_e_advertising_8h_source.html":[10,0,0,5],
-"_nim_b_l_e_beacon_8h_source.html":[10,0,0,6],
-"_nim_b_l_e_characteristic_8h_source.html":[10,0,0,7],
-"_nim_b_l_e_client_8h_source.html":[10,0,0,8],
-"_nim_b_l_e_conn_info_8h_source.html":[10,0,0,9],
-"_nim_b_l_e_descriptor_8h_source.html":[10,0,0,10],
-"_nim_b_l_e_device_8h_source.html":[10,0,0,11],
-"_nim_b_l_e_eddystone_t_l_m_8h_source.html":[10,0,0,12],
-"_nim_b_l_e_eddystone_u_r_l_8h_source.html":[10,0,0,13],
-"_nim_b_l_e_h_i_d_device_8h_source.html":[10,0,0,14],
-"_nim_b_l_e_log_8h_source.html":[10,0,0,15],
-"_nim_b_l_e_remote_characteristic_8h_source.html":[10,0,0,16],
-"_nim_b_l_e_remote_descriptor_8h_source.html":[10,0,0,17],
-"_nim_b_l_e_remote_service_8h_source.html":[10,0,0,18],
-"_nim_b_l_e_scan_8h_source.html":[10,0,0,19],
-"_nim_b_l_e_security_8h_source.html":[10,0,0,20],
-"_nim_b_l_e_server_8h_source.html":[10,0,0,21],
-"_nim_b_l_e_service_8h_source.html":[10,0,0,22],
-"_nim_b_l_e_u_u_i_d_8h_source.html":[10,0,0,24],
-"_nim_b_l_e_utils_8h_source.html":[10,0,0,23],
+"_nim_b_l_e_att_value_8h_source.html":[10,0,0,6],
+"_nim_b_l_e_beacon_8h_source.html":[10,0,0,7],
+"_nim_b_l_e_characteristic_8h_source.html":[10,0,0,8],
+"_nim_b_l_e_client_8h_source.html":[10,0,0,9],
+"_nim_b_l_e_conn_info_8h_source.html":[10,0,0,10],
+"_nim_b_l_e_descriptor_8h_source.html":[10,0,0,11],
+"_nim_b_l_e_device_8h_source.html":[10,0,0,12],
+"_nim_b_l_e_eddystone_t_l_m_8h_source.html":[10,0,0,13],
+"_nim_b_l_e_eddystone_u_r_l_8h_source.html":[10,0,0,14],
+"_nim_b_l_e_ext_advertising_8h_source.html":[10,0,0,15],
+"_nim_b_l_e_h_i_d_device_8h_source.html":[10,0,0,16],
+"_nim_b_l_e_log_8h_source.html":[10,0,0,17],
+"_nim_b_l_e_remote_characteristic_8h_source.html":[10,0,0,18],
+"_nim_b_l_e_remote_descriptor_8h_source.html":[10,0,0,19],
+"_nim_b_l_e_remote_service_8h_source.html":[10,0,0,20],
+"_nim_b_l_e_scan_8h_source.html":[10,0,0,21],
+"_nim_b_l_e_security_8h_source.html":[10,0,0,22],
+"_nim_b_l_e_server_8h_source.html":[10,0,0,23],
+"_nim_b_l_e_service_8h_source.html":[10,0,0,24],
+"_nim_b_l_e_u_u_i_d_8h_source.html":[10,0,0,26],
+"_nim_b_l_e_utils_8h_source.html":[10,0,0,25],
"annotated.html":[9,0],
"class_nim_b_l_e2904.html":[9,0,0],
"class_nim_b_l_e2904.html#a2206274c217d43a8ba121e1d279f8962":[9,0,0,3],
@@ -47,48 +49,54 @@ var NAVTREEINDEX0 =
"class_nim_b_l_e_address.html#ae243127c78af69b26dfa225effd806ce":[9,0,1,10],
"class_nim_b_l_e_address.html#aeb6dafff197dc01e2713bbf43e21f1f3":[9,0,1,3],
"class_nim_b_l_e_advertised_device.html":[9,0,2],
-"class_nim_b_l_e_advertised_device.html#a1172d33a77bc018e314be78664b222b9":[9,0,2,37],
-"class_nim_b_l_e_advertised_device.html#a1855415f3c60bc88d62e9206fe6ed75a":[9,0,2,26],
+"class_nim_b_l_e_advertised_device.html#a1172d33a77bc018e314be78664b222b9":[9,0,2,41],
+"class_nim_b_l_e_advertised_device.html#a1602b70c37fb9a5f2f7ca4eacbf01091":[9,0,2,23],
+"class_nim_b_l_e_advertised_device.html#a1855415f3c60bc88d62e9206fe6ed75a":[9,0,2,30],
+"class_nim_b_l_e_advertised_device.html#a1efd77b20e3198ef148282bf75ff3e22":[9,0,2,18],
"class_nim_b_l_e_advertised_device.html#a228afa5e43421b4d96d9c08241718309":[9,0,2,6],
-"class_nim_b_l_e_advertised_device.html#a3274624943c942f357c6f8d489481bc8":[9,0,2,31],
+"class_nim_b_l_e_advertised_device.html#a3274624943c942f357c6f8d489481bc8":[9,0,2,35],
"class_nim_b_l_e_advertised_device.html#a33fcdc3bf5107c157b10ad4519938c9f":[9,0,2,10],
-"class_nim_b_l_e_advertised_device.html#a37ad095c066aa231a52a7259734c9bce":[9,0,2,40],
+"class_nim_b_l_e_advertised_device.html#a3684969e3e10cd0af9ecaf342847ea71":[9,0,2,46],
+"class_nim_b_l_e_advertised_device.html#a37ad095c066aa231a52a7259734c9bce":[9,0,2,44],
"class_nim_b_l_e_advertised_device.html#a450eca96c605f199d2786a044612db17":[9,0,2,9],
-"class_nim_b_l_e_advertised_device.html#a4f89e99dffdfde45c1cafff74a20a95f":[9,0,2,21],
-"class_nim_b_l_e_advertised_device.html#a599cad9a3f3d535049c87a911bc1b14d":[9,0,2,24],
-"class_nim_b_l_e_advertised_device.html#a5c4aae7e27c27201846ba4e15448e557":[9,0,2,36],
-"class_nim_b_l_e_advertised_device.html#a5fc9be9de9209622259f8d28b01825df":[9,0,2,20],
-"class_nim_b_l_e_advertised_device.html#a611802e8898e422842d60486b60b8c42":[9,0,2,34],
-"class_nim_b_l_e_advertised_device.html#a6dc4484bc89ea5560a51c349b5300049":[9,0,2,23],
-"class_nim_b_l_e_advertised_device.html#a83ebd08b512dc936b1059db7a69b9ead":[9,0,2,39],
-"class_nim_b_l_e_advertised_device.html#a86805fecd4432335feecf77bb6a0f12e":[9,0,2,33],
-"class_nim_b_l_e_advertised_device.html#a9017ce5b59bdae3cebf33c54f28cee70":[9,0,2,19],
-"class_nim_b_l_e_advertised_device.html#a9352a7760d9e4af0561d7923fcbe2535":[9,0,2,25],
+"class_nim_b_l_e_advertised_device.html#a4f89e99dffdfde45c1cafff74a20a95f":[9,0,2,24],
+"class_nim_b_l_e_advertised_device.html#a54917b2644c433977e24a10a63d7431a":[9,0,2,45],
+"class_nim_b_l_e_advertised_device.html#a599cad9a3f3d535049c87a911bc1b14d":[9,0,2,28],
+"class_nim_b_l_e_advertised_device.html#a5c4aae7e27c27201846ba4e15448e557":[9,0,2,40],
+"class_nim_b_l_e_advertised_device.html#a5ca6792d1ee559470ae8edccc1aea20d":[9,0,2,26],
+"class_nim_b_l_e_advertised_device.html#a611802e8898e422842d60486b60b8c42":[9,0,2,38],
+"class_nim_b_l_e_advertised_device.html#a6361e2b275cc45578f1000b5fd1b3c29":[9,0,2,27],
+"class_nim_b_l_e_advertised_device.html#a83ebd08b512dc936b1059db7a69b9ead":[9,0,2,43],
+"class_nim_b_l_e_advertised_device.html#a86805fecd4432335feecf77bb6a0f12e":[9,0,2,37],
+"class_nim_b_l_e_advertised_device.html#a9017ce5b59bdae3cebf33c54f28cee70":[9,0,2,22],
"class_nim_b_l_e_advertised_device.html#a9a7a36e9937e16ffab4f1543ea54073f":[9,0,2,3],
-"class_nim_b_l_e_advertised_device.html#a9ca1c022e10764ec72850ff3a011b009":[9,0,2,17],
+"class_nim_b_l_e_advertised_device.html#a9b4ad695a4f035512d4d17313d8c5d3b":[9,0,2,15],
+"class_nim_b_l_e_advertised_device.html#a9ca1c022e10764ec72850ff3a011b009":[9,0,2,20],
"class_nim_b_l_e_advertised_device.html#a9d07ee4c38de4170db24a5e01663ee6d":[9,0,2,5],
"class_nim_b_l_e_advertised_device.html#aa60721a7b5b44a3bb66980f003517579":[9,0,2,1],
-"class_nim_b_l_e_advertised_device.html#aa8b4660e5d123f16a07e0fefa3bcf4bc":[9,0,2,29],
-"class_nim_b_l_e_advertised_device.html#ab53f862df15953d19ba7a45d4cf51b46":[9,0,2,22],
+"class_nim_b_l_e_advertised_device.html#aa8b4660e5d123f16a07e0fefa3bcf4bc":[9,0,2,33],
+"class_nim_b_l_e_advertised_device.html#ab53f862df15953d19ba7a45d4cf51b46":[9,0,2,25],
"class_nim_b_l_e_advertised_device.html#ab8972714ecd578fca51fb63d9834a34e":[9,0,2,0],
-"class_nim_b_l_e_advertised_device.html#abe58f5fde119d8c0a8fb85ba1e8cc5c9":[9,0,2,32],
-"class_nim_b_l_e_advertised_device.html#ac1b8ff0f2897abda335743d55668fcd9":[9,0,2,41],
+"class_nim_b_l_e_advertised_device.html#abe58f5fde119d8c0a8fb85ba1e8cc5c9":[9,0,2,36],
+"class_nim_b_l_e_advertised_device.html#ac1b8ff0f2897abda335743d55668fcd9":[9,0,2,47],
"class_nim_b_l_e_advertised_device.html#ac7879f4aa0f2b069b1d3aff4809ae62c":[9,0,2,13],
-"class_nim_b_l_e_advertised_device.html#accc6713f85db6174cfe8436059aa8bf1":[9,0,2,30],
-"class_nim_b_l_e_advertised_device.html#acd42dfbc92a43fc90e933df975c029f3":[9,0,2,14],
-"class_nim_b_l_e_advertised_device.html#acf4398ca81f800445092ccc77deaf00b":[9,0,2,16],
-"class_nim_b_l_e_advertised_device.html#ad3931c72aaded3b594896c29b3691562":[9,0,2,15],
-"class_nim_b_l_e_advertised_device.html#ad65f8040a142f8d6d0763d4876f0d22e":[9,0,2,28],
+"class_nim_b_l_e_advertised_device.html#accc6713f85db6174cfe8436059aa8bf1":[9,0,2,34],
+"class_nim_b_l_e_advertised_device.html#acd42dfbc92a43fc90e933df975c029f3":[9,0,2,16],
+"class_nim_b_l_e_advertised_device.html#acf4398ca81f800445092ccc77deaf00b":[9,0,2,19],
+"class_nim_b_l_e_advertised_device.html#ad3931c72aaded3b594896c29b3691562":[9,0,2,17],
+"class_nim_b_l_e_advertised_device.html#ad65f8040a142f8d6d0763d4876f0d22e":[9,0,2,32],
+"class_nim_b_l_e_advertised_device.html#ad9c5b9ffda267ddbcaef6b0f236846f9":[9,0,2,14],
+"class_nim_b_l_e_advertised_device.html#ae2256f6b4da4c11cf75cb773a6b7f223":[9,0,2,29],
"class_nim_b_l_e_advertised_device.html#ae6c6b48369d71a5998c1393c0d6a0179":[9,0,2,11],
"class_nim_b_l_e_advertised_device.html#ae960e43434bf62ec83e9230d7bf7046c":[9,0,2,4],
"class_nim_b_l_e_advertised_device.html#ae9a586e46a555cf5fc817c9fe301b295":[9,0,2,8],
-"class_nim_b_l_e_advertised_device.html#aecb3e30a94abd59401cafb70a5903abb":[9,0,2,18],
-"class_nim_b_l_e_advertised_device.html#af5293030ef439856c195caa3aba86543":[9,0,2,38],
+"class_nim_b_l_e_advertised_device.html#aecb3e30a94abd59401cafb70a5903abb":[9,0,2,21],
+"class_nim_b_l_e_advertised_device.html#af5293030ef439856c195caa3aba86543":[9,0,2,42],
"class_nim_b_l_e_advertised_device.html#afa334006230601cc5c6429b18819a2e2":[9,0,2,7],
"class_nim_b_l_e_advertised_device.html#afacf7717a15b36af184cd957d397e384":[9,0,2,12],
-"class_nim_b_l_e_advertised_device.html#afba3425cfcfc12eca219a1abe5f6732c":[9,0,2,35],
+"class_nim_b_l_e_advertised_device.html#afba3425cfcfc12eca219a1abe5f6732c":[9,0,2,39],
"class_nim_b_l_e_advertised_device.html#afc79cdc087c81b34643d70c8259eb9a3":[9,0,2,2],
-"class_nim_b_l_e_advertised_device.html#afee346437447173eed1b9edf1de70f34":[9,0,2,27],
+"class_nim_b_l_e_advertised_device.html#afee346437447173eed1b9edf1de70f34":[9,0,2,31],
"class_nim_b_l_e_advertised_device_callbacks.html":[9,0,3],
"class_nim_b_l_e_advertised_device_callbacks.html#af6a25e1bb773a147536b1785b2aae606":[9,0,3,0],
"class_nim_b_l_e_advertisement_data.html":[9,0,4],
@@ -115,6 +123,7 @@ var NAVTREEINDEX0 =
"class_nim_b_l_e_advertising.html#a16bd135cab3f06bc0ba81c2aec19cbbc":[9,0,5,14],
"class_nim_b_l_e_advertising.html#a1eff592870a47b0f62b0f0894efadbd4":[9,0,5,11],
"class_nim_b_l_e_advertising.html#a3382cdf80f5ae46a52e3b9159f8e1b66":[9,0,5,13],
+"class_nim_b_l_e_advertising.html#a3ab772936ace18c9a7e509740aa59800":[9,0,5,23],
"class_nim_b_l_e_advertising.html#a3bc158da1f732361df69cf16ca1cfd42":[9,0,5,15],
"class_nim_b_l_e_advertising.html#a4de7bf016a086a2d3f6f14ae134678f2":[9,0,5,4],
"class_nim_b_l_e_advertising.html#a4f334752ea04223185292fe9ab524b69":[9,0,5,2],
@@ -128,126 +137,117 @@ var NAVTREEINDEX0 =
"class_nim_b_l_e_advertising.html#aa0d30dfb57670cc8180e17dffddad416":[9,0,5,10],
"class_nim_b_l_e_advertising.html#aa3da80c7d17a7824484ee254076e4790":[9,0,5,17],
"class_nim_b_l_e_advertising.html#aab512576d8873fbbb631bac8ada19530":[9,0,5,12],
-"class_nim_b_l_e_advertising.html#ab19c9e9015e812055e3cad29d52ed2ff":[9,0,5,23],
"class_nim_b_l_e_advertising.html#abe6258a917243a4567c3d6eece2ddcdd":[9,0,5,0],
"class_nim_b_l_e_advertising.html#ac257ab68520a244cb6494d793f9b6c2a":[9,0,5,5],
"class_nim_b_l_e_advertising.html#ac4ff0af45d1f7ed5bc208612852bc43a":[9,0,5,3],
"class_nim_b_l_e_advertising.html#add2ecd09877d7e4548b11ec7cb8c7a47":[9,0,5,16],
"class_nim_b_l_e_advertising.html#aeeee5a131b42a4f76010751f4c182e4f":[9,0,5,22],
"class_nim_b_l_e_advertising.html#af7083f58717b7e76d90d367f00a0ef08":[9,0,5,8],
-"class_nim_b_l_e_beacon.html":[9,0,6],
-"class_nim_b_l_e_beacon.html#a1ec99fe7684181e7b899cd763f9b44d9":[9,0,6,9],
-"class_nim_b_l_e_beacon.html#a44d03b0c2b1bea3bee8f15feeb73fb8e":[9,0,6,10],
-"class_nim_b_l_e_beacon.html#a4bc9fd3a68b4b1772dc4d102573c6788":[9,0,6,4],
-"class_nim_b_l_e_beacon.html#a4eb27b3e447f8f0b44128f77933be668":[9,0,6,6],
-"class_nim_b_l_e_beacon.html#a7f33ffc298285d1ab02088b2584f2256":[9,0,6,11],
-"class_nim_b_l_e_beacon.html#a8803d70e8c238ccb98edcf31af0ead40":[9,0,6,3],
-"class_nim_b_l_e_beacon.html#a92292c8b1f5ba0097f063ff6e60934ff":[9,0,6,7],
-"class_nim_b_l_e_beacon.html#a999ade63059620d619609676d85186ad":[9,0,6,5],
-"class_nim_b_l_e_beacon.html#aac32b7f86c73221152909528c8dbad3c":[9,0,6,2],
-"class_nim_b_l_e_beacon.html#abef1334108f8049832da7fffb56f6eea":[9,0,6,8],
-"class_nim_b_l_e_beacon.html#ac99e1fb4ef4795785a655b117dabdd37":[9,0,6,0],
-"class_nim_b_l_e_beacon.html#ae2458f7db169b696e6368802d5ece0d9":[9,0,6,1],
-"class_nim_b_l_e_beacon.html#ae2dd8cd367260dd8374309576457cec0":[9,0,6,12],
-"class_nim_b_l_e_characteristic.html":[9,0,7],
-"class_nim_b_l_e_characteristic.html#a062f52918f13c49a37ce8e58b9e7382a":[9,0,7,8],
-"class_nim_b_l_e_characteristic.html#a1747ac4889c7adbb93a2d88a10327a47":[9,0,7,6],
-"class_nim_b_l_e_characteristic.html#a28b03617fe753133582ba4e58c60e52e":[9,0,7,15],
-"class_nim_b_l_e_characteristic.html#a29dc2505e1d3b4a7d6800d1547965d17":[9,0,7,22],
-"class_nim_b_l_e_characteristic.html#a2c0ed8932ee257a8632e3d72e353489b":[9,0,7,21],
-"class_nim_b_l_e_characteristic.html#a2ce9f62ecc3d1644ef4d58efe7a3c434":[9,0,7,18],
-"class_nim_b_l_e_characteristic.html#a37e908d114f6ad2b4bf19c7cc4db9c54":[9,0,7,16],
-"class_nim_b_l_e_characteristic.html#a3e77647e4c9bd02c96b761639c4d206f":[9,0,7,23],
-"class_nim_b_l_e_characteristic.html#a4fa6b8ed011d12e2b1f16e92a02b9a89":[9,0,7,26],
-"class_nim_b_l_e_characteristic.html#a580ad0133fd82a673027c91cbb1c74fa":[9,0,7,7],
-"class_nim_b_l_e_characteristic.html#a6523266a751a778a2c04fea19fed4de5":[9,0,7,5],
-"class_nim_b_l_e_characteristic.html#a79759a98d9bdb761cb12c1ea6f601afc":[9,0,7,12],
-"class_nim_b_l_e_characteristic.html#a7cd211a8bb9a0c2ffaed57f2af273677":[9,0,7,25],
-"class_nim_b_l_e_characteristic.html#a7d09c29b26362f6ddcaf51a9c9dc8be4":[9,0,7,17],
-"class_nim_b_l_e_characteristic.html#a7fe29c5ec571d0513c51b8cbac942f4a":[9,0,7,2],
-"class_nim_b_l_e_characteristic.html#a84aa251a612810ec8d07e77ab03cb483":[9,0,7,13],
-"class_nim_b_l_e_characteristic.html#a942b2d29d77fcef233549d0c4fd798da":[9,0,7,0],
-"class_nim_b_l_e_characteristic.html#aa45461059e1992c816e32c371d17e813":[9,0,7,19],
-"class_nim_b_l_e_characteristic.html#aae014669e9ce1ad01520d68fe0cc0fda":[9,0,7,4],
-"class_nim_b_l_e_characteristic.html#aba05898f446e31222fbe509fa357c730":[9,0,7,24],
-"class_nim_b_l_e_characteristic.html#abc5f4819e4d2c0956857ddd7a1064189":[9,0,7,9],
-"class_nim_b_l_e_characteristic.html#acc3ea122771cd447103adfce22537379":[9,0,7,11],
-"class_nim_b_l_e_characteristic.html#acdbd57f7e97646403e520edc35c34c8b":[9,0,7,1],
-"class_nim_b_l_e_characteristic.html#aced225d46153b6969f6ded30c0190e39":[9,0,7,14],
-"class_nim_b_l_e_characteristic.html#ad44ce481c0341abe32b1e0f823c520d4":[9,0,7,20],
-"class_nim_b_l_e_characteristic.html#ae310b081d2d7d2a52ab2ddc11d5dbd99":[9,0,7,10],
-"class_nim_b_l_e_characteristic.html#aed4b2241c89ad2a8f49117e2b9433e5b":[9,0,7,3],
-"class_nim_b_l_e_characteristic_callbacks.html":[9,0,8],
-"class_nim_b_l_e_characteristic_callbacks.html#a104baba3c4bbdee7aa28273d265e4c6f":[9,0,8,0],
-"class_nim_b_l_e_characteristic_callbacks.html#a185eb5298cc042f1aceeba21caf0dcc9":[9,0,8,1],
-"class_nim_b_l_e_characteristic_callbacks.html#a303a44a2efad76d54d67955fcb7b05d7":[9,0,8,7],
-"class_nim_b_l_e_characteristic_callbacks.html#a3c0c0f524bc0d00d24a7c5ea92c5cb7e":[9,0,8,5],
-"class_nim_b_l_e_characteristic_callbacks.html#a523904b8d39e364db094f623403bad93":[9,0,8,2],
-"class_nim_b_l_e_characteristic_callbacks.html#aac7caf4a80da061b5beda5ebcd214fc3":[9,0,8,6],
-"class_nim_b_l_e_characteristic_callbacks.html#ab17e7c61723a33cd3c922e3ca9c20f1e":[9,0,8,4],
-"class_nim_b_l_e_characteristic_callbacks.html#acae83420ae378277c225ce465f979f88":[9,0,8,3],
-"class_nim_b_l_e_client.html":[9,0,9],
-"class_nim_b_l_e_client.html#a0477ba593f0b7c0cfc4697efdba703eb":[9,0,9,14],
-"class_nim_b_l_e_client.html#a0910bbe298a68e9122a169ab229bf767":[9,0,9,27],
-"class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe":[9,0,9,8],
-"class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb":[9,0,9,4],
-"class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267":[9,0,9,23],
-"class_nim_b_l_e_client.html#a178d06bed13028e4ae0384923062d18d":[9,0,9,12],
-"class_nim_b_l_e_client.html#a2fc46f43a71dd0df63a377961baf8009":[9,0,9,9],
-"class_nim_b_l_e_client.html#a33a0114a126e0e58f7b4359c74f4ed41":[9,0,9,25],
-"class_nim_b_l_e_client.html#a3d8cbf51caf8b3b8a0ec6ce2074ba71d":[9,0,9,7],
-"class_nim_b_l_e_client.html#a4068b29a9bd12e3110465908864dd20e":[9,0,9,24],
-"class_nim_b_l_e_client.html#a566207f548c6b799792fc092f1748267":[9,0,9,11],
-"class_nim_b_l_e_client.html#a5f77999664cc8a83f3cdb603ba4a5c8c":[9,0,9,6],
-"class_nim_b_l_e_client.html#a668d476de250055a106a9f46bb7719f3":[9,0,9,5],
-"class_nim_b_l_e_client.html#a79935ecbe94f2a41e0106d011edafac4":[9,0,9,21],
-"class_nim_b_l_e_client.html#a836438fc9d5c2001207249661ad10e01":[9,0,9,1],
-"class_nim_b_l_e_client.html#a9188741bf29d58d5ff1352383c959b7b":[9,0,9,2],
-"class_nim_b_l_e_client.html#a93b5b7c01e58a95dcea335f837d81d07":[9,0,9,26],
-"class_nim_b_l_e_client.html#aa09466a7050bf08bab2390da66007896":[9,0,9,10],
-"class_nim_b_l_e_client.html#aab311f0a8af21fb63f78e7fbac29951a":[9,0,9,3],
-"class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5":[9,0,9,0],
-"class_nim_b_l_e_client.html#ab971537eec4e53d621598eb1c760af3a":[9,0,9,13],
-"class_nim_b_l_e_client.html#aba9ae035357776514b61c2b6286ce1ab":[9,0,9,28],
-"class_nim_b_l_e_client.html#acb9007569b3bb13b3b49f3c4cb47b21a":[9,0,9,18],
-"class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978":[9,0,9,17],
-"class_nim_b_l_e_client.html#ae216993cf4eeb5780a104a8b14044f78":[9,0,9,15],
-"class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366":[9,0,9,16],
-"class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c":[9,0,9,22],
-"class_nim_b_l_e_client.html#af1603da59b829f75b162ac4a65ce181c":[9,0,9,20],
-"class_nim_b_l_e_client.html#afd7b5c40f3c190a542f25b0b9e4afaf3":[9,0,9,19],
-"class_nim_b_l_e_client.html#aff7d389ec48567286ea732c54d320526":[9,0,9,29],
-"class_nim_b_l_e_client_callbacks.html":[9,0,10],
-"class_nim_b_l_e_client_callbacks.html#a3e5571e4d5ee53c5c4b25ceaac66b808":[9,0,10,4],
-"class_nim_b_l_e_client_callbacks.html#a40fb2013fc4ebe51f770699377922065":[9,0,10,0],
-"class_nim_b_l_e_client_callbacks.html#a8bc6a072e1cc974ef084eb2cad18dac6":[9,0,10,3],
-"class_nim_b_l_e_client_callbacks.html#a96de53d9745f243d544cd89498f979ae":[9,0,10,2],
-"class_nim_b_l_e_client_callbacks.html#a9850764aec546747537c6baa2a4622f5":[9,0,10,5],
-"class_nim_b_l_e_client_callbacks.html#ace39ee838319e415bd0fc5c72a653ff0":[9,0,10,1],
-"class_nim_b_l_e_conn_info.html":[9,0,11],
-"class_nim_b_l_e_conn_info.html#a10c6093ca2f92ea61b82815909106430":[9,0,11,3],
-"class_nim_b_l_e_conn_info.html#a278a8456f9d7df9cea7d776e61b36782":[9,0,11,7],
-"class_nim_b_l_e_conn_info.html#a63ff245a8848bf1cc5839adee7aa41c4":[9,0,11,11],
-"class_nim_b_l_e_conn_info.html#a7229e53d21c9c6b5b9fb5bd232862c89":[9,0,11,8],
-"class_nim_b_l_e_conn_info.html#a77e212f3e236b05da0978ea482e3efb4":[9,0,11,1],
-"class_nim_b_l_e_conn_info.html#a7bc23f09eb7dd53be902cb67d2ba745a":[9,0,11,5],
-"class_nim_b_l_e_conn_info.html#a8e885d340f1ab4e477c69ed7ea99b082":[9,0,11,4],
-"class_nim_b_l_e_conn_info.html#a8ecf3c58da6ffb529215ce6f13c96744":[9,0,11,10],
-"class_nim_b_l_e_conn_info.html#a94796b6446ef40c0ae0d1f8af1ff9462":[9,0,11,6],
-"class_nim_b_l_e_conn_info.html#aa43374d84b7564f6d187fd0c637b1049":[9,0,11,2],
-"class_nim_b_l_e_conn_info.html#abfb91b833cb200f795bc63d5affff6af":[9,0,11,12],
-"class_nim_b_l_e_conn_info.html#af17023ca06c3d1b9e142dcd5f8c54847":[9,0,11,0],
-"class_nim_b_l_e_conn_info.html#af281a25921d36dc75cf1e37561940125":[9,0,11,9],
-"class_nim_b_l_e_descriptor.html":[9,0,12],
-"class_nim_b_l_e_descriptor.html#a378346f59afb706d4c1d961227b98c5d":[9,0,12,5],
-"class_nim_b_l_e_descriptor.html#a3cf995352eb1b1c212a7911a05c33b25":[9,0,12,0],
-"class_nim_b_l_e_descriptor.html#a412b3735186d94e9ddcf37a06c2055e1":[9,0,12,3],
-"class_nim_b_l_e_descriptor.html#a486af6799753dfa60b3faddfac2adbcd":[9,0,12,4],
-"class_nim_b_l_e_descriptor.html#a7153e051e5808469c23e2207fa6711db":[9,0,12,6],
-"class_nim_b_l_e_descriptor.html#a7ecb634b7d6390677cad232bd6be6638":[9,0,12,1],
-"class_nim_b_l_e_descriptor.html#a9136cc9e4b41110b3dd99d1c9553a477":[9,0,12,11],
-"class_nim_b_l_e_descriptor.html#a9447cee9092dc516266f7764131ba923":[9,0,12,12],
-"class_nim_b_l_e_descriptor.html#aa9cb8727f9e17cf8050cf619e5fe3096":[9,0,12,9],
-"class_nim_b_l_e_descriptor.html#abc5398a570edc197fbadad3f5b45e186":[9,0,12,7],
-"class_nim_b_l_e_descriptor.html#ac15dc6c9c24d280c4b0eb766080497e5":[9,0,12,13]
+"class_nim_b_l_e_att_value.html":[9,0,6],
+"class_nim_b_l_e_att_value.html#a03347eab1f3df449762902a4256d2b1c":[9,0,6,5],
+"class_nim_b_l_e_att_value.html#a08f3b04d05cf0c2b76a24cc37cd1f8ab":[9,0,6,8],
+"class_nim_b_l_e_att_value.html#a0e6691f9660a2b78e038e87e99914696":[9,0,6,23],
+"class_nim_b_l_e_att_value.html#a1aca76279ea3f0d8cb06ff5540a326e3":[9,0,6,16],
+"class_nim_b_l_e_att_value.html#a35df29c514613b1d00841abd6fffa320":[9,0,6,17],
+"class_nim_b_l_e_att_value.html#a3aa926c56cd58146a5b1c6e02c97894b":[9,0,6,19],
+"class_nim_b_l_e_att_value.html#a3af3b6efb528b1063df2de409c64a0d6":[9,0,6,21],
+"class_nim_b_l_e_att_value.html#a4322572d778438318f5750f6df5fdb35":[9,0,6,3],
+"class_nim_b_l_e_att_value.html#a47d30a61ba65f5d9a21fa593cf15d4b9":[9,0,6,26],
+"class_nim_b_l_e_att_value.html#a49a8a126d0b534c999c4a341cdcf7ba2":[9,0,6,12],
+"class_nim_b_l_e_att_value.html#a4f797f89e9c2d55dc7bee7ec8993952e":[9,0,6,14],
+"class_nim_b_l_e_att_value.html#a584cac329cd5d3c0a14aa855e6e6143e":[9,0,6,4],
+"class_nim_b_l_e_att_value.html#a5c8c5ecfa3864d45ea5b155385e3f9fa":[9,0,6,32],
+"class_nim_b_l_e_att_value.html#a5edd484c83c5efa62916add8927a6371":[9,0,6,20],
+"class_nim_b_l_e_att_value.html#a60fb3dc7057d4ec800c3ef6fd2480a69":[9,0,6,15],
+"class_nim_b_l_e_att_value.html#a6167f1cbc50a81a4ca0708e273bbb63e":[9,0,6,10],
+"class_nim_b_l_e_att_value.html#a61813a898f1bfb1b00e670a7fbb413df":[9,0,6,2],
+"class_nim_b_l_e_att_value.html#a7473ad95c2240e0d1ce5c2d57f8914c2":[9,0,6,6],
+"class_nim_b_l_e_att_value.html#a778d1da5334049292fdfba221bcd5772":[9,0,6,7],
+"class_nim_b_l_e_att_value.html#a8ca8d07c06a79e30bf6279e6817e4881":[9,0,6,28],
+"class_nim_b_l_e_att_value.html#a9634dd47ea705ec8d10f29482e572bbf":[9,0,6,27],
+"class_nim_b_l_e_att_value.html#a9c0f67d150d198c5bcad6eafafee21b6":[9,0,6,29],
+"class_nim_b_l_e_att_value.html#a9dc3bc75c3a0cedf76bed59ef2d0d289":[9,0,6,22],
+"class_nim_b_l_e_att_value.html#a9e595630f7959b4002f6fb64c69ae123":[9,0,6,13],
+"class_nim_b_l_e_att_value.html#aa0545edd766dc4ca6e3ebfac5efa384e":[9,0,6,25],
+"class_nim_b_l_e_att_value.html#aa217dfc649daed50eb75c7168442f86e":[9,0,6,9],
+"class_nim_b_l_e_att_value.html#aa2c18949ffc2e7d2d2f288c1b2b2f0ed":[9,0,6,11],
+"class_nim_b_l_e_att_value.html#aa53ee00be956c25596cf7cce71b502ba":[9,0,6,24],
+"class_nim_b_l_e_att_value.html#aa801ed93f65e8cbc507c6ea6f4f49294":[9,0,6,0],
+"class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c":[9,0,6,33],
+"class_nim_b_l_e_att_value.html#ac7abc6cd08adb0b654e051d62af725d5":[9,0,6,18],
+"class_nim_b_l_e_att_value.html#ac94a41f0c0d42d48b29d5b18d7ad7bd8":[9,0,6,30],
+"class_nim_b_l_e_att_value.html#ac94a41f0c0d42d48b29d5b18d7ad7bd8":[9,0,6,31],
+"class_nim_b_l_e_att_value.html#ad0bbdf17e7861cbb4bb2cadae9cbe32c":[9,0,6,1],
+"class_nim_b_l_e_beacon.html":[9,0,7],
+"class_nim_b_l_e_beacon.html#a1ec99fe7684181e7b899cd763f9b44d9":[9,0,7,9],
+"class_nim_b_l_e_beacon.html#a44d03b0c2b1bea3bee8f15feeb73fb8e":[9,0,7,10],
+"class_nim_b_l_e_beacon.html#a4bc9fd3a68b4b1772dc4d102573c6788":[9,0,7,4],
+"class_nim_b_l_e_beacon.html#a4eb27b3e447f8f0b44128f77933be668":[9,0,7,6],
+"class_nim_b_l_e_beacon.html#a7f33ffc298285d1ab02088b2584f2256":[9,0,7,11],
+"class_nim_b_l_e_beacon.html#a8803d70e8c238ccb98edcf31af0ead40":[9,0,7,3],
+"class_nim_b_l_e_beacon.html#a92292c8b1f5ba0097f063ff6e60934ff":[9,0,7,7],
+"class_nim_b_l_e_beacon.html#a999ade63059620d619609676d85186ad":[9,0,7,5],
+"class_nim_b_l_e_beacon.html#aac32b7f86c73221152909528c8dbad3c":[9,0,7,2],
+"class_nim_b_l_e_beacon.html#abef1334108f8049832da7fffb56f6eea":[9,0,7,8],
+"class_nim_b_l_e_beacon.html#ac99e1fb4ef4795785a655b117dabdd37":[9,0,7,0],
+"class_nim_b_l_e_beacon.html#ae2458f7db169b696e6368802d5ece0d9":[9,0,7,1],
+"class_nim_b_l_e_beacon.html#ae2dd8cd367260dd8374309576457cec0":[9,0,7,12],
+"class_nim_b_l_e_characteristic.html":[9,0,8],
+"class_nim_b_l_e_characteristic.html#a062f52918f13c49a37ce8e58b9e7382a":[9,0,8,8],
+"class_nim_b_l_e_characteristic.html#a15a9f056e5a3e85d5cb0bdc7adbdd970":[9,0,8,23],
+"class_nim_b_l_e_characteristic.html#a1747ac4889c7adbb93a2d88a10327a47":[9,0,8,6],
+"class_nim_b_l_e_characteristic.html#a1fc55adb9d62d8b5fe1be2b172686353":[9,0,8,4],
+"class_nim_b_l_e_characteristic.html#a28b03617fe753133582ba4e58c60e52e":[9,0,8,15],
+"class_nim_b_l_e_characteristic.html#a29dc2505e1d3b4a7d6800d1547965d17":[9,0,8,27],
+"class_nim_b_l_e_characteristic.html#a2c0ed8932ee257a8632e3d72e353489b":[9,0,8,26],
+"class_nim_b_l_e_characteristic.html#a2ce9f62ecc3d1644ef4d58efe7a3c434":[9,0,8,18],
+"class_nim_b_l_e_characteristic.html#a2e827aba484add48e52c8eebf80b4a78":[9,0,8,19],
+"class_nim_b_l_e_characteristic.html#a4fa6b8ed011d12e2b1f16e92a02b9a89":[9,0,8,31],
+"class_nim_b_l_e_characteristic.html#a580ad0133fd82a673027c91cbb1c74fa":[9,0,8,7],
+"class_nim_b_l_e_characteristic.html#a67a1fb8bddfbd47007ccb8b6f5e5611a":[9,0,8,5],
+"class_nim_b_l_e_characteristic.html#a78484a01350300176033a09180f7207f":[9,0,8,16],
+"class_nim_b_l_e_characteristic.html#a79759a98d9bdb761cb12c1ea6f601afc":[9,0,8,12],
+"class_nim_b_l_e_characteristic.html#a7cd211a8bb9a0c2ffaed57f2af273677":[9,0,8,30],
+"class_nim_b_l_e_characteristic.html#a7d09c29b26362f6ddcaf51a9c9dc8be4":[9,0,8,17],
+"class_nim_b_l_e_characteristic.html#a7fe29c5ec571d0513c51b8cbac942f4a":[9,0,8,2],
+"class_nim_b_l_e_characteristic.html#a84aa251a612810ec8d07e77ab03cb483":[9,0,8,13],
+"class_nim_b_l_e_characteristic.html#a8c1875611a1beb192e6c24dff35d0655":[9,0,8,21],
+"class_nim_b_l_e_characteristic.html#a9ce09408a307a6b62a91418ea7723ebf":[9,0,8,25],
+"class_nim_b_l_e_characteristic.html#a9daeb13599265cb0f8ea94b7ac4ef053":[9,0,8,28],
+"class_nim_b_l_e_characteristic.html#aa32224e69115e9ba60ac614e8f37a871":[9,0,8,0],
+"class_nim_b_l_e_characteristic.html#aa45461059e1992c816e32c371d17e813":[9,0,8,22],
+"class_nim_b_l_e_characteristic.html#aba05898f446e31222fbe509fa357c730":[9,0,8,29],
+"class_nim_b_l_e_characteristic.html#abc5f4819e4d2c0956857ddd7a1064189":[9,0,8,9],
+"class_nim_b_l_e_characteristic.html#acc3ea122771cd447103adfce22537379":[9,0,8,11],
+"class_nim_b_l_e_characteristic.html#aced225d46153b6969f6ded30c0190e39":[9,0,8,14],
+"class_nim_b_l_e_characteristic.html#ae2053d941cf8574acbdceb8b549b8264":[9,0,8,1],
+"class_nim_b_l_e_characteristic.html#ae310b081d2d7d2a52ab2ddc11d5dbd99":[9,0,8,10],
+"class_nim_b_l_e_characteristic.html#aed1432c11fadec203104b13aaaf7060d":[9,0,8,24],
+"class_nim_b_l_e_characteristic.html#aed4b2241c89ad2a8f49117e2b9433e5b":[9,0,8,3],
+"class_nim_b_l_e_characteristic.html#af2940e8c314a1ecee1750d20a60c459d":[9,0,8,20],
+"class_nim_b_l_e_characteristic_callbacks.html":[9,0,9],
+"class_nim_b_l_e_characteristic_callbacks.html#a104baba3c4bbdee7aa28273d265e4c6f":[9,0,9,0],
+"class_nim_b_l_e_characteristic_callbacks.html#a185eb5298cc042f1aceeba21caf0dcc9":[9,0,9,1],
+"class_nim_b_l_e_characteristic_callbacks.html#a303a44a2efad76d54d67955fcb7b05d7":[9,0,9,7],
+"class_nim_b_l_e_characteristic_callbacks.html#a3c0c0f524bc0d00d24a7c5ea92c5cb7e":[9,0,9,5],
+"class_nim_b_l_e_characteristic_callbacks.html#a523904b8d39e364db094f623403bad93":[9,0,9,2],
+"class_nim_b_l_e_characteristic_callbacks.html#aac7caf4a80da061b5beda5ebcd214fc3":[9,0,9,6],
+"class_nim_b_l_e_characteristic_callbacks.html#ab17e7c61723a33cd3c922e3ca9c20f1e":[9,0,9,4],
+"class_nim_b_l_e_characteristic_callbacks.html#acae83420ae378277c225ce465f979f88":[9,0,9,3],
+"class_nim_b_l_e_client.html":[9,0,10],
+"class_nim_b_l_e_client.html#a026d7e04557b4821a7da2c1a1caa46eb":[9,0,10,2],
+"class_nim_b_l_e_client.html#a0477ba593f0b7c0cfc4697efdba703eb":[9,0,10,14],
+"class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe":[9,0,10,8],
+"class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb":[9,0,10,4],
+"class_nim_b_l_e_client.html#a1019178a12799ca2c3a84f523b3a7db9":[9,0,10,7],
+"class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267":[9,0,10,23],
+"class_nim_b_l_e_client.html#a178d06bed13028e4ae0384923062d18d":[9,0,10,12],
+"class_nim_b_l_e_client.html#a1f9d4ad6d3d03b819bfad82d1f39b684":[9,0,10,1],
+"class_nim_b_l_e_client.html#a2fc46f43a71dd0df63a377961baf8009":[9,0,10,9],
+"class_nim_b_l_e_client.html#a33a0114a126e0e58f7b4359c74f4ed41":[9,0,10,26],
+"class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83":[9,0,10,19],
+"class_nim_b_l_e_client.html#a3ab0a864d8fc7f91ea27f459e2c76b9e":[9,0,10,24],
+"class_nim_b_l_e_client.html#a4068b29a9bd12e3110465908864dd20e":[9,0,10,25],
+"class_nim_b_l_e_client.html#a566207f548c6b799792fc092f1748267":[9,0,10,11],
+"class_nim_b_l_e_client.html#a5f77999664cc8a83f3cdb603ba4a5c8c":[9,0,10,6]
};
diff --git a/navtreeindex1.js b/navtreeindex1.js
index f32a003..b891b3d 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX1 =
{
-"class_nim_b_l_e_descriptor.html#ac54fd0830ceb64b91037b623dbc427b5":[9,0,12,8],
-"class_nim_b_l_e_descriptor.html#ad110851335bc7b225f5bea9ac11bedcc":[9,0,12,2],
-"class_nim_b_l_e_descriptor.html#ad14bda7d046b5f814ed599c8157c7e51":[9,0,12,10],
-"class_nim_b_l_e_descriptor_callbacks.html":[9,0,13],
-"class_nim_b_l_e_descriptor_callbacks.html#a6b13d2a8447f50a089b869cea9fcdcbc":[9,0,13,0],
-"class_nim_b_l_e_descriptor_callbacks.html#a7081bf2c4f22225c4715e09762be40ed":[9,0,13,1],
-"class_nim_b_l_e_device.html":[9,0,14],
-"class_nim_b_l_e_eddystone_t_l_m.html":[9,0,15],
-"class_nim_b_l_e_eddystone_t_l_m.html#a160e33218dc7fb33f678cda1605da52e":[9,0,15,9],
-"class_nim_b_l_e_eddystone_t_l_m.html#a205e0e2efc09c4c5043f11aeddee4d63":[9,0,15,13],
-"class_nim_b_l_e_eddystone_t_l_m.html#a49fdfb7c2edf2ae92f69856ec0ce4291":[9,0,15,12],
-"class_nim_b_l_e_eddystone_t_l_m.html#a4d87d0b11420af2ae04bc4e6ce2f8607":[9,0,15,0],
-"class_nim_b_l_e_eddystone_t_l_m.html#a556a6b6a75693997390f3bacf6e5ca5e":[9,0,15,1],
-"class_nim_b_l_e_eddystone_t_l_m.html#a6d033c09a513b2dfdad6f1b962b906a8":[9,0,15,8],
-"class_nim_b_l_e_eddystone_t_l_m.html#a8e8ee8fff10730089a370f9da7b6a691":[9,0,15,10],
-"class_nim_b_l_e_eddystone_t_l_m.html#a970ba10424567d17c961ed3b3ef83d8e":[9,0,15,15],
-"class_nim_b_l_e_eddystone_t_l_m.html#a999d53f4bad59c2ebc688403f66474b1":[9,0,15,11],
-"class_nim_b_l_e_eddystone_t_l_m.html#aa511375f22952c0f5846a51e6c2511c5":[9,0,15,5],
-"class_nim_b_l_e_eddystone_t_l_m.html#ab1c4a13c2f57a6e0293810dd09be3db3":[9,0,15,4],
-"class_nim_b_l_e_eddystone_t_l_m.html#abda56940f7d9f7ccef2629b75880dd5f":[9,0,15,3],
-"class_nim_b_l_e_eddystone_t_l_m.html#ad69af8fe47502d922203916357f6c206":[9,0,15,14],
-"class_nim_b_l_e_eddystone_t_l_m.html#ae146a8f066ef3fc6994070654ec5d7ea":[9,0,15,2],
-"class_nim_b_l_e_eddystone_t_l_m.html#ae9f17d2c1e4150775881babb73f0b10c":[9,0,15,6],
-"class_nim_b_l_e_eddystone_t_l_m.html#af9862f983df6f48a96220e936d13d17b":[9,0,15,7],
-"class_nim_b_l_e_eddystone_u_r_l.html":[9,0,16],
-"class_nim_b_l_e_eddystone_u_r_l.html#a0109874399f3e70a72ee9f4a909710e1":[9,0,16,4],
-"class_nim_b_l_e_eddystone_u_r_l.html#a1fde0fcf7d90f79e0eb718967518247a":[9,0,16,5],
-"class_nim_b_l_e_eddystone_u_r_l.html#a42583c740bbdb9591422e8770f8bd0d5":[9,0,16,3],
-"class_nim_b_l_e_eddystone_u_r_l.html#a8038c895e8da7c7ac861557ea0a9d91b":[9,0,16,7],
-"class_nim_b_l_e_eddystone_u_r_l.html#a8102533ff1e7b6527ea744279f8f64ca":[9,0,16,8],
-"class_nim_b_l_e_eddystone_u_r_l.html#a8b68cc96a84da85e20d8583ba375c2ff":[9,0,16,2],
-"class_nim_b_l_e_eddystone_u_r_l.html#ac32c7066ce1ee8d495a35ec870f0e7bf":[9,0,16,1],
-"class_nim_b_l_e_eddystone_u_r_l.html#ada3ac4a544b8565635871f39f1593811":[9,0,16,6],
-"class_nim_b_l_e_eddystone_u_r_l.html#ae102214d20e32e31c9c84d723f67df15":[9,0,16,0],
-"class_nim_b_l_e_eddystone_u_r_l.html#af183e8483ae81fff65d909e67986fcad":[9,0,16,9],
-"class_nim_b_l_e_h_i_d_device.html":[9,0,17],
-"class_nim_b_l_e_h_i_d_device.html#a033c4ad91f1bc165ac6a322b4dcc1699":[9,0,17,4],
-"class_nim_b_l_e_h_i_d_device.html#a1118c1e730f38b8b17795c8eb41a0861":[9,0,17,14],
-"class_nim_b_l_e_h_i_d_device.html#a24498f7b714574ab4a90288f7e4d58b7":[9,0,17,1],
-"class_nim_b_l_e_h_i_d_device.html#a33fc2bfc990ecd250859ca8f34a4314e":[9,0,17,7],
-"class_nim_b_l_e_h_i_d_device.html#a3e5b8291ca88d85a352429415abaec9c":[9,0,17,10],
-"class_nim_b_l_e_h_i_d_device.html#a45ca7d4547dfea9a64987065d83653bd":[9,0,17,2],
-"class_nim_b_l_e_h_i_d_device.html#a468e599c7d75e691f8d34e1b24db8a38":[9,0,17,5],
-"class_nim_b_l_e_h_i_d_device.html#a5309df317aa42de7ced2e34219b6666a":[9,0,17,13],
-"class_nim_b_l_e_h_i_d_device.html#a5984042cd05ea4ead895f5577133a235":[9,0,17,17],
-"class_nim_b_l_e_h_i_d_device.html#a5c42da43e0b8dfcd1d045e8a86d0b5a2":[9,0,17,6],
-"class_nim_b_l_e_h_i_d_device.html#a5e996a1668785f7a978f9874b4ff3b3e":[9,0,17,15],
-"class_nim_b_l_e_h_i_d_device.html#a84e3127a05f7e6a44761ec4a9e7668e3":[9,0,17,16],
-"class_nim_b_l_e_h_i_d_device.html#a91cfe81b47cea229e9bbe3c55be33701":[9,0,17,9],
-"class_nim_b_l_e_h_i_d_device.html#a95b4935280494ffa24bfae89753f199a":[9,0,17,0],
-"class_nim_b_l_e_h_i_d_device.html#ac04ed297cf6adbec210873739d2dc74d":[9,0,17,11],
-"class_nim_b_l_e_h_i_d_device.html#ac1e63972c6a77665a6bbc76f9ff4a717":[9,0,17,12],
-"class_nim_b_l_e_h_i_d_device.html#ace0141db690f1afec1b266f9ac9aa0f0":[9,0,17,3],
-"class_nim_b_l_e_h_i_d_device.html#ae80cf58c481c25bd6d7392a43b6fa48b":[9,0,17,8],
-"class_nim_b_l_e_remote_characteristic.html":[9,0,18],
-"class_nim_b_l_e_remote_characteristic.html#a0eb6655635394268a76c68e845d14135":[9,0,18,5],
-"class_nim_b_l_e_remote_characteristic.html#a181c54862bc422d8ad0b326af675922d":[9,0,18,20],
-"class_nim_b_l_e_remote_characteristic.html#a2614c7f437b52f385fc4fd29abe358eb":[9,0,18,7],
-"class_nim_b_l_e_remote_characteristic.html#a2cfc2e8d2e281dd61e578eb5e860fc02":[9,0,18,29],
-"class_nim_b_l_e_remote_characteristic.html#a333adea9c9f243774c6a2f13beabd873":[9,0,18,10],
-"class_nim_b_l_e_remote_characteristic.html#a3c8d1fd77dd074df866c091c614eafb3":[9,0,18,31],
-"class_nim_b_l_e_remote_characteristic.html#a463760cabc9ca104a6fe094eb942fec0":[9,0,18,24],
-"class_nim_b_l_e_remote_characteristic.html#a4b86a1f600a61036487f5161f1f1726a":[9,0,18,27],
-"class_nim_b_l_e_remote_characteristic.html#a53322384b295a2548b3399e2c63d76f4":[9,0,18,3],
-"class_nim_b_l_e_remote_characteristic.html#a5f0a51b4a7fb2244d236dcb96fcf5205":[9,0,18,9],
-"class_nim_b_l_e_remote_characteristic.html#a6178e1c58361b957be3c48548c1c4366":[9,0,18,12],
-"class_nim_b_l_e_remote_characteristic.html#a6e331afdbdbc32bf461c9866236a97aa":[9,0,18,28],
-"class_nim_b_l_e_remote_characteristic.html#a7163009a9f0ff718b5856d19cb4a3568":[9,0,18,2],
-"class_nim_b_l_e_remote_characteristic.html#a71793454ffab034f87af3a5e9677a63d":[9,0,18,21],
-"class_nim_b_l_e_remote_characteristic.html#a74ad8484cbc88d8eb36d4684233c538b":[9,0,18,18],
-"class_nim_b_l_e_remote_characteristic.html#a78ac88ca25d71dfe31b95898b79b0442":[9,0,18,1],
-"class_nim_b_l_e_remote_characteristic.html#a7e10fa37095d7c80dc36c768fe783e67":[9,0,18,23],
-"class_nim_b_l_e_remote_characteristic.html#a81f39759d48a8fb792c94e4b3b455eef":[9,0,18,19],
-"class_nim_b_l_e_remote_characteristic.html#a855d591de111b09013ae83c4043d06ed":[9,0,18,0],
-"class_nim_b_l_e_remote_characteristic.html#a943183a55b020de9e09ac2cfaebcde32":[9,0,18,15],
-"class_nim_b_l_e_remote_characteristic.html#a9c41acdbf23dc036f321d4f0a66d40d1":[9,0,18,4],
-"class_nim_b_l_e_remote_characteristic.html#aa08b2f62376568e1fc833e4ff91e8aa7":[9,0,18,26],
-"class_nim_b_l_e_remote_characteristic.html#aad0ba99cad9779b33ea7cd4e94349099":[9,0,18,8],
-"class_nim_b_l_e_remote_characteristic.html#aae71c20d300ead52770e66fb8a1a47ea":[9,0,18,6],
-"class_nim_b_l_e_remote_characteristic.html#ab46121a8f5000c40d521e7ee5d92bee6":[9,0,18,14],
-"class_nim_b_l_e_remote_characteristic.html#ab4f54eabe90a416546b7b3fc3477f49c":[9,0,18,25],
-"class_nim_b_l_e_remote_characteristic.html#acf11d225fe5a25327742349e9d6061f9":[9,0,18,13],
-"class_nim_b_l_e_remote_characteristic.html#acf8bcf2cf94ca8bd8cf0c7c39f9883ae":[9,0,18,30],
-"class_nim_b_l_e_remote_characteristic.html#ad62c63468995a24d736c4176c9607eeb":[9,0,18,16],
-"class_nim_b_l_e_remote_characteristic.html#add1a1daed14b5f3e729e284dbd369257":[9,0,18,17],
-"class_nim_b_l_e_remote_characteristic.html#ade5c6ae280c3cf36c9905be23df8f080":[9,0,18,22],
-"class_nim_b_l_e_remote_characteristic.html#aebbcd36740e49d7e29eb5b21d6802380":[9,0,18,11],
-"class_nim_b_l_e_remote_descriptor.html":[9,0,19],
-"class_nim_b_l_e_remote_descriptor.html#a008795a09d1fbe8533c2e9d0e8deb33a":[9,0,19,8],
-"class_nim_b_l_e_remote_descriptor.html#a0d3fb6424b2c86730e1a292281cd836e":[9,0,19,11],
-"class_nim_b_l_e_remote_descriptor.html#a14351ea51b7b04f91b71e388881edd53":[9,0,19,3],
-"class_nim_b_l_e_remote_descriptor.html#a1abc84a09001537dffd13c810a503b9c":[9,0,19,10],
-"class_nim_b_l_e_remote_descriptor.html#a219606f84d63bc02f093051d66f05204":[9,0,19,4],
-"class_nim_b_l_e_remote_descriptor.html#a30bc16403ed53d3b4417c0a01cc4a40f":[9,0,19,9],
-"class_nim_b_l_e_remote_descriptor.html#a3b6952aa46b3541fb0a8247e4e542257":[9,0,19,6],
-"class_nim_b_l_e_remote_descriptor.html#a529e80c6731f68f3598e015df7618cfe":[9,0,19,1],
-"class_nim_b_l_e_remote_descriptor.html#ab07e86707a91e48f68e9de55686e939b":[9,0,19,5],
-"class_nim_b_l_e_remote_descriptor.html#ab8a774ebc69c0fb7ea17f926a82dba21":[9,0,19,0],
-"class_nim_b_l_e_remote_descriptor.html#ac4e3a21818903b69ace41c36a58d3c46":[9,0,19,7],
-"class_nim_b_l_e_remote_descriptor.html#ace6b19cd3d9aa8226b4c17371616ad58":[9,0,19,2],
-"class_nim_b_l_e_remote_service.html":[9,0,20],
-"class_nim_b_l_e_remote_service.html#a10fe635fe9a0661d26c33021faaec53b":[9,0,20,4],
-"class_nim_b_l_e_remote_service.html#a15b3b750b073f334c3be680a99ce2e02":[9,0,20,2],
-"class_nim_b_l_e_remote_service.html#a221069047193f8d25f7112b44bbcb28f":[9,0,20,3],
-"class_nim_b_l_e_remote_service.html#a2803aa5cdfdb622ae8fe255dc939cb1d":[9,0,20,0],
-"class_nim_b_l_e_remote_service.html#a2c9e91c842598a6a9576c7b87af0863a":[9,0,20,7],
-"class_nim_b_l_e_remote_service.html#a3d1e7db457a9f3774eaa5e641dcc716e":[9,0,20,8],
-"class_nim_b_l_e_remote_service.html#a49bb3134b570db877fac67e6ed077aa2":[9,0,20,1],
-"class_nim_b_l_e_remote_service.html#a4a9b63b4e5cedb51a7748a88daeb518b":[9,0,20,10],
-"class_nim_b_l_e_remote_service.html#a4bb8c7c85580d86fd9ab7be5c3933b72":[9,0,20,11],
-"class_nim_b_l_e_remote_service.html#a565ed7d306645772d4e03ca65a07f7e5":[9,0,20,9],
-"class_nim_b_l_e_remote_service.html#a7ff4fc7bfb77adc33003dd6eb8e16957":[9,0,20,6],
-"class_nim_b_l_e_remote_service.html#aaf106a37f24a51b967dd0984c973750f":[9,0,20,12],
-"class_nim_b_l_e_remote_service.html#ab12d195a2239a3808d60457184f0c487":[9,0,20,5],
-"class_nim_b_l_e_scan.html":[9,0,21],
-"class_nim_b_l_e_scan.html#a21b1e27816717b77533755f31dfaa820":[9,0,21,14],
-"class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61":[9,0,21,3],
-"class_nim_b_l_e_scan.html#a3f3e30d8b79aeb4d64af10d5f9d33788":[9,0,21,9],
-"class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967":[9,0,21,8],
-"class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1":[9,0,21,2],
-"class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1":[9,0,21,15],
-"class_nim_b_l_e_scan.html#a6a97fd1c7f16fccd7f19994592b6dfe6":[9,0,21,0],
-"class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1":[9,0,21,10],
-"class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910":[9,0,21,5],
-"class_nim_b_l_e_scan.html#a8459a1c69476fcdfd6370a1d10e0e159":[9,0,21,13],
-"class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81":[9,0,21,11],
-"class_nim_b_l_e_scan.html#ab275a9fec35c8957acf47689056d94af":[9,0,21,6],
-"class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016":[9,0,21,4],
-"class_nim_b_l_e_scan.html#ac2e8c921413f1ad217f45fecf63c0d22":[9,0,21,12],
-"class_nim_b_l_e_scan.html#ac40563af803f3b9ab88398c7f30e21bb":[9,0,21,7],
-"class_nim_b_l_e_scan.html#ad421a09eeb021755b193a7a5e01f183b":[9,0,21,1],
-"class_nim_b_l_e_scan_results.html":[9,0,22],
-"class_nim_b_l_e_scan_results.html#a2bbead75105733d04796b69e10c56cd4":[9,0,22,1],
-"class_nim_b_l_e_scan_results.html#a44e183a7ce0c9fb587d11910ce5ef200":[9,0,22,2],
-"class_nim_b_l_e_scan_results.html#a68aa3ebffb1be785497f228c1d11e500":[9,0,22,5],
-"class_nim_b_l_e_scan_results.html#ac2356f6c1b8384ebc061d4b7953a9374":[9,0,22,4],
-"class_nim_b_l_e_scan_results.html#ad426f221e8c18c0c3f5784786710e8f0":[9,0,22,0],
-"class_nim_b_l_e_scan_results.html#ae4796dd6ce1845c46f66bc1a36ad746a":[9,0,22,3],
-"class_nim_b_l_e_security.html":[9,0,23],
-"class_nim_b_l_e_security.html#a0bb1535e1b0d48566c17f681b7539f82":[9,0,23,5],
-"class_nim_b_l_e_security.html#a1bb7902d5ceffaca86bd7638a74e35e3":[9,0,23,1],
-"class_nim_b_l_e_security.html#a5cf0d3672a16f557032bcbf39a9e22f2":[9,0,23,0],
-"class_nim_b_l_e_security.html#aac8434faa02a6813b7efd87224e04714":[9,0,23,4],
-"class_nim_b_l_e_security.html#ab2be50284a325ec8937abdab0baafd4b":[9,0,23,3],
-"class_nim_b_l_e_security.html#adfc3caa3e1a5aedc3be5c0f1dc5c99ac":[9,0,23,2],
-"class_nim_b_l_e_security_callbacks.html":[9,0,24],
-"class_nim_b_l_e_security_callbacks.html#a1cfc9c48c02aece1736f9070dc6ff90f":[9,0,24,3],
-"class_nim_b_l_e_security_callbacks.html#a22a8079906070a13583daafd1521a125":[9,0,24,0],
-"class_nim_b_l_e_security_callbacks.html#a2ce6a03693a43a55e51598d8b2654a92":[9,0,24,1],
-"class_nim_b_l_e_security_callbacks.html#a620de166c3fe26027871d18535839cdd":[9,0,24,4],
-"class_nim_b_l_e_security_callbacks.html#aa984ec6f29741b49bdd7dbfde60177be":[9,0,24,2],
-"class_nim_b_l_e_server.html":[9,0,25],
-"class_nim_b_l_e_server.html#a00c92f62f41ec1c499dfaf042b487d75":[9,0,25,15],
-"class_nim_b_l_e_server.html#a15112931d1eb6226188c7e383523ba06":[9,0,25,17],
-"class_nim_b_l_e_server.html#a1ff39fc5235d1374d99b4f3d3acb5ddb":[9,0,25,12],
-"class_nim_b_l_e_server.html#a2540ae7b61fc6513f794da2512d66f74":[9,0,25,19],
-"class_nim_b_l_e_server.html#a347c74f4ad6e2bcc2e301da11ae13e91":[9,0,25,10],
-"class_nim_b_l_e_server.html#a485c90ce36275f9e4ec26a7f3d348cd9":[9,0,25,16],
-"class_nim_b_l_e_server.html#a5f0d43106db713e2ac716eabd70a10b2":[9,0,25,3],
-"class_nim_b_l_e_server.html#a63c9dce5c4bbc1c6bc720b6c51bcf3e1":[9,0,25,4],
-"class_nim_b_l_e_server.html#a6bfd923ecd0ea06d5564343ab7209122":[9,0,25,1],
-"class_nim_b_l_e_server.html#a6eda4c9e0ac1dd031c678d4bf7da1d56":[9,0,25,0],
-"class_nim_b_l_e_server.html#a87ebb3d230e98a6b3cf85bc403d227e0":[9,0,25,13],
-"class_nim_b_l_e_server.html#a98ea12f57c10c0477b0c1c5efab23ee5":[9,0,25,6],
-"class_nim_b_l_e_server.html#a9b08738766de90d7065263761314030a":[9,0,25,21],
-"class_nim_b_l_e_server.html#a9eb1f32b72ac93736585d6d89f393021":[9,0,25,11],
-"class_nim_b_l_e_server.html#aaeb58b4de85754d1aac6964e9248aa35":[9,0,25,2],
-"class_nim_b_l_e_server.html#ab41d8bb9b334734f95a726f1e15200fc":[9,0,25,5],
-"class_nim_b_l_e_server.html#ab713fd5619ddbfc1a88bf43a1686f454":[9,0,25,20],
-"class_nim_b_l_e_server.html#ab95c428ddc94eb019a26d91e70f5974b":[9,0,25,7],
-"class_nim_b_l_e_server.html#ac28df6ead4d7151df3e84f4fa991eb1f":[9,0,25,14],
-"class_nim_b_l_e_server.html#ad241eb42e9775fb2f8aaa87c9fb9a76b":[9,0,25,8],
-"class_nim_b_l_e_server.html#ad91fbcb2717aa1969329f365692e1072":[9,0,25,9],
-"class_nim_b_l_e_server.html#ae94ad52f3c97f62553af9765acdb7bcb":[9,0,25,18],
-"class_nim_b_l_e_server_callbacks.html":[9,0,26],
-"class_nim_b_l_e_server_callbacks.html#a3dbf72280a895e80e0972599a7373ca0":[9,0,26,4],
-"class_nim_b_l_e_server_callbacks.html#a5327d11f249e8f020b59529b634e0c91":[9,0,26,1],
-"class_nim_b_l_e_server_callbacks.html#a60e1ad35979434000d04fdbb374acc18":[9,0,26,5],
-"class_nim_b_l_e_server_callbacks.html#a6a18155a8d3fa0980fab51f08ce5de2d":[9,0,26,0],
-"class_nim_b_l_e_server_callbacks.html#a76f32bb22a34b33ee2a934f101d925b1":[9,0,26,3],
-"class_nim_b_l_e_server_callbacks.html#a80348ab2d08bbec7a6910c96662fc1d4":[9,0,26,2],
-"class_nim_b_l_e_server_callbacks.html#ab4533f1317b36216c3c86695613c80a6":[9,0,26,6],
-"class_nim_b_l_e_server_callbacks.html#ad2c3035c3a284d03673ff1b5aeaa0fca":[9,0,26,7],
-"class_nim_b_l_e_service.html":[9,0,27],
-"class_nim_b_l_e_service.html#a10d10d14f8c5a970a06915cd407a0a73":[9,0,27,17],
-"class_nim_b_l_e_service.html#a24cf868e9eec7b5ecdf1e88d257e91d9":[9,0,27,10],
-"class_nim_b_l_e_service.html#a305b680286096638a4239620ec2de567":[9,0,27,6],
-"class_nim_b_l_e_service.html#a35b56ab3ef7fffb2b299f95d3176d07e":[9,0,27,8],
-"class_nim_b_l_e_service.html#a5084a6db9c9b5ddb4f3e9261606b1e65":[9,0,27,0],
-"class_nim_b_l_e_service.html#a55724788b3bf4614995ea656bf8fe1bb":[9,0,27,11],
-"class_nim_b_l_e_service.html#a71488881933ae8adbf11c5986f9dfb75":[9,0,27,5],
-"class_nim_b_l_e_service.html#a80fe6bca60d0db69ea3ae689a3947c19":[9,0,27,4],
-"class_nim_b_l_e_service.html#a86d65ef61a77bdd660632b4041c2b640":[9,0,27,12],
-"class_nim_b_l_e_service.html#aa2cba47cb4c935e15c77707643e5e9a5":[9,0,27,9],
-"class_nim_b_l_e_service.html#ab000b7d2b7dbb3978a5a8c1e17b1d649":[9,0,27,14],
-"class_nim_b_l_e_service.html#ad37324ed0404d596923d6fdc0133b985":[9,0,27,16],
-"class_nim_b_l_e_service.html#adab5552c080b9cb88095af262d326309":[9,0,27,3],
-"class_nim_b_l_e_service.html#adfc4e67f79aaabc8f2c6bdb5c6966609":[9,0,27,7],
-"class_nim_b_l_e_service.html#af304386c4e067dd0eeb27b86c0e59d0f":[9,0,27,13],
-"class_nim_b_l_e_service.html#af4e9e030046352a6ff3d9ba67fe872e3":[9,0,27,1],
-"class_nim_b_l_e_service.html#af8215dbfdaf7ced32d6158f8ff5116e8":[9,0,27,2],
-"class_nim_b_l_e_service.html#af992d0c27e3a559789fb77fc46623234":[9,0,27,15],
-"class_nim_b_l_e_u_u_i_d.html":[9,0,29],
-"class_nim_b_l_e_u_u_i_d.html#a399dca7d70ee262aa155b39d357321b1":[9,0,29,5],
-"class_nim_b_l_e_u_u_i_d.html#a3d9763ff434905457ed69118e93a35fd":[9,0,29,8],
-"class_nim_b_l_e_u_u_i_d.html#a4315e760bf763333022658ff980f3048":[9,0,29,10],
-"class_nim_b_l_e_u_u_i_d.html#a46484dcb0a1bfef6a8afe97f49f97875":[9,0,29,12],
-"class_nim_b_l_e_u_u_i_d.html#a62e8e924f971c62cc42760d8c7dd6f28":[9,0,29,9],
-"class_nim_b_l_e_u_u_i_d.html#a6eda1a14d4590dd25e6a2f7a49ad528e":[9,0,29,4],
-"class_nim_b_l_e_u_u_i_d.html#a6fd3849062c96cee3d6cd00544fadfac":[9,0,29,0],
-"class_nim_b_l_e_u_u_i_d.html#a7103976da820d0c1840aa77aca38306c":[9,0,29,13],
-"class_nim_b_l_e_u_u_i_d.html#a9708e07b8e0915aafcfa32fe74ccdf64":[9,0,29,14],
-"class_nim_b_l_e_u_u_i_d.html#aadbfc5504e63cd91c59c778607b8dd92":[9,0,29,1],
-"class_nim_b_l_e_u_u_i_d.html#ab4e1658b1c414edb9aea5cf5140fa461":[9,0,29,2],
-"class_nim_b_l_e_u_u_i_d.html#abec7913c5989c3620c423c6717111453":[9,0,29,6],
-"class_nim_b_l_e_u_u_i_d.html#abeee22e6661f7533f05802e1f89fedfe":[9,0,29,11],
-"class_nim_b_l_e_u_u_i_d.html#ac9fbd00e7ffeb334571016c61bca9286":[9,0,29,3],
-"class_nim_b_l_e_u_u_i_d.html#aefc88e493b63ccd6dc86227dc92af0c6":[9,0,29,7],
-"class_nim_b_l_e_utils.html":[9,0,28],
-"classes.html":[9,1],
-"deprecated.html":[7],
-"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[10,0,0],
-"files.html":[10,0],
-"functions.html":[9,3,0,0],
-"functions.html":[9,3,0],
-"functions_b.html":[9,3,0,1],
-"functions_c.html":[9,3,0,2],
-"functions_d.html":[9,3,0,3],
-"functions_e.html":[9,3,0,4],
-"functions_enum.html":[9,3,2],
-"functions_f.html":[9,3,0,5],
-"functions_func.html":[9,3,1],
-"functions_func.html":[9,3,1,0],
-"functions_func_b.html":[9,3,1,1],
-"functions_func_c.html":[9,3,1,2],
-"functions_func_d.html":[9,3,1,3],
-"functions_func_e.html":[9,3,1,4],
-"functions_func_f.html":[9,3,1,5],
-"functions_func_g.html":[9,3,1,6],
-"functions_func_h.html":[9,3,1,7],
-"functions_func_i.html":[9,3,1,8],
-"functions_func_m.html":[9,3,1,9],
-"functions_func_n.html":[9,3,1,10],
-"functions_func_o.html":[9,3,1,11],
-"functions_func_p.html":[9,3,1,12],
-"functions_func_r.html":[9,3,1,13],
-"functions_func_s.html":[9,3,1,14],
-"functions_func_t.html":[9,3,1,15],
-"functions_func_u.html":[9,3,1,16],
-"functions_func_w.html":[9,3,1,17]
+"class_nim_b_l_e_client.html#a668d476de250055a106a9f46bb7719f3":[9,0,10,5],
+"class_nim_b_l_e_client.html#a79935ecbe94f2a41e0106d011edafac4":[9,0,10,21],
+"class_nim_b_l_e_client.html#a93b5b7c01e58a95dcea335f837d81d07":[9,0,10,27],
+"class_nim_b_l_e_client.html#a967d0c75083706f336f2283eac6d0de2":[9,0,10,28],
+"class_nim_b_l_e_client.html#aa09466a7050bf08bab2390da66007896":[9,0,10,10],
+"class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5":[9,0,10,0],
+"class_nim_b_l_e_client.html#ab971537eec4e53d621598eb1c760af3a":[9,0,10,13],
+"class_nim_b_l_e_client.html#aba9ae035357776514b61c2b6286ce1ab":[9,0,10,29],
+"class_nim_b_l_e_client.html#acb9007569b3bb13b3b49f3c4cb47b21a":[9,0,10,18],
+"class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978":[9,0,10,17],
+"class_nim_b_l_e_client.html#ae216993cf4eeb5780a104a8b14044f78":[9,0,10,15],
+"class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366":[9,0,10,16],
+"class_nim_b_l_e_client.html#ae9b3e8a9b47c7eaad040b485bda958a1":[9,0,10,3],
+"class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c":[9,0,10,22],
+"class_nim_b_l_e_client.html#af1603da59b829f75b162ac4a65ce181c":[9,0,10,20],
+"class_nim_b_l_e_client.html#aff7d389ec48567286ea732c54d320526":[9,0,10,30],
+"class_nim_b_l_e_client_callbacks.html":[9,0,11],
+"class_nim_b_l_e_client_callbacks.html#a3e5571e4d5ee53c5c4b25ceaac66b808":[9,0,11,4],
+"class_nim_b_l_e_client_callbacks.html#a40fb2013fc4ebe51f770699377922065":[9,0,11,0],
+"class_nim_b_l_e_client_callbacks.html#a8bc6a072e1cc974ef084eb2cad18dac6":[9,0,11,3],
+"class_nim_b_l_e_client_callbacks.html#a96de53d9745f243d544cd89498f979ae":[9,0,11,2],
+"class_nim_b_l_e_client_callbacks.html#a9850764aec546747537c6baa2a4622f5":[9,0,11,5],
+"class_nim_b_l_e_client_callbacks.html#ace39ee838319e415bd0fc5c72a653ff0":[9,0,11,1],
+"class_nim_b_l_e_conn_info.html":[9,0,12],
+"class_nim_b_l_e_conn_info.html#a10c6093ca2f92ea61b82815909106430":[9,0,12,3],
+"class_nim_b_l_e_conn_info.html#a278a8456f9d7df9cea7d776e61b36782":[9,0,12,7],
+"class_nim_b_l_e_conn_info.html#a63ff245a8848bf1cc5839adee7aa41c4":[9,0,12,11],
+"class_nim_b_l_e_conn_info.html#a7229e53d21c9c6b5b9fb5bd232862c89":[9,0,12,8],
+"class_nim_b_l_e_conn_info.html#a77e212f3e236b05da0978ea482e3efb4":[9,0,12,1],
+"class_nim_b_l_e_conn_info.html#a7bc23f09eb7dd53be902cb67d2ba745a":[9,0,12,5],
+"class_nim_b_l_e_conn_info.html#a8e885d340f1ab4e477c69ed7ea99b082":[9,0,12,4],
+"class_nim_b_l_e_conn_info.html#a8ecf3c58da6ffb529215ce6f13c96744":[9,0,12,10],
+"class_nim_b_l_e_conn_info.html#a94796b6446ef40c0ae0d1f8af1ff9462":[9,0,12,6],
+"class_nim_b_l_e_conn_info.html#aa43374d84b7564f6d187fd0c637b1049":[9,0,12,2],
+"class_nim_b_l_e_conn_info.html#abfb91b833cb200f795bc63d5affff6af":[9,0,12,12],
+"class_nim_b_l_e_conn_info.html#af17023ca06c3d1b9e142dcd5f8c54847":[9,0,12,0],
+"class_nim_b_l_e_conn_info.html#af281a25921d36dc75cf1e37561940125":[9,0,12,9],
+"class_nim_b_l_e_descriptor.html":[9,0,13],
+"class_nim_b_l_e_descriptor.html#a378346f59afb706d4c1d961227b98c5d":[9,0,13,5],
+"class_nim_b_l_e_descriptor.html#a3cf995352eb1b1c212a7911a05c33b25":[9,0,13,0],
+"class_nim_b_l_e_descriptor.html#a412b3735186d94e9ddcf37a06c2055e1":[9,0,13,3],
+"class_nim_b_l_e_descriptor.html#a486af6799753dfa60b3faddfac2adbcd":[9,0,13,4],
+"class_nim_b_l_e_descriptor.html#a61062547f21ca8e102ec5d8e0843c9f9":[9,0,13,9],
+"class_nim_b_l_e_descriptor.html#a644f739b6621702856be8db93035e9a0":[9,0,13,11],
+"class_nim_b_l_e_descriptor.html#a7153e051e5808469c23e2207fa6711db":[9,0,13,6],
+"class_nim_b_l_e_descriptor.html#a7ecb634b7d6390677cad232bd6be6638":[9,0,13,1],
+"class_nim_b_l_e_descriptor.html#a8f64c733c8848948fe9123bd7cd3fd53":[9,0,13,8],
+"class_nim_b_l_e_descriptor.html#a9136cc9e4b41110b3dd99d1c9553a477":[9,0,13,12],
+"class_nim_b_l_e_descriptor.html#a9447cee9092dc516266f7764131ba923":[9,0,13,13],
+"class_nim_b_l_e_descriptor.html#aa9cb8727f9e17cf8050cf619e5fe3096":[9,0,13,10],
+"class_nim_b_l_e_descriptor.html#abc5398a570edc197fbadad3f5b45e186":[9,0,13,7],
+"class_nim_b_l_e_descriptor.html#ac15dc6c9c24d280c4b0eb766080497e5":[9,0,13,14],
+"class_nim_b_l_e_descriptor.html#ad110851335bc7b225f5bea9ac11bedcc":[9,0,13,2],
+"class_nim_b_l_e_descriptor_callbacks.html":[9,0,14],
+"class_nim_b_l_e_descriptor_callbacks.html#a6b13d2a8447f50a089b869cea9fcdcbc":[9,0,14,0],
+"class_nim_b_l_e_descriptor_callbacks.html#a7081bf2c4f22225c4715e09762be40ed":[9,0,14,1],
+"class_nim_b_l_e_device.html":[9,0,15],
+"class_nim_b_l_e_eddystone_t_l_m.html":[9,0,16],
+"class_nim_b_l_e_eddystone_t_l_m.html#a160e33218dc7fb33f678cda1605da52e":[9,0,16,9],
+"class_nim_b_l_e_eddystone_t_l_m.html#a205e0e2efc09c4c5043f11aeddee4d63":[9,0,16,13],
+"class_nim_b_l_e_eddystone_t_l_m.html#a49fdfb7c2edf2ae92f69856ec0ce4291":[9,0,16,12],
+"class_nim_b_l_e_eddystone_t_l_m.html#a4d87d0b11420af2ae04bc4e6ce2f8607":[9,0,16,0],
+"class_nim_b_l_e_eddystone_t_l_m.html#a556a6b6a75693997390f3bacf6e5ca5e":[9,0,16,1],
+"class_nim_b_l_e_eddystone_t_l_m.html#a6d033c09a513b2dfdad6f1b962b906a8":[9,0,16,8],
+"class_nim_b_l_e_eddystone_t_l_m.html#a8e8ee8fff10730089a370f9da7b6a691":[9,0,16,10],
+"class_nim_b_l_e_eddystone_t_l_m.html#a970ba10424567d17c961ed3b3ef83d8e":[9,0,16,15],
+"class_nim_b_l_e_eddystone_t_l_m.html#a999d53f4bad59c2ebc688403f66474b1":[9,0,16,11],
+"class_nim_b_l_e_eddystone_t_l_m.html#aa511375f22952c0f5846a51e6c2511c5":[9,0,16,5],
+"class_nim_b_l_e_eddystone_t_l_m.html#ab1c4a13c2f57a6e0293810dd09be3db3":[9,0,16,4],
+"class_nim_b_l_e_eddystone_t_l_m.html#abda56940f7d9f7ccef2629b75880dd5f":[9,0,16,3],
+"class_nim_b_l_e_eddystone_t_l_m.html#ad69af8fe47502d922203916357f6c206":[9,0,16,14],
+"class_nim_b_l_e_eddystone_t_l_m.html#ae146a8f066ef3fc6994070654ec5d7ea":[9,0,16,2],
+"class_nim_b_l_e_eddystone_t_l_m.html#ae9f17d2c1e4150775881babb73f0b10c":[9,0,16,6],
+"class_nim_b_l_e_eddystone_t_l_m.html#af9862f983df6f48a96220e936d13d17b":[9,0,16,7],
+"class_nim_b_l_e_eddystone_u_r_l.html":[9,0,17],
+"class_nim_b_l_e_eddystone_u_r_l.html#a0109874399f3e70a72ee9f4a909710e1":[9,0,17,4],
+"class_nim_b_l_e_eddystone_u_r_l.html#a1fde0fcf7d90f79e0eb718967518247a":[9,0,17,5],
+"class_nim_b_l_e_eddystone_u_r_l.html#a42583c740bbdb9591422e8770f8bd0d5":[9,0,17,3],
+"class_nim_b_l_e_eddystone_u_r_l.html#a8038c895e8da7c7ac861557ea0a9d91b":[9,0,17,7],
+"class_nim_b_l_e_eddystone_u_r_l.html#a8102533ff1e7b6527ea744279f8f64ca":[9,0,17,8],
+"class_nim_b_l_e_eddystone_u_r_l.html#a8b68cc96a84da85e20d8583ba375c2ff":[9,0,17,2],
+"class_nim_b_l_e_eddystone_u_r_l.html#ac32c7066ce1ee8d495a35ec870f0e7bf":[9,0,17,1],
+"class_nim_b_l_e_eddystone_u_r_l.html#ada3ac4a544b8565635871f39f1593811":[9,0,17,6],
+"class_nim_b_l_e_eddystone_u_r_l.html#ae102214d20e32e31c9c84d723f67df15":[9,0,17,0],
+"class_nim_b_l_e_eddystone_u_r_l.html#af183e8483ae81fff65d909e67986fcad":[9,0,17,9],
+"class_nim_b_l_e_ext_advertisement.html":[9,0,18],
+"class_nim_b_l_e_ext_advertisement.html#a01f8e18204071c11eb47ab243893fc53":[9,0,18,10],
+"class_nim_b_l_e_ext_advertisement.html#a02fe1652f994e5bf76dc03381e47b39e":[9,0,18,7],
+"class_nim_b_l_e_ext_advertisement.html#a07b1589ad58a9e09b6ba7269fec87df0":[9,0,18,30],
+"class_nim_b_l_e_ext_advertisement.html#a08a31a938ccd10fad61e1115c1db6274":[9,0,18,14],
+"class_nim_b_l_e_ext_advertisement.html#a0a1f0c1facf52f3688b53158e95153b6":[9,0,18,11],
+"class_nim_b_l_e_ext_advertisement.html#a1391be9ee1b2ba1dc0548f2431b1d3af":[9,0,18,4],
+"class_nim_b_l_e_ext_advertisement.html#a1a4fd6883b11c339e397fc52f75c9ebb":[9,0,18,32],
+"class_nim_b_l_e_ext_advertisement.html#a24034d49c9ebadd947db1ef839c8b138":[9,0,18,29],
+"class_nim_b_l_e_ext_advertisement.html#a2b29a03b9a8b3a30245ff5468f239887":[9,0,18,15],
+"class_nim_b_l_e_ext_advertisement.html#a31ef2860f84d44a110f2a6d2d8eda3fc":[9,0,18,12],
+"class_nim_b_l_e_ext_advertisement.html#a3700ef4fd9078cf6dfd8c1eea4c520ba":[9,0,18,8],
+"class_nim_b_l_e_ext_advertisement.html#a4c339022b5523d20cc7fa956c5dbe1be":[9,0,18,20],
+"class_nim_b_l_e_ext_advertisement.html#a52ee2ff1ccd011ed3410d52c0518728e":[9,0,18,16],
+"class_nim_b_l_e_ext_advertisement.html#a5536d30615b87b68ec0c0f01292f5df9":[9,0,18,17],
+"class_nim_b_l_e_ext_advertisement.html#a5e90a75173354fe9c6959004eb43b20a":[9,0,18,19],
+"class_nim_b_l_e_ext_advertisement.html#a6162f7b7692b5ddabf7e015893b0ffa2":[9,0,18,13],
+"class_nim_b_l_e_ext_advertisement.html#a6220b378a1f2361c6dc76ba125936c51":[9,0,18,33],
+"class_nim_b_l_e_ext_advertisement.html#a62d44c4e1e41d9c6a470a7ebb0b7b038":[9,0,18,2],
+"class_nim_b_l_e_ext_advertisement.html#a63c2f5900752edad428304c5342b8458":[9,0,18,34],
+"class_nim_b_l_e_ext_advertisement.html#a6a0bcbde65ccb9e49aa93d31514c8225":[9,0,18,18],
+"class_nim_b_l_e_ext_advertisement.html#a747ef73a02df72709cf9bd89aabc08b3":[9,0,18,24],
+"class_nim_b_l_e_ext_advertisement.html#a74d0b2a236d144c5bce05536ec6b8509":[9,0,18,1],
+"class_nim_b_l_e_ext_advertisement.html#a7d7d57268d7c54fe5492e92bc7af33d8":[9,0,18,22],
+"class_nim_b_l_e_ext_advertisement.html#a852b96ea8e349caea04941adbe6d24b4":[9,0,18,9],
+"class_nim_b_l_e_ext_advertisement.html#a9e739c3117da31c486f8f4dd8d273c9c":[9,0,18,0],
+"class_nim_b_l_e_ext_advertisement.html#aaa47ca630ab01d75bdea8d252d10b506":[9,0,18,31],
+"class_nim_b_l_e_ext_advertisement.html#aaf6c44bc23f03a72bc02c3d45a9adf1d":[9,0,18,5],
+"class_nim_b_l_e_ext_advertisement.html#ab6103c5e86949d0e334101353b109775":[9,0,18,27],
+"class_nim_b_l_e_ext_advertisement.html#ab76aa4b9fb743e5269cfbbae8215d8a8":[9,0,18,23],
+"class_nim_b_l_e_ext_advertisement.html#abb66ffe5783f91f03301fc705701569f":[9,0,18,26],
+"class_nim_b_l_e_ext_advertisement.html#ac9f82eb0112544b977eb1947ed308525":[9,0,18,3],
+"class_nim_b_l_e_ext_advertisement.html#ad3bd08736cc70700c00432ec9ccfe94d":[9,0,18,25],
+"class_nim_b_l_e_ext_advertisement.html#ad8522542b90067e3a53076823d2087c3":[9,0,18,28],
+"class_nim_b_l_e_ext_advertisement.html#ae9777a0c544be6c674f4e39d56e930b8":[9,0,18,21],
+"class_nim_b_l_e_ext_advertisement.html#aec383f3f61780ee5bda3599543c84dd8":[9,0,18,6],
+"class_nim_b_l_e_ext_advertisement.html#af25522e956cfeb64bd6beca881d8786e":[9,0,18,35],
+"class_nim_b_l_e_ext_advertising.html":[9,0,19],
+"class_nim_b_l_e_ext_advertising.html#a02b4e33908456341fb98753d51316609":[9,0,19,11],
+"class_nim_b_l_e_ext_advertising.html#a321fb75a0ffacedfb54da4cc00484b7c":[9,0,19,7],
+"class_nim_b_l_e_ext_advertising.html#a3ea2e93f8c3ce4498d30e4dac7b29109":[9,0,19,10],
+"class_nim_b_l_e_ext_advertising.html#a477c57db99ce3b5e987d6838b661808f":[9,0,19,1],
+"class_nim_b_l_e_ext_advertising.html#a8044a281a37f4d7c96166ce6f0851159":[9,0,19,9],
+"class_nim_b_l_e_ext_advertising.html#a88ebe0b664cf22449e1a4311fc3b9b01":[9,0,19,2],
+"class_nim_b_l_e_ext_advertising.html#a8c4df0be35301c90a39491b9e98d3e24":[9,0,19,4],
+"class_nim_b_l_e_ext_advertising.html#a9395a0087e96329591ed2515cc21456b":[9,0,19,8],
+"class_nim_b_l_e_ext_advertising.html#abd7d35653a6831e75700eb5ac9ab5789":[9,0,19,3],
+"class_nim_b_l_e_ext_advertising.html#add623162d46c952d692e26888c9f8826":[9,0,19,6],
+"class_nim_b_l_e_ext_advertising.html#af7f4225f33f03d17efba1d4de0684eef":[9,0,19,5],
+"class_nim_b_l_e_ext_advertising.html#afe321b856d785b78242b2ea020a96af3":[9,0,19,0],
+"class_nim_b_l_e_ext_advertising_callbacks.html":[9,0,20],
+"class_nim_b_l_e_ext_advertising_callbacks.html#a07004fd4e849aa8e9bd7106cbf6ab94b":[9,0,20,1],
+"class_nim_b_l_e_ext_advertising_callbacks.html#a92af7bd791095cf91438b7af4c26263f":[9,0,20,0],
+"class_nim_b_l_e_h_i_d_device.html":[9,0,21],
+"class_nim_b_l_e_h_i_d_device.html#a033c4ad91f1bc165ac6a322b4dcc1699":[9,0,21,4],
+"class_nim_b_l_e_h_i_d_device.html#a1118c1e730f38b8b17795c8eb41a0861":[9,0,21,14],
+"class_nim_b_l_e_h_i_d_device.html#a24498f7b714574ab4a90288f7e4d58b7":[9,0,21,1],
+"class_nim_b_l_e_h_i_d_device.html#a33fc2bfc990ecd250859ca8f34a4314e":[9,0,21,7],
+"class_nim_b_l_e_h_i_d_device.html#a3e5b8291ca88d85a352429415abaec9c":[9,0,21,10],
+"class_nim_b_l_e_h_i_d_device.html#a45ca7d4547dfea9a64987065d83653bd":[9,0,21,2],
+"class_nim_b_l_e_h_i_d_device.html#a468e599c7d75e691f8d34e1b24db8a38":[9,0,21,5],
+"class_nim_b_l_e_h_i_d_device.html#a5309df317aa42de7ced2e34219b6666a":[9,0,21,13],
+"class_nim_b_l_e_h_i_d_device.html#a5984042cd05ea4ead895f5577133a235":[9,0,21,17],
+"class_nim_b_l_e_h_i_d_device.html#a5c42da43e0b8dfcd1d045e8a86d0b5a2":[9,0,21,6],
+"class_nim_b_l_e_h_i_d_device.html#a5e996a1668785f7a978f9874b4ff3b3e":[9,0,21,15],
+"class_nim_b_l_e_h_i_d_device.html#a84e3127a05f7e6a44761ec4a9e7668e3":[9,0,21,16],
+"class_nim_b_l_e_h_i_d_device.html#a91cfe81b47cea229e9bbe3c55be33701":[9,0,21,9],
+"class_nim_b_l_e_h_i_d_device.html#a95b4935280494ffa24bfae89753f199a":[9,0,21,0],
+"class_nim_b_l_e_h_i_d_device.html#ac04ed297cf6adbec210873739d2dc74d":[9,0,21,11],
+"class_nim_b_l_e_h_i_d_device.html#ac1e63972c6a77665a6bbc76f9ff4a717":[9,0,21,12],
+"class_nim_b_l_e_h_i_d_device.html#ace0141db690f1afec1b266f9ac9aa0f0":[9,0,21,3],
+"class_nim_b_l_e_h_i_d_device.html#ae80cf58c481c25bd6d7392a43b6fa48b":[9,0,21,8],
+"class_nim_b_l_e_remote_characteristic.html":[9,0,22],
+"class_nim_b_l_e_remote_characteristic.html#a0eb6655635394268a76c68e845d14135":[9,0,22,5],
+"class_nim_b_l_e_remote_characteristic.html#a181c54862bc422d8ad0b326af675922d":[9,0,22,20],
+"class_nim_b_l_e_remote_characteristic.html#a19362aaf357835e1f771c78f0c4cd9dd":[9,0,22,29],
+"class_nim_b_l_e_remote_characteristic.html#a2614c7f437b52f385fc4fd29abe358eb":[9,0,22,7],
+"class_nim_b_l_e_remote_characteristic.html#a333adea9c9f243774c6a2f13beabd873":[9,0,22,10],
+"class_nim_b_l_e_remote_characteristic.html#a3c8d1fd77dd074df866c091c614eafb3":[9,0,22,33],
+"class_nim_b_l_e_remote_characteristic.html#a417bb44d000758535253488f4d77774a":[9,0,22,23],
+"class_nim_b_l_e_remote_characteristic.html#a463760cabc9ca104a6fe094eb942fec0":[9,0,22,24],
+"class_nim_b_l_e_remote_characteristic.html#a4b86a1f600a61036487f5161f1f1726a":[9,0,22,27],
+"class_nim_b_l_e_remote_characteristic.html#a53322384b295a2548b3399e2c63d76f4":[9,0,22,3],
+"class_nim_b_l_e_remote_characteristic.html#a5f0a51b4a7fb2244d236dcb96fcf5205":[9,0,22,9],
+"class_nim_b_l_e_remote_characteristic.html#a6178e1c58361b957be3c48548c1c4366":[9,0,22,12],
+"class_nim_b_l_e_remote_characteristic.html#a6d0779ffe7e89449121428e7fd6083d8":[9,0,22,17],
+"class_nim_b_l_e_remote_characteristic.html#a7163009a9f0ff718b5856d19cb4a3568":[9,0,22,2],
+"class_nim_b_l_e_remote_characteristic.html#a71793454ffab034f87af3a5e9677a63d":[9,0,22,21],
+"class_nim_b_l_e_remote_characteristic.html#a74ad8484cbc88d8eb36d4684233c538b":[9,0,22,18],
+"class_nim_b_l_e_remote_characteristic.html#a78ac88ca25d71dfe31b95898b79b0442":[9,0,22,1],
+"class_nim_b_l_e_remote_characteristic.html#a81f39759d48a8fb792c94e4b3b455eef":[9,0,22,19],
+"class_nim_b_l_e_remote_characteristic.html#a855d591de111b09013ae83c4043d06ed":[9,0,22,0],
+"class_nim_b_l_e_remote_characteristic.html#a943183a55b020de9e09ac2cfaebcde32":[9,0,22,15],
+"class_nim_b_l_e_remote_characteristic.html#a94ae59940fcd128efeaf339b282b7ef9":[9,0,22,30],
+"class_nim_b_l_e_remote_characteristic.html#a9c41acdbf23dc036f321d4f0a66d40d1":[9,0,22,4],
+"class_nim_b_l_e_remote_characteristic.html#aad0ba99cad9779b33ea7cd4e94349099":[9,0,22,8],
+"class_nim_b_l_e_remote_characteristic.html#aae71c20d300ead52770e66fb8a1a47ea":[9,0,22,6],
+"class_nim_b_l_e_remote_characteristic.html#ab46121a8f5000c40d521e7ee5d92bee6":[9,0,22,14],
+"class_nim_b_l_e_remote_characteristic.html#ab4f54eabe90a416546b7b3fc3477f49c":[9,0,22,25],
+"class_nim_b_l_e_remote_characteristic.html#acf11d225fe5a25327742349e9d6061f9":[9,0,22,13],
+"class_nim_b_l_e_remote_characteristic.html#acf8bcf2cf94ca8bd8cf0c7c39f9883ae":[9,0,22,31],
+"class_nim_b_l_e_remote_characteristic.html#acf8bcf2cf94ca8bd8cf0c7c39f9883ae":[9,0,22,32],
+"class_nim_b_l_e_remote_characteristic.html#ad2691a8ea85488c8270f78701352fbb2":[9,0,22,26],
+"class_nim_b_l_e_remote_characteristic.html#ad62c63468995a24d736c4176c9607eeb":[9,0,22,16],
+"class_nim_b_l_e_remote_characteristic.html#ade5c6ae280c3cf36c9905be23df8f080":[9,0,22,22],
+"class_nim_b_l_e_remote_characteristic.html#ae2791429ba4a8c310ffc24139a985da6":[9,0,22,28],
+"class_nim_b_l_e_remote_characteristic.html#aebbcd36740e49d7e29eb5b21d6802380":[9,0,22,11],
+"class_nim_b_l_e_remote_descriptor.html":[9,0,23],
+"class_nim_b_l_e_remote_descriptor.html#a008795a09d1fbe8533c2e9d0e8deb33a":[9,0,23,8],
+"class_nim_b_l_e_remote_descriptor.html#a0d3fb6424b2c86730e1a292281cd836e":[9,0,23,13],
+"class_nim_b_l_e_remote_descriptor.html#a14351ea51b7b04f91b71e388881edd53":[9,0,23,3],
+"class_nim_b_l_e_remote_descriptor.html#a1abc84a09001537dffd13c810a503b9c":[9,0,23,11],
+"class_nim_b_l_e_remote_descriptor.html#a1abc84a09001537dffd13c810a503b9c":[9,0,23,12],
+"class_nim_b_l_e_remote_descriptor.html#a219606f84d63bc02f093051d66f05204":[9,0,23,4],
+"class_nim_b_l_e_remote_descriptor.html#a529e80c6731f68f3598e015df7618cfe":[9,0,23,1],
+"class_nim_b_l_e_remote_descriptor.html#a7c7c07e6ccd969de568b5bda72ec52d7":[9,0,23,6],
+"class_nim_b_l_e_remote_descriptor.html#ab07e86707a91e48f68e9de55686e939b":[9,0,23,5],
+"class_nim_b_l_e_remote_descriptor.html#ab1654a0b1dc86fe042b3d5b983fbd08c":[9,0,23,10],
+"class_nim_b_l_e_remote_descriptor.html#ab7cab188f311f44d06638434117938e7":[9,0,23,9],
+"class_nim_b_l_e_remote_descriptor.html#ab8a774ebc69c0fb7ea17f926a82dba21":[9,0,23,0],
+"class_nim_b_l_e_remote_descriptor.html#ac4e3a21818903b69ace41c36a58d3c46":[9,0,23,7],
+"class_nim_b_l_e_remote_descriptor.html#ace6b19cd3d9aa8226b4c17371616ad58":[9,0,23,2],
+"class_nim_b_l_e_remote_service.html":[9,0,24],
+"class_nim_b_l_e_remote_service.html#a10fe635fe9a0661d26c33021faaec53b":[9,0,24,4],
+"class_nim_b_l_e_remote_service.html#a15b3b750b073f334c3be680a99ce2e02":[9,0,24,2],
+"class_nim_b_l_e_remote_service.html#a221069047193f8d25f7112b44bbcb28f":[9,0,24,3],
+"class_nim_b_l_e_remote_service.html#a2803aa5cdfdb622ae8fe255dc939cb1d":[9,0,24,0],
+"class_nim_b_l_e_remote_service.html#a2c9e91c842598a6a9576c7b87af0863a":[9,0,24,7],
+"class_nim_b_l_e_remote_service.html#a3d1e7db457a9f3774eaa5e641dcc716e":[9,0,24,8],
+"class_nim_b_l_e_remote_service.html#a49bb3134b570db877fac67e6ed077aa2":[9,0,24,1],
+"class_nim_b_l_e_remote_service.html#a4a9b63b4e5cedb51a7748a88daeb518b":[9,0,24,10],
+"class_nim_b_l_e_remote_service.html#a4bb8c7c85580d86fd9ab7be5c3933b72":[9,0,24,11],
+"class_nim_b_l_e_remote_service.html#a565ed7d306645772d4e03ca65a07f7e5":[9,0,24,9],
+"class_nim_b_l_e_remote_service.html#a7ff4fc7bfb77adc33003dd6eb8e16957":[9,0,24,6],
+"class_nim_b_l_e_remote_service.html#aaf106a37f24a51b967dd0984c973750f":[9,0,24,12],
+"class_nim_b_l_e_remote_service.html#ab12d195a2239a3808d60457184f0c487":[9,0,24,5],
+"class_nim_b_l_e_scan.html":[9,0,25],
+"class_nim_b_l_e_scan.html#a21b1e27816717b77533755f31dfaa820":[9,0,25,14],
+"class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61":[9,0,25,3],
+"class_nim_b_l_e_scan.html#a3f3e30d8b79aeb4d64af10d5f9d33788":[9,0,25,9],
+"class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967":[9,0,25,8],
+"class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1":[9,0,25,2],
+"class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1":[9,0,25,15],
+"class_nim_b_l_e_scan.html#a6a97fd1c7f16fccd7f19994592b6dfe6":[9,0,25,0],
+"class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1":[9,0,25,10],
+"class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910":[9,0,25,5],
+"class_nim_b_l_e_scan.html#a8459a1c69476fcdfd6370a1d10e0e159":[9,0,25,13],
+"class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81":[9,0,25,11],
+"class_nim_b_l_e_scan.html#ab275a9fec35c8957acf47689056d94af":[9,0,25,6],
+"class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016":[9,0,25,4],
+"class_nim_b_l_e_scan.html#ac2e8c921413f1ad217f45fecf63c0d22":[9,0,25,12],
+"class_nim_b_l_e_scan.html#ac40563af803f3b9ab88398c7f30e21bb":[9,0,25,7],
+"class_nim_b_l_e_scan.html#ad421a09eeb021755b193a7a5e01f183b":[9,0,25,1],
+"class_nim_b_l_e_scan_results.html":[9,0,26],
+"class_nim_b_l_e_scan_results.html#a2bbead75105733d04796b69e10c56cd4":[9,0,26,1],
+"class_nim_b_l_e_scan_results.html#a44e183a7ce0c9fb587d11910ce5ef200":[9,0,26,2],
+"class_nim_b_l_e_scan_results.html#a68aa3ebffb1be785497f228c1d11e500":[9,0,26,5],
+"class_nim_b_l_e_scan_results.html#ac2356f6c1b8384ebc061d4b7953a9374":[9,0,26,4],
+"class_nim_b_l_e_scan_results.html#ad426f221e8c18c0c3f5784786710e8f0":[9,0,26,0],
+"class_nim_b_l_e_scan_results.html#ae4796dd6ce1845c46f66bc1a36ad746a":[9,0,26,3],
+"class_nim_b_l_e_security.html":[9,0,27],
+"class_nim_b_l_e_security.html#a0bb1535e1b0d48566c17f681b7539f82":[9,0,27,5],
+"class_nim_b_l_e_security.html#a1bb7902d5ceffaca86bd7638a74e35e3":[9,0,27,1],
+"class_nim_b_l_e_security.html#a5cf0d3672a16f557032bcbf39a9e22f2":[9,0,27,0],
+"class_nim_b_l_e_security.html#aac8434faa02a6813b7efd87224e04714":[9,0,27,4]
};
diff --git a/navtreeindex2.js b/navtreeindex2.js
index 037ab4c..ebe0c52 100644
--- a/navtreeindex2.js
+++ b/navtreeindex2.js
@@ -1,121 +1,240 @@
var NAVTREEINDEX2 =
{
-"functions_func_~.html":[9,3,1,18],
+"class_nim_b_l_e_security.html#ab2be50284a325ec8937abdab0baafd4b":[9,0,27,3],
+"class_nim_b_l_e_security.html#adfc3caa3e1a5aedc3be5c0f1dc5c99ac":[9,0,27,2],
+"class_nim_b_l_e_security_callbacks.html":[9,0,28],
+"class_nim_b_l_e_security_callbacks.html#a1cfc9c48c02aece1736f9070dc6ff90f":[9,0,28,3],
+"class_nim_b_l_e_security_callbacks.html#a22a8079906070a13583daafd1521a125":[9,0,28,0],
+"class_nim_b_l_e_security_callbacks.html#a2ce6a03693a43a55e51598d8b2654a92":[9,0,28,1],
+"class_nim_b_l_e_security_callbacks.html#a620de166c3fe26027871d18535839cdd":[9,0,28,4],
+"class_nim_b_l_e_security_callbacks.html#aa984ec6f29741b49bdd7dbfde60177be":[9,0,28,2],
+"class_nim_b_l_e_server.html":[9,0,29],
+"class_nim_b_l_e_server.html#a00c92f62f41ec1c499dfaf042b487d75":[9,0,29,15],
+"class_nim_b_l_e_server.html#a15112931d1eb6226188c7e383523ba06":[9,0,29,17],
+"class_nim_b_l_e_server.html#a1ff39fc5235d1374d99b4f3d3acb5ddb":[9,0,29,12],
+"class_nim_b_l_e_server.html#a347c74f4ad6e2bcc2e301da11ae13e91":[9,0,29,10],
+"class_nim_b_l_e_server.html#a485c90ce36275f9e4ec26a7f3d348cd9":[9,0,29,16],
+"class_nim_b_l_e_server.html#a5f0d43106db713e2ac716eabd70a10b2":[9,0,29,3],
+"class_nim_b_l_e_server.html#a63c9dce5c4bbc1c6bc720b6c51bcf3e1":[9,0,29,4],
+"class_nim_b_l_e_server.html#a6bfd923ecd0ea06d5564343ab7209122":[9,0,29,1],
+"class_nim_b_l_e_server.html#a6eda4c9e0ac1dd031c678d4bf7da1d56":[9,0,29,0],
+"class_nim_b_l_e_server.html#a7a4c114b572675e82700604db29e6e25":[9,0,29,20],
+"class_nim_b_l_e_server.html#a87ebb3d230e98a6b3cf85bc403d227e0":[9,0,29,13],
+"class_nim_b_l_e_server.html#a8f4b6c2fc5602f5ec34f963df6a21f75":[9,0,29,19],
+"class_nim_b_l_e_server.html#a98ea12f57c10c0477b0c1c5efab23ee5":[9,0,29,6],
+"class_nim_b_l_e_server.html#a9b08738766de90d7065263761314030a":[9,0,29,22],
+"class_nim_b_l_e_server.html#a9eb1f32b72ac93736585d6d89f393021":[9,0,29,11],
+"class_nim_b_l_e_server.html#aaeb58b4de85754d1aac6964e9248aa35":[9,0,29,2],
+"class_nim_b_l_e_server.html#ab41d8bb9b334734f95a726f1e15200fc":[9,0,29,5],
+"class_nim_b_l_e_server.html#ab95c428ddc94eb019a26d91e70f5974b":[9,0,29,7],
+"class_nim_b_l_e_server.html#ac28df6ead4d7151df3e84f4fa991eb1f":[9,0,29,14],
+"class_nim_b_l_e_server.html#ad241eb42e9775fb2f8aaa87c9fb9a76b":[9,0,29,8],
+"class_nim_b_l_e_server.html#ad91fbcb2717aa1969329f365692e1072":[9,0,29,9],
+"class_nim_b_l_e_server.html#ae94ad52f3c97f62553af9765acdb7bcb":[9,0,29,18],
+"class_nim_b_l_e_server.html#af827ef8988c1584795447a634502f0df":[9,0,29,21],
+"class_nim_b_l_e_server_callbacks.html":[9,0,30],
+"class_nim_b_l_e_server_callbacks.html#a3dbf72280a895e80e0972599a7373ca0":[9,0,30,4],
+"class_nim_b_l_e_server_callbacks.html#a5327d11f249e8f020b59529b634e0c91":[9,0,30,1],
+"class_nim_b_l_e_server_callbacks.html#a60e1ad35979434000d04fdbb374acc18":[9,0,30,5],
+"class_nim_b_l_e_server_callbacks.html#a6a18155a8d3fa0980fab51f08ce5de2d":[9,0,30,0],
+"class_nim_b_l_e_server_callbacks.html#a76f32bb22a34b33ee2a934f101d925b1":[9,0,30,3],
+"class_nim_b_l_e_server_callbacks.html#a80348ab2d08bbec7a6910c96662fc1d4":[9,0,30,2],
+"class_nim_b_l_e_server_callbacks.html#ab4533f1317b36216c3c86695613c80a6":[9,0,30,6],
+"class_nim_b_l_e_server_callbacks.html#ad2c3035c3a284d03673ff1b5aeaa0fca":[9,0,30,7],
+"class_nim_b_l_e_service.html":[9,0,31],
+"class_nim_b_l_e_service.html#a10d10d14f8c5a970a06915cd407a0a73":[9,0,31,17],
+"class_nim_b_l_e_service.html#a24cf868e9eec7b5ecdf1e88d257e91d9":[9,0,31,10],
+"class_nim_b_l_e_service.html#a305b680286096638a4239620ec2de567":[9,0,31,6],
+"class_nim_b_l_e_service.html#a35b56ab3ef7fffb2b299f95d3176d07e":[9,0,31,8],
+"class_nim_b_l_e_service.html#a415e1b836946831c6f9edd74adba8763":[9,0,31,3],
+"class_nim_b_l_e_service.html#a5084a6db9c9b5ddb4f3e9261606b1e65":[9,0,31,0],
+"class_nim_b_l_e_service.html#a55724788b3bf4614995ea656bf8fe1bb":[9,0,31,11],
+"class_nim_b_l_e_service.html#a71488881933ae8adbf11c5986f9dfb75":[9,0,31,5],
+"class_nim_b_l_e_service.html#a86d65ef61a77bdd660632b4041c2b640":[9,0,31,12],
+"class_nim_b_l_e_service.html#aa2cba47cb4c935e15c77707643e5e9a5":[9,0,31,9],
+"class_nim_b_l_e_service.html#aa780d072e6257258e27cbc96106626ad":[9,0,31,4],
+"class_nim_b_l_e_service.html#ab000b7d2b7dbb3978a5a8c1e17b1d649":[9,0,31,14],
+"class_nim_b_l_e_service.html#ad37324ed0404d596923d6fdc0133b985":[9,0,31,16],
+"class_nim_b_l_e_service.html#adfc4e67f79aaabc8f2c6bdb5c6966609":[9,0,31,7],
+"class_nim_b_l_e_service.html#af304386c4e067dd0eeb27b86c0e59d0f":[9,0,31,13],
+"class_nim_b_l_e_service.html#af4e9e030046352a6ff3d9ba67fe872e3":[9,0,31,1],
+"class_nim_b_l_e_service.html#af8215dbfdaf7ced32d6158f8ff5116e8":[9,0,31,2],
+"class_nim_b_l_e_service.html#af992d0c27e3a559789fb77fc46623234":[9,0,31,15],
+"class_nim_b_l_e_u_u_i_d.html":[9,0,33],
+"class_nim_b_l_e_u_u_i_d.html#a399dca7d70ee262aa155b39d357321b1":[9,0,33,5],
+"class_nim_b_l_e_u_u_i_d.html#a3d9763ff434905457ed69118e93a35fd":[9,0,33,8],
+"class_nim_b_l_e_u_u_i_d.html#a4315e760bf763333022658ff980f3048":[9,0,33,10],
+"class_nim_b_l_e_u_u_i_d.html#a46484dcb0a1bfef6a8afe97f49f97875":[9,0,33,12],
+"class_nim_b_l_e_u_u_i_d.html#a618f6c29565338a496715ca951c98afb":[9,0,33,14],
+"class_nim_b_l_e_u_u_i_d.html#a62e8e924f971c62cc42760d8c7dd6f28":[9,0,33,9],
+"class_nim_b_l_e_u_u_i_d.html#a6eda1a14d4590dd25e6a2f7a49ad528e":[9,0,33,4],
+"class_nim_b_l_e_u_u_i_d.html#a6fd3849062c96cee3d6cd00544fadfac":[9,0,33,0],
+"class_nim_b_l_e_u_u_i_d.html#a7103976da820d0c1840aa77aca38306c":[9,0,33,13],
+"class_nim_b_l_e_u_u_i_d.html#a9708e07b8e0915aafcfa32fe74ccdf64":[9,0,33,15],
+"class_nim_b_l_e_u_u_i_d.html#aadbfc5504e63cd91c59c778607b8dd92":[9,0,33,1],
+"class_nim_b_l_e_u_u_i_d.html#ab4e1658b1c414edb9aea5cf5140fa461":[9,0,33,2],
+"class_nim_b_l_e_u_u_i_d.html#abec7913c5989c3620c423c6717111453":[9,0,33,6],
+"class_nim_b_l_e_u_u_i_d.html#abeee22e6661f7533f05802e1f89fedfe":[9,0,33,11],
+"class_nim_b_l_e_u_u_i_d.html#ac9fbd00e7ffeb334571016c61bca9286":[9,0,33,3],
+"class_nim_b_l_e_u_u_i_d.html#aefc88e493b63ccd6dc86227dc92af0c6":[9,0,33,7],
+"class_nim_b_l_e_utils.html":[9,0,32],
+"classes.html":[9,1],
+"deprecated.html":[7],
+"dir_68267d1309a1af8e8297ef4c3efbcdba.html":[10,0,0],
+"files.html":[10,0],
+"functions.html":[9,3,0],
+"functions.html":[9,3,0,0],
+"functions_b.html":[9,3,0,1],
+"functions_c.html":[9,3,0,2],
+"functions_d.html":[9,3,0,3],
+"functions_e.html":[9,3,0,4],
+"functions_enum.html":[9,3,2],
+"functions_f.html":[9,3,0,5],
+"functions_func.html":[9,3,1,0],
+"functions_func.html":[9,3,1],
+"functions_func_b.html":[9,3,1,1],
+"functions_func_c.html":[9,3,1,2],
+"functions_func_d.html":[9,3,1,3],
+"functions_func_e.html":[9,3,1,4],
+"functions_func_f.html":[9,3,1,5],
+"functions_func_g.html":[9,3,1,6],
+"functions_func_h.html":[9,3,1,7],
+"functions_func_i.html":[9,3,1,8],
+"functions_func_l.html":[9,3,1,9],
+"functions_func_m.html":[9,3,1,10],
+"functions_func_n.html":[9,3,1,11],
+"functions_func_o.html":[9,3,1,12],
+"functions_func_p.html":[9,3,1,13],
+"functions_func_r.html":[9,3,1,14],
+"functions_func_s.html":[9,3,1,15],
+"functions_func_t.html":[9,3,1,16],
+"functions_func_u.html":[9,3,1,17],
+"functions_func_w.html":[9,3,1,18],
+"functions_func_~.html":[9,3,1,19],
"functions_g.html":[9,3,0,6],
"functions_h.html":[9,3,0,7],
"functions_i.html":[9,3,0,8],
-"functions_m.html":[9,3,0,9],
-"functions_n.html":[9,3,0,10],
-"functions_o.html":[9,3,0,11],
-"functions_p.html":[9,3,0,12],
-"functions_r.html":[9,3,0,13],
-"functions_s.html":[9,3,0,14],
-"functions_t.html":[9,3,0,15],
-"functions_u.html":[9,3,0,16],
-"functions_w.html":[9,3,0,17],
-"functions_~.html":[9,3,0,18],
+"functions_l.html":[9,3,0,9],
+"functions_m.html":[9,3,0,10],
+"functions_n.html":[9,3,0,11],
+"functions_o.html":[9,3,0,12],
+"functions_p.html":[9,3,0,13],
+"functions_r.html":[9,3,0,14],
+"functions_s.html":[9,3,0,15],
+"functions_t.html":[9,3,0,16],
+"functions_u.html":[9,3,0,17],
+"functions_w.html":[9,3,0,18],
+"functions_~.html":[9,3,0,19],
"globals.html":[10,1,0],
"globals_defs.html":[10,1,1],
"hierarchy.html":[9,2],
"index.html":[0],
"index.html":[],
-"index.html#autotoc_md33":[0,0],
-"index.html#autotoc_md34":[0,1],
-"index.html#autotoc_md35":[0,2],
-"index.html#autotoc_md36":[0],
-"index.html#autotoc_md37":[1],
-"index.html#autotoc_md38":[0,3],
-"index.html#autotoc_md39":[2],
-"index.html#autotoc_md40":[3],
-"index.html#autotoc_md41":[0,4],
-"index.html#autotoc_md42":[0,5],
-"md__command_line_config.html":[2],
+"index.html#autotoc_md42":[0,0],
+"index.html#autotoc_md43":[0,1],
+"index.html#autotoc_md44":[0],
+"index.html#autotoc_md45":[1],
+"index.html#autotoc_md46":[0,2],
+"index.html#autotoc_md47":[0,3],
+"index.html#autotoc_md48":[0,4],
+"md__bluetooth_5_features.html":[2],
+"md__bluetooth_5_features.html#autotoc_md34":[2,0],
+"md__bluetooth_5_features.html#autotoc_md35":[2,1],
"md__improvements_and_updates.html":[3],
-"md__improvements_and_updates.html#autotoc_md28":[3,0],
-"md__improvements_and_updates.html#autotoc_md29":[3,1],
-"md__improvements_and_updates.html#autotoc_md30":[3,2],
-"md__improvements_and_updates.html#autotoc_md31":[3,3],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html":[1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md1":[1,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md10":[1,2,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md11":[1,3],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md12":[1,3,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md13":[1,3,1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md14":[1,3,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md15":[1,4],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md16":[1,4,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md17":[1,4,1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md18":[1,4,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md19":[1,5],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md2":[1,0,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md20":[1,5,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md21":[1,6],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md22":[1,6,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md23":[1,6,1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md24":[1,6,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md25":[1,7],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md3":[1,0,1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md4":[1,0,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md5":[1,1],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md6":[1,1,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md7":[1,2],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md8":[1,2,0],
-"md__k___users__ryan__desktop_thermo_git_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md9":[1,2,1],
+"md__improvements_and_updates.html#autotoc_md37":[3,0],
+"md__improvements_and_updates.html#autotoc_md38":[3,1],
+"md__improvements_and_updates.html#autotoc_md39":[3,2],
+"md__improvements_and_updates.html#autotoc_md40":[3,3],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html":[1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md1":[1,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md10":[1,2,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md11":[1,2,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md12":[1,3],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md13":[1,3,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md14":[1,4],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md15":[1,4,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md16":[1,4,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md17":[1,4,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md18":[1,5],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md19":[1,5,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md2":[1,0,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md20":[1,5,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md21":[1,5,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md22":[1,6],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md23":[1,6,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md24":[1,6,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md25":[1,6,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md26":[1,7],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md27":[1,7,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md28":[1,8],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md29":[1,8,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md3":[1,0,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md30":[1,8,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md31":[1,8,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md32":[1,9],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md4":[1,0,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md5":[1,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md6":[1,1,0],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md7":[1,1,1],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md8":[1,2],
+"md__k___users__ryan__desktop_test_idf_components_esp_nimble_cpp__c_h_a_n_g_e_l_o_g.html#autotoc_md9":[1,2,0],
"md__migration_guide.html":[4],
-"md__migration_guide.html#autotoc_md44":[4,0],
-"md__migration_guide.html#autotoc_md45":[4,0,0],
-"md__migration_guide.html#autotoc_md46":[4,0,1],
-"md__migration_guide.html#autotoc_md47":[4,0,2],
-"md__migration_guide.html#autotoc_md48":[4,1],
-"md__migration_guide.html#autotoc_md49":[4,1,0],
-"md__migration_guide.html#autotoc_md50":[4,1,1],
-"md__migration_guide.html#autotoc_md51":[4,1,1,4],
-"md__migration_guide.html#autotoc_md52":[4,1,1,5],
-"md__migration_guide.html#autotoc_md53":[4,1,1,6],
-"md__migration_guide.html#autotoc_md54":[4,1,2],
-"md__migration_guide.html#autotoc_md55":[0],
-"md__migration_guide.html#autotoc_md56":[1],
-"md__migration_guide.html#autotoc_md57":[4,1,3],
-"md__migration_guide.html#autotoc_md58":[4,2],
-"md__migration_guide.html#autotoc_md59":[4,3],
-"md__migration_guide.html#autotoc_md60":[4,3,0],
-"md__migration_guide.html#autotoc_md61":[4,3,1],
-"md__migration_guide.html#autotoc_md62":[4,3,2],
-"md__migration_guide.html#autotoc_md63":[4,4],
-"md__migration_guide.html#autotoc_md64":[4,5],
+"md__migration_guide.html#autotoc_md50":[4,0],
+"md__migration_guide.html#autotoc_md51":[4,0,0],
+"md__migration_guide.html#autotoc_md52":[4,0,1],
+"md__migration_guide.html#autotoc_md53":[4,0,2],
+"md__migration_guide.html#autotoc_md54":[4,1],
+"md__migration_guide.html#autotoc_md55":[4,1,0],
+"md__migration_guide.html#autotoc_md56":[4,1,1],
+"md__migration_guide.html#autotoc_md57":[4,1,1,2],
+"md__migration_guide.html#autotoc_md58":[4,1,1,3],
+"md__migration_guide.html#autotoc_md59":[4,1,1,4],
+"md__migration_guide.html#autotoc_md60":[4,1,2],
+"md__migration_guide.html#autotoc_md61":[0],
+"md__migration_guide.html#autotoc_md62":[1],
+"md__migration_guide.html#autotoc_md63":[4,1,3],
+"md__migration_guide.html#autotoc_md64":[4,2],
+"md__migration_guide.html#autotoc_md65":[4,3],
+"md__migration_guide.html#autotoc_md66":[4,3,0],
+"md__migration_guide.html#autotoc_md67":[4,3,1],
+"md__migration_guide.html#autotoc_md68":[4,3,2],
+"md__migration_guide.html#autotoc_md69":[4,4],
+"md__migration_guide.html#autotoc_md70":[4,5],
"md__new_user_guide.html":[5],
-"md__new_user_guide.html#autotoc_md66":[5,0],
-"md__new_user_guide.html#autotoc_md67":[5,1],
-"md__new_user_guide.html#autotoc_md68":[5,2],
-"md__new_user_guide.html#autotoc_md69":[5,3],
+"md__new_user_guide.html#autotoc_md72":[5,0],
+"md__new_user_guide.html#autotoc_md73":[5,1],
+"md__new_user_guide.html#autotoc_md74":[5,2],
+"md__new_user_guide.html#autotoc_md75":[5,3],
"md__usage_tips.html":[6],
-"md__usage_tips.html#autotoc_md71":[6,0],
-"md__usage_tips.html#autotoc_md72":[6,1],
-"md__usage_tips.html#autotoc_md73":[6,2],
-"md__usage_tips.html#autotoc_md74":[6,3],
-"md__usage_tips.html#autotoc_md75":[6,4],
-"nimconfig_8h.html":[10,0,0,25],
-"nimconfig_8h.html#a07c0fd3908c3466e9f4835f85d913880":[10,0,0,25,16],
-"nimconfig_8h.html#a11ebe4c94e55f9e710be03169b91f964":[10,0,0,25,2],
-"nimconfig_8h.html#a136a5d626ac04aa780c6ec07ee88d242":[10,0,0,25,18],
-"nimconfig_8h.html#a1cfe4f7cfbce0d842fad09e4b668d3df":[10,0,0,25,1],
-"nimconfig_8h.html#a1f39f56a0fe8a36ef7823a7c3e1c6e3b":[10,0,0,25,5],
-"nimconfig_8h.html#a227a536958a284235daf409b2b3d1766":[10,0,0,25,15],
-"nimconfig_8h.html#a2a6b4f35f8975778ac2aac5ff169cbda":[10,0,0,25,8],
-"nimconfig_8h.html#a2ea633774bbf41ac57b314875f16d5f9":[10,0,0,25,4],
-"nimconfig_8h.html#a2f0eb3c3124a34b191a70908dc5af441":[10,0,0,25,6],
-"nimconfig_8h.html#a300d3f8ff48d217a1a2b6608454dfadb":[10,0,0,25,13],
-"nimconfig_8h.html#a3966debed5a599b8cabff3c50b9fae4f":[10,0,0,25,19],
-"nimconfig_8h.html#a677d7e75eef5bc96e8d0b4c659db90b0":[10,0,0,25,11],
-"nimconfig_8h.html#a6ebb331a6664a3863fb2a57b91a6cd2d":[10,0,0,25,9],
-"nimconfig_8h.html#a7b98160e6904e45e99e28a7fcc6b2a3a":[10,0,0,25,14],
-"nimconfig_8h.html#a8fa28ebea6e979630359a2acde3ae578":[10,0,0,25,0],
-"nimconfig_8h.html#a97b51f4248845f6225806eadbab3bcdb":[10,0,0,25,17],
-"nimconfig_8h.html#a9d22f9f555a2180787ccec86aa10dc24":[10,0,0,25,12],
-"nimconfig_8h.html#ab86912bde65d198f2f7aa7f83ef11ee8":[10,0,0,25,7],
-"nimconfig_8h.html#ab91646223e52e5c24f1004a0ed21b829":[10,0,0,25,10],
-"nimconfig_8h.html#abdc3219ca772a22427beed33477ea252":[10,0,0,25,3],
-"nimconfig_8h_source.html":[10,0,0,25],
+"md__usage_tips.html#autotoc_md77":[6,0],
+"md__usage_tips.html#autotoc_md78":[6,1],
+"md__usage_tips.html#autotoc_md79":[6,2],
+"md__usage_tips.html#autotoc_md80":[6,3],
+"md__usage_tips.html#autotoc_md81":[6,4],
+"nimconfig_8h.html":[10,0,0,27],
+"nimconfig_8h.html#a07c0fd3908c3466e9f4835f85d913880":[10,0,0,27,18],
+"nimconfig_8h.html#a11ebe4c94e55f9e710be03169b91f964":[10,0,0,27,2],
+"nimconfig_8h.html#a136a5d626ac04aa780c6ec07ee88d242":[10,0,0,27,20],
+"nimconfig_8h.html#a1cfe4f7cfbce0d842fad09e4b668d3df":[10,0,0,27,1],
+"nimconfig_8h.html#a1f39f56a0fe8a36ef7823a7c3e1c6e3b":[10,0,0,27,5],
+"nimconfig_8h.html#a227a536958a284235daf409b2b3d1766":[10,0,0,27,15],
+"nimconfig_8h.html#a2a6b4f35f8975778ac2aac5ff169cbda":[10,0,0,27,8],
+"nimconfig_8h.html#a2ea633774bbf41ac57b314875f16d5f9":[10,0,0,27,4],
+"nimconfig_8h.html#a2f0eb3c3124a34b191a70908dc5af441":[10,0,0,27,6],
+"nimconfig_8h.html#a300d3f8ff48d217a1a2b6608454dfadb":[10,0,0,27,13],
+"nimconfig_8h.html#a3966debed5a599b8cabff3c50b9fae4f":[10,0,0,27,21],
+"nimconfig_8h.html#a4d4ea715325f75455b43c7dbaa69d7a0":[10,0,0,27,16],
+"nimconfig_8h.html#a677d7e75eef5bc96e8d0b4c659db90b0":[10,0,0,27,11],
+"nimconfig_8h.html#a6ebb331a6664a3863fb2a57b91a6cd2d":[10,0,0,27,9],
+"nimconfig_8h.html#a7b98160e6904e45e99e28a7fcc6b2a3a":[10,0,0,27,14],
+"nimconfig_8h.html#a8fa28ebea6e979630359a2acde3ae578":[10,0,0,27,0],
+"nimconfig_8h.html#a97b51f4248845f6225806eadbab3bcdb":[10,0,0,27,19],
+"nimconfig_8h.html#a9d22f9f555a2180787ccec86aa10dc24":[10,0,0,27,12],
+"nimconfig_8h.html#ab86912bde65d198f2f7aa7f83ef11ee8":[10,0,0,27,7],
+"nimconfig_8h.html#ab91646223e52e5c24f1004a0ed21b829":[10,0,0,27,10],
+"nimconfig_8h.html#abdc3219ca772a22427beed33477ea252":[10,0,0,27,3],
+"nimconfig_8h.html#abe2e5c7dbca929d3ed6cf70a73aced23":[10,0,0,27,17],
+"nimconfig_8h_source.html":[10,0,0,27],
"pages.html":[],
"todo.html":[8]
};
diff --git a/nimconfig_8h.html b/nimconfig_8h.html
index 52cde6f..f80c895 100644
--- a/nimconfig_8h.html
+++ b/nimconfig_8h.html
@@ -5,7 +5,7 @@
-
Changelog | |
Arduino command line and platformio config options | |
Changelog | |
Bluetooth 5.x features | |
Improvements and updates | |
Migrating from Bluedroid to NimBLE | |
New User Guide | |
esp-nimble-cpp
- 1.3.2
+ 1.4.0
|