Hi
This can happen because of reading all that is left and then waiting for a new set.
You should be able to synchronise if you know exactly how each message is built up.
The best would be to use an end character as cr or lf if the controller sends that.
If you like I can take a look.
The only thing you need to do is send me a long list of consecutive characters read in one string.
the best you can do is read e.g. 100 characters and display this in a vi.
then make current values default and send it to the board.
greetings from the Netherlands