Non sarebbe più corretto cosi?
La call dopo aver assegnato GSR
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Però io avrei usato Timer e non la SUB ATTENDI che hai realizzato tu...
			
			La call dopo aver assegnato GSR
			
				B4X:
			
		
		
		Sub AStream_NewData (Buffer() As Byte)
    Dim newDataStart As Int = sb.Length
    sb.Append(BytesToString(Buffer, 0, Buffer.Length, charset))
    Dim s As String = sb.ToString
    Dim start As Int = 0
    For i = newDataStart To s.Length - 1
        Dim c As Char = s.CharAt(i)
        If i = 0 And c = Chr(10) Then '\n...And
            start = 1 'might be a broken end of line character
            Continue
        End If
        If c = Chr(10) Then '\n
            'IptMain.GSR=s.SubString2(start, i)
            'CallSub2(Training,"ValoreGSR",IptMain.GS)
            start = i + 1
        Else If c = Chr(13) Then '\r
            '          
            If start =0 And i=7 Then
                IptMain.GSR=s.SubString2(start, i)
                Log("Conduttanza " & IptMain.GSR)
                CallSub2(Training,"GSROk",IptMain.GSR)
            End If
            If i < s.Length - 1 And s.CharAt(i + 1) = Chr(10) Then '\r\n
                i = i + 1
            End If
            start = i + 1
        End If
    Next
    If start > 0 Then sb.Remove(0, start)
 
End SubPerò io avrei usato Timer e non la SUB ATTENDI che hai realizzato tu...
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		