TolpuddleSartre:
So my 3.84 ms-1 is way out.
So, every 2.5mm the cord moves, you receive a character.
The character takes around half a millisecond to transmit.
You then print a floating point number with four places after the decimal and a newline, and each character takes around 1 millisecond.You do the arithmetic.
Another way to look at it is this. For every character that comes in, you send out at least 8 (0.0025) at half the speed. Is it any wonder why you loose incoming data?
Get out of the stone ages. 9600 baud went out with 8 track players.