diff --git a/plugins/LaserUE.java b/plugins/LaserUE.java index ff0c97e..925d34c 100644 --- a/plugins/LaserUE.java +++ b/plugins/LaserUE.java @@ -19,25 +19,30 @@ public class LaserUE extends SerialPortDevice{ int value = 0; int count = 0; + @Override protected void onByte(int rx) { System.out.print(rx); - int index = ((rx&BIT7) > 0) ? 2 : (((rx&BIT6) > 0) ? 1 : 0); - if (count==index){ - if (index ==0){ - value = rx & 0x3F; - } else if (index ==1){ - value = ((rx& 0x3F)<<6) + value; - } else if (index ==2){ - value = ((rx& 0x0F)<<12) + value; - this.setCache(value); - count = 0; - } else { + if (rx < 0) { + count = 0; + } else { + int index = ((rx&BIT7) > 0) ? 2 : (((rx&BIT6) > 0) ? 1 : 0); + if (count==index){ + if (index ==0){ + value = rx & 0x3F; + } else if (index ==1){ + value = ((rx& 0x3F)<<6) + value; + } else if (index ==2){ + value = ((rx& 0x0F)<<12) + value; + this.setCache(value); + count = 0; + } else { + count = 0; + } + } + else{ count = 0; } } - else{ - count = 0; - } } }