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.
This commit is contained in:
		
							parent
							
								
									bda4bd4501
								
							
						
					
					
						commit
						5908e28e8d
					
				
					 6 changed files with 177 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -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));
 | 
			
		||||
	
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue