From 37f8a84f35dadf27a6f8997b675238269f854b45 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 16 Jul 2009 08:15:27 +0000 Subject: 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. --- LUFA/ManPages/ChangeLog.txt | 3 +++ LUFA/ManPages/CompileTimeTokens.txt | 16 +++++++++------- LUFA/ManPages/MigrationInformation.txt | 6 ++++++ 3 files changed, 18 insertions(+), 7 deletions(-) (limited to 'LUFA/ManPages') diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 2281ca595..5282642e9 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -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 * * Changed: * - 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. * * Fixed: * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix diff --git a/LUFA/ManPages/CompileTimeTokens.txt b/LUFA/ManPages/CompileTimeTokens.txt index 3d15759e4..2d9ec7a95 100644 --- a/LUFA/ManPages/CompileTimeTokens.txt +++ b/LUFA/ManPages/CompileTimeTokens.txt @@ -67,12 +67,14 @@ * This section describes compile tokens which affect USB driver stack as a whole in the LUFA library. * * USE_RAM_DESCRIPTORS - ( \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. + * + * USE_FLASH_DESCRIPTORS - ( \ref Group_Descriptors ) \n + * Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's FLASH memory rather than RAM. * * USE_EEPROM_DESCRIPTORS - ( \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. * * USE_NONSTANDARD_DESCRIPTOR_NAMES - ( \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. * - * USE_SINGLE_DEVICE_CONFIGURATION - ( \ref Group_Device ) \n + * TOTAL_NUM_CONFIGURATIONS - ( \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. * * CONTROL_ONLY_DEVICE \n * In some limited USB device applications, there are no device endpoints other than the control endpoint; i.e. all device communication diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt index f1b5f55ce..945406d61 100644 --- a/LUFA/ManPages/MigrationInformation.txt +++ b/LUFA/ManPages/MigrationInformation.txt @@ -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. * + * Device Mode + * - 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 * * Device Mode -- cgit v1.2.3