diff --git a/usbserial/src/main/java/com/felhr/utils/ProtocolBuffer.java b/usbserial/src/main/java/com/felhr/utils/ProtocolBuffer.java index 80debde..9249b9c 100644 --- a/usbserial/src/main/java/com/felhr/utils/ProtocolBuffer.java +++ b/usbserial/src/main/java/com/felhr/utils/ProtocolBuffer.java @@ -53,7 +53,10 @@ public class ProtocolBuffer { this.separator = delimiter; } - public void appendData(byte[] data){ + public synchronized void appendData(byte[] data){ + // Ignore the frequent empty calls + if (data.length == 0) return; + if(mode.equals(TEXT)){ try { String dataStr = new String(data, "UTF-8"); @@ -69,8 +72,7 @@ public class ProtocolBuffer { index = stringBuffer.toString().indexOf(delimiter, prevIndex); } - if(prevIndex < buffer.length() - && prevIndex > 0){ + if( /*prevIndex < buffer.length() &&*/ prevIndex > 0){ String tempStr = buffer.substring(prevIndex, buffer.length()); stringBuffer.setLength(0); stringBuffer.append(tempStr);