Hi again,
Your Arduino program is occasionally printing a few ascii characters e.g. 24.35 followed by crlf. So that’s a total of 7. They are bytes reprisenting ascii characters e.g the 2 is byte value 50 (see an ascii table, lots on web).
Arduino’s println confuses things by being helpful and converting other data types to string, so even if you’ve put float( it will convert to string - as you see printed on the serial monitor.
The processing program is using Serial.read which might give you the value of one of the bytes, or -1 in the periods in-between a character arriving.
You have to chose between sending binary values, or string values. The processing serial library example SimpleRead uses a binary value. The value as sent from the Arduino is not printable on the serial monitor. It works for 1 value in 1 byte, but if you add more there’s nothing to make sure you interpret the received bytes starting in the right place.
Using printable characters as from your Ard program is probably better to start, because you can see them on the monitor, and then on Processing’s console.
I suggest you try this in Processing. See various uses of “if Serial.available()” If there is an input char available, append it on to the end of a String variable. Then print out the growing string. Now you can see the values arriving. Next use the first space in the string to identify the portion with the first value. String functions to convert the first value to float, and delete it from the string.
I hope that makes sense we can discuss details as you try things.
Richard.