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
while (uxQueueMessagesWaiting(_spp_tx_queue) > 0) {
delay(100);
}
}
}
Describe the solution you'd like
I'd suggest that the delay is reduced to 1 ms. By using much smaller delay, it can accomodate different kinds of serial data.
Describe alternatives you've considered
Currently I have no alternative approaches in mind that is as efficient and minimal in changes.
Additional context
When I try without using flush() for my project, typically the data is sent in its entirety in about 5 - 20 ms. However, when I try to use flush(), the data would be sent entirely in > 100 ms. For a bigger serial data, the loop in the function would cause other 100 ms of delay(s). To avoid the problem altogether, one can avoid using flush() at all. But then, there is no way to know and make sure that the transmission buffer is cleared.
I have checked existing list of Feature requests and the Contribution Guide
I confirm I have checked existing list of Feature requests and Contribution Guide.
The text was updated successfully, but these errors were encountered:
As far as I see from the code, the message will not be sent in 100ms, but rather flush() will return after 100ms. delay(2) would be better. Can you please try?
Related area
Classic Bluetooth
Hardware specification
All ESP32 boards
Is your feature request related to a problem?
For a small but frequent Bluetooth serial data, using delay of 100 ms in
flush()
degrade the performance very much.arduino-esp32/libraries/BluetoothSerial/src/BluetoothSerial.cpp
Lines 878 to 884 in cbf1e94
Describe the solution you'd like
I'd suggest that the delay is reduced to 1 ms. By using much smaller delay, it can accomodate different kinds of serial data.
Describe alternatives you've considered
Currently I have no alternative approaches in mind that is as efficient and minimal in changes.
Additional context
When I try without using
flush()
for my project, typically the data is sent in its entirety in about 5 - 20 ms. However, when I try to useflush()
, the data would be sent entirely in > 100 ms. For a bigger serial data, the loop in the function would cause other 100 ms of delay(s). To avoid the problem altogether, one can avoid usingflush()
at all. But then, there is no way to know and make sure that the transmission buffer is cleared.I have checked existing list of Feature requests and the Contribution Guide
The text was updated successfully, but these errors were encountered: