From 5908e28e8d301ab5688966311bc769247ba98363 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 1 Sep 2009 13:35:30 +0000 Subject: Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header. Added basic PIMA commands to the StillImage Host Class driver - need to extend to PIMA specific command functions. --- Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'Demos') diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c index 970df4f87..fbff2f48c 100644 --- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c +++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.c @@ -127,7 +127,9 @@ uint8_t SImage_RecieveBlockHeader(void) } } + Pipe_Freeze(); Pipe_SelectPipe(SIMAGE_DATA_OUT_PIPE); + Pipe_Unfreeze(); /* Check if pipe stalled (command failed by device) */ if (Pipe_IsStalled()) @@ -139,7 +141,9 @@ uint8_t SImage_RecieveBlockHeader(void) return PIPE_RWSTREAM_PipeStalled; } + Pipe_Freeze(); Pipe_SelectPipe(SIMAGE_DATA_IN_PIPE); + Pipe_Unfreeze(); /* Check if pipe stalled (command failed by device) */ if (Pipe_IsStalled()) @@ -155,14 +159,7 @@ uint8_t SImage_RecieveBlockHeader(void) if (USB_HostState == HOST_STATE_Unattached) return PIPE_RWSTREAM_DeviceDisconnected; } - - /* Freeze OUT pipe after use */ - Pipe_SelectPipe(SIMAGE_DATA_OUT_PIPE); - Pipe_Freeze(); - - /* Select the IN data pipe for data reception */ - Pipe_SelectPipe(SIMAGE_DATA_IN_PIPE); - + /* Load in the response from the attached device */ Pipe_Read_Stream_LE(&PIMA_ReceivedBlock, PIMA_COMMAND_SIZE(0)); -- cgit v1.2.3