ESP32: BLE rapid NOTIFY -> OSError: [Errno 12] ENOMEM #9825
Replies: 3 comments 1 reply
-
@stephanelsmith |
Beta Was this translation helpful? Give feedback.
-
FWIW, I'm hitting the very same problem on a stm32 (micropython 1.19.1, custom board, recompiled from sources), but here the sleep & retry doesn't help :( |
Beta Was this translation helpful? Give feedback.
-
@stephanelsmith May I ask if you have resolved it,I use ble notify to send gyroscope data -> OSError: [Errno 12] ENOMEM,I guess the data generated by the gyroscope is faster than the nofity speed |
Beta Was this translation helpful? Give feedback.
-
When pushing data throug BLE using notify, I eventually run into "OSError: [Errno 12] ENOMEM". I'm able to work-around by catching the error, doing a short asyncio.sleep_ms(), and then trying again, rinse/repeat. This seems to be my main throughput limitation at the moment.
Quick search in modbluetooth_btstack.c seems to indiciate that data was failed to copy at that instant.
Is there anything over or under the hood to be done here? Or are there any knobs or tricks out there to push BLE throughput?
I'm running with MTU 515 (thanks to #9369 commit). I'm trying to maximize ble throughput, especially as the esp32-s3 should be BLE 5.0!
Beta Was this translation helpful? Give feedback.
All reactions