You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the ESP32-C3. My project has a BLE-client and a BLE-server. The NimBLE-Arduino version is v2.2.3.
The BLE-server sends notifications with a payload of 40 bytes 2 times per second. However, after some time (about 50 minutes), the notifications stop being sent, and in the server log I see an error: "<< sendValue: failed to allocate mbuf."
NimBLECharacteristic.cpp
// Must re-create the data buffer on each iteration because it is freed by the calls bellow.
os_mbuf* om = ble_hs_mbuf_from_flat(value, length);
if (!om) {
NIMBLE_LOGE(LOG_TAG, "<< sendValue: failed to allocate mbuf");
return false;
}
If I reconnect, the notifications are successfully sent again.
70 KB are free in a heap all the time.
The text was updated successfully, but these errors were encountered:
You should wait until the onStatus callback is invoked (checking for success of the last notification, rc==0) before sending the next notification. The issue in this case is that there is a connection issue between the devices and each time a notification is sent it consumes a buffer but if that doesn't get sent then the buffer doesn't get freed.
Hello,
I am using the ESP32-C3. My project has a BLE-client and a BLE-server. The NimBLE-Arduino version is v2.2.3.
The BLE-server sends notifications with a payload of 40 bytes 2 times per second. However, after some time (about 50 minutes), the notifications stop being sent, and in the server log I see an error: "<< sendValue: failed to allocate mbuf."
If I reconnect, the notifications are successfully sent again.
70 KB are free in a heap all the time.
The text was updated successfully, but these errors were encountered: