Added new TOTAL_NUM_CONFIGURATIONS option, removed USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility).
Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
This commit is contained in:
		
							parent
							
								
									f85a53a31b
								
							
						
					
					
						commit
						37f8a84f35
					
				
					 42 changed files with 176 additions and 62 deletions
				
			
		| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
  *  - Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop
 | 
			
		||||
  *  - Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports
 | 
			
		||||
  *  - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions
 | 
			
		||||
  *  - Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options
 | 
			
		||||
  *  
 | 
			
		||||
  *  <b>Changed:</b>
 | 
			
		||||
  *  - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
 | 
			
		||||
| 
						 | 
				
			
			@ -40,6 +41,8 @@
 | 
			
		|||
  *  - Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning,
 | 
			
		||||
  *    no need to call Dataflash_ToggleSelectedChipCS() afterwards
 | 
			
		||||
  *  - Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case
 | 
			
		||||
  *  - The device-mode CALLBACK_USB_GetDescriptor() function now has an extra parameter so that the memory space in which the requested
 | 
			
		||||
  *    descriptor is located can be specified. This means that descriptors can now be located in multiple memory spaces within a device.
 | 
			
		||||
  *
 | 
			
		||||
  *  <b>Fixed:</b>
 | 
			
		||||
  *  - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,12 +67,14 @@
 | 
			
		|||
 *  This section describes compile tokens which affect USB driver stack as a whole in the LUFA library.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>USE_RAM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
 | 
			
		||||
 *  Define this token to indicate to the USB driver that device descriptors are stored in RAM, rather than the default of
 | 
			
		||||
 *  the AVR's flash. RAM descriptors may be desirable in applications where speed or minimizing flash usage is more important
 | 
			
		||||
 *  than RAM usage, or applications where the descriptors need to be modified at runtime.
 | 
			
		||||
 *  Define this token to indicate to the USB driver that all device descriptors are stored in RAM, rather than being located in any one
 | 
			
		||||
 *  of the AVR's memory spaces. RAM descriptors may be desirable in applications where the descriptors need to be modified at runtime.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>USE_FLASH_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
 | 
			
		||||
 *  Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's FLASH memory rather than RAM.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>USE_EEPROM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
 | 
			
		||||
 *  Similar to USE_RAM_DESCRIPTORS, but descriptors are stored in the AVR's EEPROM memory rather than RAM.
 | 
			
		||||
 *  Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's EEPROM memory rather than RAM.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>USE_NONSTANDARD_DESCRIPTOR_NAMES</b> - ( \ref Group_Descriptors ) \n
 | 
			
		||||
 *  The USB 2.0 standard gives some rather obscure names for the elements in the standard descriptor types (device, configuration,
 | 
			
		||||
| 
						 | 
				
			
			@ -93,11 +95,11 @@
 | 
			
		|||
 *  defined to a non-zero value instead to give the size in bytes of the control endpoint, to reduce the size of the compiled
 | 
			
		||||
 *  binary.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>USE_SINGLE_DEVICE_CONFIGURATION</b> - ( \ref Group_Device ) \n
 | 
			
		||||
 *  <b>TOTAL_NUM_CONFIGURATIONS</b> - ( \ref Group_Device ) \n
 | 
			
		||||
 *  By default, the library determines the number of configurations a USB device supports by reading the device descriptor. This reduces
 | 
			
		||||
 *  the amount of configuration required to set up the library, and allows the value to change dynamically (if descriptors are stored in
 | 
			
		||||
 *  EEPROM or RAM rather than flash memory) and reduces code maintenance. However, many USB device projects use only a single configuration.
 | 
			
		||||
 *  Defining this token enables single-configuration mode, reducing the compiled size of the binary at the expense of flexibility.
 | 
			
		||||
 *  EEPROM or RAM rather than flash memory) and reduces code maintenance. However, this value may be fixed via this token in the project
 | 
			
		||||
 *  makefile to reduce the compiled size of the binary at the expense of flexibility.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>CONTROL_ONLY_DEVICE</b> \n
 | 
			
		||||
 *  In some limited USB device applications, there are no device endpoints other than the control endpoint; i.e. all device communication
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,12 @@
 | 
			
		|||
 *      parameter, to add support for multi-configuration devices. Existing code should use a configuration index of 1 to indicate the
 | 
			
		||||
 *      first configuration descriptor within the device.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>Device Mode</b>
 | 
			
		||||
 *    - The \ref CALLBACK_USB_GetDescriptor() function now takes an extra parameter to specify the descriptor's memory space so that
 | 
			
		||||
 *      descriptors in mixed memory spaces can be used. The previous functionality can be returned by defining the USE_FLASH_DESCRIPTORS
 | 
			
		||||
 *      token in the project makefile to fix all descriptors into FLASH space and remove the extra function parameter.
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 * \section Sec_Migration090605 Migrating from 090510 to 090605
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>Device Mode</b>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue