fmu-v6x: Increase Mavlink UART buffers #21660
Merged
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.
Solved Problem
Our serial_test showed only ~85kB/s with the default 256 RX buffer size with significant ~2.5ms periods of the flow control RTS pin being asserted. Increasing size to 600 (same as FMU-v5x) brings the throughput only to ~190kB/s, while a size of >1500 achieves ~350kB/s. Larger RX buffers do not increase throughput anymore, while the theoretical maximum is 375kB/s.
Before: ~85kB/s RX throughput
After: ~350kB/s RX throughput
Transmit buffer size is increased to 10kB same as on FMUv5x to prevent any future differences in queue behavior and throughput. serial_test showed ~350kB/s throughput at 3kB TX buffer size, so this is just a precaution.
Changelog Entry
For release notes:
Test coverage
Verified by logic analyzer and
serial_test
.