Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Activating a host stream write buffer (see #447) may result in unexpected behaviour: when receiving serial data with e.g. 9600 baud it may happen that without write buffers several received serial bytes where sent to the host in the same TCP frame but with write buffers each byte gets sent separately again, so nothing is gained.
The reason for this is quite simple: the host stream write buffer increases the Firmata performance and now the serial port can be polled faster than bytes are received. Even without a host stream write buffer this will happen anyway at lower baud rates.
This kind of fragmentation can be avoided by implementing a store & forward buffer for the incoming serial data. It can be globally activated and configured by defining an acceptable forwarding delay with
#define FIRMATA_SERIAL_RX_DELAY 50
in SerialFirmata.h.