private byte readByteFromSerialBuffer() throws InterruptedException, ShieldFrameNotComplete { if (ShieldFrameTimeout != null && ShieldFrameTimeout.isTimeout()) throw new ShieldFrameNotComplete(); isSerialBufferWaiting = true; byte temp = serialBuffer.take(); if (ShieldFrameTimeout != null) ShieldFrameTimeout.resetTimer(); return temp; }