Sub AStream_NewData (Buffer() As Byte)
Dim s As String = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
s = s.Replace(Chr(13), "").Replace(Chr(10), "").Replace(" 10","").Trim.ToUpperCase 'general cleanup
SerialBuffer = SerialBuffer & s
Log("SerialBuffer = [" & SerialBuffer & "]")
Do While(True)
Dim P As Int = SerialBuffer.IndexOf(";")
If P < 0 Then
If (s.Length<=2) Then
SerialBuffer=""
Log("bNULL"& p)
End If
Exit
End If
Log("SerialBuffer Point= [" & SerialBuffer & "] P=" & p)
Dim ThisField As String = SerialBuffer.SubString2(0, P) 'could be off by one here, aiming to drop the ";"
SerialBuffer = SerialBuffer.SubString(P+1 ) 'keep everything after the ";"
'ThisField = ThisField.Replace(Chr(13), "").Replace(Chr(10), "").Trim.ToUpperCase 'general cleanup
Log("ThisField = [" & ThisField & "]")
If ThisField.Length >= 2 Then
Dim FieldLetter As String = ThisField.CharAt(0)
Dim FieldNumber As String = ThisField.SubString(1)
'
If IsNumber(FieldNumber) Then
SortPacket(ThisField)
' HandleFieldData(FieldLetter, FieldNumber) 'or whatever it is you need to do
Else
Log("ERRRRRRRORR")
End If
End If
Loop
End Sub