All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
This commit is contained in:
		
							parent
							
								
									8f3bee7d86
								
							
						
					
					
						commit
						b37d77eab3
					
				
					 208 changed files with 589 additions and 2910 deletions
				
			
		| 
						 | 
				
			
			@ -41,12 +41,5 @@
 | 
			
		|||
		#define PIMA_OPERATION_OPENSESSION           0x1002
 | 
			
		||||
		#define PIMA_OPERATION_CLOSESESSION          0x1003
 | 
			
		||||
 | 
			
		||||
		#define PIMA_RESPONSE_OK                     0x2001
 | 
			
		||||
		#define PIMA_RESPONSE_GENERALERROR           0x2002
 | 
			
		||||
		#define PIMA_RESPONSE_SESSIONNOTOPEN         0x2003
 | 
			
		||||
		#define PIMA_RESPONSE_INVALIDTRANSACTIONID   0x2004
 | 
			
		||||
		#define PIMA_RESPONSE_OPERATIONNOTSUPPORTED  0x2005
 | 
			
		||||
		#define PIMA_RESPONSE_PARAMETERNOTSUPPORTED  0x2006
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ void SImage_SendBlockHeader(void)
 | 
			
		|||
	Pipe_Write_Stream_LE(&PIMA_SendBlock, PIMA_COMMAND_SIZE(0));
 | 
			
		||||
 | 
			
		||||
	/* If the block type is a command, send its parameters (if any) */
 | 
			
		||||
	if (PIMA_SendBlock.Type == CType_CommandBlock)
 | 
			
		||||
	if (PIMA_SendBlock.Type == PIMA_CONTAINER_CommandBlock)
 | 
			
		||||
	{
 | 
			
		||||
		/* Determine the size of the parameters in the block via the data length attribute */
 | 
			
		||||
		uint8_t ParamBytes = (PIMA_SendBlock.DataLength - PIMA_COMMAND_SIZE(0));
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ uint8_t SImage_ReceiveBlockHeader(void)
 | 
			
		|||
	Pipe_Read_Stream_LE(&PIMA_ReceivedBlock, PIMA_COMMAND_SIZE(0));
 | 
			
		||||
 | 
			
		||||
	/* Check if the returned block type is a response block */
 | 
			
		||||
	if (PIMA_ReceivedBlock.Type == CType_ResponseBlock)
 | 
			
		||||
	if (PIMA_ReceivedBlock.Type == PIMA_CONTAINER_ResponseBlock)
 | 
			
		||||
	{
 | 
			
		||||
		/* Determine the size of the parameters in the block via the data length attribute */
 | 
			
		||||
		uint8_t ParamBytes = (PIMA_ReceivedBlock.DataLength - PIMA_COMMAND_SIZE(0));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,54 +43,9 @@
 | 
			
		|||
		#include "../StillImageHost.h"
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		/** Length in bytes of a given Unicode string's character length.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param[in] chars  Total number of Unicode characters in the string
 | 
			
		||||
		 */
 | 
			
		||||
		#define UNICODE_STRING_LENGTH(chars)   ((chars) << 1)
 | 
			
		||||
 | 
			
		||||
		/** Timeout period between the issuing of a command to a device, and the reception of the first packet. */
 | 
			
		||||
		#define COMMAND_DATA_TIMEOUT_MS        10000
 | 
			
		||||
 | 
			
		||||
		/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
 | 
			
		||||
		 *  a command container.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param[in] params  Number of parameters which are to be sent in the Param field of the container
 | 
			
		||||
		 */
 | 
			
		||||
		#define PIMA_COMMAND_SIZE(params)      ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + \
 | 
			
		||||
		                                        ((params) * sizeof(PIMA_SendBlock.Params[0])))
 | 
			
		||||
 | 
			
		||||
		/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
 | 
			
		||||
		 *  a data container.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param[in] datalen  Length in bytes of the data in the container
 | 
			
		||||
		 */
 | 
			
		||||
		#define PIMA_DATA_SIZE(datalen)        ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + datalen)
 | 
			
		||||
 | 
			
		||||
	/* Type Defines: */
 | 
			
		||||
		/** Type define for a PIMA container, use to send commands and receive responses to and from an
 | 
			
		||||
		 *  attached Still Image device.
 | 
			
		||||
		 */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
			uint32_t DataLength; /**< Length of the container and data, in bytes */
 | 
			
		||||
			uint16_t Type; /**< Container type, a value from the PIMA_Container_Types_t enum */
 | 
			
		||||
			uint16_t Code; /**< Command, event or response code of the container */
 | 
			
		||||
			uint32_t TransactionID; /**< Unique container ID to link blocks together */
 | 
			
		||||
			uint32_t Params[3]; /**< Block parameters to be issued along with the block code (command blocks only) */
 | 
			
		||||
		} PIMA_Container_t;
 | 
			
		||||
 | 
			
		||||
	/* Enums: */
 | 
			
		||||
		/** Enum for the possible PIMA contains types. */
 | 
			
		||||
		enum PIMA_Container_Types_t
 | 
			
		||||
		{
 | 
			
		||||
			CType_Undefined         = 0, /**< Undefined container type */
 | 
			
		||||
			CType_CommandBlock      = 1, /**< Command Block container type */
 | 
			
		||||
			CType_DataBlock         = 2, /**< Data Block container type */
 | 
			
		||||
			CType_ResponseBlock     = 3, /**< Response container type */
 | 
			
		||||
			CType_EventBlock        = 4, /**< Event Block container type */
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
	/* External Variables: */
 | 
			
		||||
		extern PIMA_Container_t PIMA_SendBlock;
 | 
			
		||||
		extern PIMA_Container_t PIMA_ReceivedBlock;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue