break;\r
}\r
\r
+ puts_P(PSTR("Mass Storage Disk Enumerated.\r\n"));\r
+\r
USB_HostState = HOST_STATE_Configured;\r
break;\r
case HOST_STATE_Configured:\r
- puts_P(PSTR("Mass Storage Disk Enumerated.\r\n"));\r
- \r
- USB_HostState = HOST_STATE_Ready;\r
- break;\r
- case HOST_STATE_Ready:\r
/* Indicate device busy via the status LEDs */\r
LEDs_SetAllLEDs(LEDMASK_USB_BUSY);\r
\r
{\r
Serial_TxByte('.');\r
\r
- if ((ErrorCode = MassStore_TestUnitReady(0)) != 0)\r
+ /* Abort if device removed */\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ break;\r
+\r
+ if ((ErrorCode = MassStore_TestUnitReady(0)) != PIPE_RWSTREAM_NoError)\r
{\r
ShowDiskReadError(PSTR("Test Unit Ready"), false, ErrorCode);\r
\r
break;\r
}\r
}\r
- while ((SCSICommandStatus.Status != Command_Pass) && USB_IsConnected);\r
- \r
- /* Abort if device removed */\r
- if (!(USB_IsConnected))\r
- break;\r
+ while (SCSICommandStatus.Status != Command_Pass);\r
\r
puts_P(PSTR("\r\nRetrieving Capacity... "));\r
\r
while (!(Buttons_GetStatus() & BUTTONS_BUTTON1))\r
{\r
/* Abort if device removed */\r
- if (!(USB_IsConnected))\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
break;\r
}\r
\r
}\r
\r
/* Abort if device removed */\r
- if (!(USB_IsConnected))\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
break;\r
}\r
\r