X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fedu%2Fberkeley%2Fobits%2Fdevice%2Fatmel%2FAvrDrone.java;h=47aa49deb86a44390e44ea656118e75cfcb14cc8;hb=5a91bf9a6e633c2ee544aa414ed54702b409883f;hp=5e5489b7a0a7ccc3e728c79f4b21e1b6479c2cef;hpb=9a7a9669220d67001f3f66bea96343ffbd8bdba7;p=slipway.git diff --git a/src/edu/berkeley/obits/device/atmel/AvrDrone.java b/src/edu/berkeley/obits/device/atmel/AvrDrone.java index 5e5489b..47aa49d 100644 --- a/src/edu/berkeley/obits/device/atmel/AvrDrone.java +++ b/src/edu/berkeley/obits/device/atmel/AvrDrone.java @@ -39,12 +39,23 @@ public class AvrDrone extends AtmelDevice { if (in.readByte() != (byte)'S') throw new RuntimeException("didn't get the proper signature"); if (in.readByte() != (byte)'\n') throw new RuntimeException("didn't get the proper signature"); */ - out.write(0); byte[] bytes = new byte[6]; - for(int i=0; i<6; i++) { - bytes[i] = in.readByte(); - //System.out.println("got " + (i+1) + " header bytes: " + (bytes[i] & 0xff) + " '" + ((char)bytes[i]) + "'"); - // FIXME + int i=0; + out.write(0); + while(true) { + System.arraycopy(bytes, 1, bytes, 0, 5); + bytes[5] = in.readByte(); + i++; + System.out.println("got " + new String(bytes)); + if (bytes[0] == (byte)'O' && + bytes[1] == (byte)'B' && + bytes[2] == (byte)'I' && + bytes[3] == (byte)'T' && + bytes[4] == (byte)'S' && + bytes[5] == (byte)'\n') { + System.out.println("got proper signature"); + break; + } } //Log.info(this, "device correctly identified itself; ready for operation"); }