Closed mlyle closed 8 years ago
This is probably the limiting factor preventing higher USART rates right now. Very very easy to underrun the FIFO. (get 'WFLAG' morse after a few seconds sustained at 576000 bps)
Adding retries (#31) gets around the 'WFLAG' for now, but that's hardly good for performance...
1.5megabaud pegged loses nothing currently. 2megabaud pegged loses occasional bits when fully pegged-- e.g. first loss is 200 bytes 1331000-ish bytes into a session.
Gyros+accels+attitude+stabilizationdesired+actuatordesired uavtalk:
12+16+28+24+17=97
97 + 11*5=152
results in 152000 characters per second at 1000Hz, or precisely 76% utilization on a 2mbaud channel. This should be absolutely no problem for loss with the current scenario. And there's still multiblock writes and a few K of buffering available to make this work better.
Along with trying to be aligned / zerocopy in all cases...