Improve enumeration reliability
also log disconnect for ease of debugging
Change-Id: I0ffbc4c07b4c1ad28fbb8bb5b691848b77d129fb
diff --git a/AndroidAccessory/AndroidAccessory.cpp b/AndroidAccessory/AndroidAccessory.cpp
index d063910..2e86a42 100644
--- a/AndroidAccessory/AndroidAccessory.cpp
+++ b/AndroidAccessory/AndroidAccessory.cpp
@@ -224,8 +224,8 @@
err = usb.getDevDescr(1, 0, 0x12, (char *) devDesc);
if (err) {
- Serial.print("\nDevice descriptor cannot be retrieved. Program Halted\n");
- while(1);
+ Serial.print("\nDevice descriptor cannot be retrieved. Trying again\n");
+ return false;
}
if (isAccessoryDevice(devDesc)) {
@@ -237,6 +237,8 @@
switchDevice(1);
}
} else if (usb.getUsbTaskState() == USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE) {
+ if (connected)
+ Serial.println("disconnect");
connected = false;
}