X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/a54ed0085b29f81946f3652bd412103292da7589..0fcbe22c9eb68f5769bf57469e1bcf9b340d0ae3:/Demos/Host/LowLevel/StillImageHost/StillImageHost.c diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c index 524387123..0f511ad7a 100644 --- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.c +++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.c @@ -149,7 +149,7 @@ void StillImage_Task(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); /* Wait until USB device disconnected */ - while (USB_IsConnected); + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -162,7 +162,7 @@ void StillImage_Task(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); /* Wait until USB device disconnected */ - while (USB_IsConnected); + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -195,6 +195,8 @@ void StillImage_Task(void) if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError) { ShowCommandError(ErrorCode, false); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -246,6 +248,8 @@ void StillImage_Task(void) if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError) { ShowCommandError(ErrorCode, false); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -253,6 +257,8 @@ void StillImage_Task(void) if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -274,6 +280,8 @@ void StillImage_Task(void) if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError) { ShowCommandError(ErrorCode, false); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -281,6 +289,8 @@ void StillImage_Task(void) if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -302,6 +312,8 @@ void StillImage_Task(void) if ((ErrorCode = SImage_RecieveBlockHeader()) != PIPE_RWSTREAM_NoError) { ShowCommandError(ErrorCode, false); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -309,6 +321,8 @@ void StillImage_Task(void) if ((PIMA_ReceivedBlock.Type != CType_ResponseBlock) || (PIMA_ReceivedBlock.Code != PIMA_RESPONSE_OK)) { ShowCommandError(PIMA_ReceivedBlock.Code, true); + + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -363,7 +377,4 @@ void ShowCommandError(uint8_t ErrorCode, bool ResponseCodeError) /* Indicate error via status LEDs */ LEDs_SetAllLEDs(LEDMASK_USB_ERROR); - - /* Wait until USB device disconnected */ - while (USB_IsConnected); }