X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/619b0b7b6b44e4422ea9aeb0cde41343bb5dda70..d47df1cd3a340306255b26a7112d7ff7fa6cd4e4:/LUFA/CompileTimeTokens.txt diff --git a/LUFA/CompileTimeTokens.txt b/LUFA/CompileTimeTokens.txt index 0dc4be08b..dcb5816de 100644 --- a/LUFA/CompileTimeTokens.txt +++ b/LUFA/CompileTimeTokens.txt @@ -20,19 +20,6 @@ * this token is defined, all ANSI control codes in the application code from the TerminalCodes.h header are removed from * the source code at compile time. * - * NUM_BLOCKS - ( \ref Group_MemoryAllocator ) \n - * Sets the number of allocable blocks in the pseudo-heap of the dynamic memory allocation driver. This should be - * defined as a constant larger than zero. - * - * BLOCK_SIZE - ( \ref Group_MemoryAllocator ) \n - * Sets the size of each allocable block in the pseudo-heap of the dynamic memory allocation driver. This should be - * defined as a constant larger than zero. - * - * NUM_HANDLES - ( \ref Group_MemoryAllocator ) \n - * Sets the maximum number of managed memory handles which can be handed out by the dynamic memory allocation driver - * simultaneously, before a handle (and its associated allocated memory) must be freed. - * - * * \section Sec_SummaryUSBClassTokens USB Class Driver Related Tokens * This section describes compile tokens which affect USB class-specific drivers in the LUFA library. * @@ -50,27 +37,27 @@ * HID_STATETABLE_STACK_DEPTH - ( \ref Group_HIDParser ) \n * HID reports may contain PUSH and POP elements, to store and retrieve the current HID state table onto a stack. This * allows for reports to save the state table before modifying it slightly for a data item, and then restore the previous - * state table in a compact manner. This token may be defined to a non-zero value to give the maximum depth of the state + * state table in a compact manner. This token may be defined to a non-zero 8-bit value to give the maximum depth of the state * table stack. If not defined, this defaults to the value indicated in the HID.h file documentation. * * HID_USAGE_STACK_DEPTH - ( \ref Group_HIDParser ) \n * HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession * when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with - * different usages in a compact manner. This token may be defined to a non-zero value to set the maximum depth of the + * different usages in a compact manner. This token may be defined to a non-zero 8-bit value to set the maximum depth of the * usage stack, indicating the maximum number of USAGE items which can be stored temporarily until the next INPUT, OUTPUT * and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation. * * HID_MAX_COLLECTIONS - ( \ref Group_HIDParser ) \n * HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information * is stored separately in the processed usage structure (and referred to by the data elements in the structure) to save space. - * This token may be defined to a non-zero value to set the maximum number of COLLECTION items which can be processed by the + * This token may be defined to a non-zero 8-bit value to set the maximum number of COLLECTION items which can be processed by the * parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file * documentation. * * HID_MAX_REPORTITEMS - ( \ref Group_HIDParser ) \n * All HID reports contain one or more INPUT, OUTPUT and/or FEATURE items describing the data which can be sent to and from the HID * device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which - * the report data should be interpreted by the host. This token may be defined to a non-zero value to set the maximum number of + * the report data should be interpreted by the host. This token may be defined to a non-zero 8-bit value to set the maximum number of * data elements which can be stored in the processed HID report structure, including INPUT, OUTPUT and (if enabled) FEATURE items. * If a item has a multiple count (i.e. a REPORT COUNT of more than 1), each item in the report count is placed separately in the * processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation. @@ -98,15 +85,7 @@ * Normally this reduces the amount of configuration required for the library, allows the value to change dynamically (if * descriptors are stored in EEPROM or RAM rather than flash memory) and reduces code maintenance. However, this token can be * 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 at the expense of flexibility. - * - * STATIC_ENDPOINT_CONFIGURATION - ( \ref Group_EndpointManagement ) \n - * By default, the endpoint configuration routine is designed to accept dynamic inputs, so that the endpoints can be configured - * using variable values known only at runtime. This allows for a great deal of flexibility, however uses a small amount of binary - * space which may be wasted if all endpoint configurations are static and known at compile time. Define this token via the -D switch - * to optimize the endpoint configuration routine for constant inputs, to reduce the size of the compiled binary at the expense of - * flexibility. Note that with this option dynamic values may still be used, but will result in many times more code to be generated than - * if the option was disabled. This is designed to be used only if the FIXED_CONTROL_ENDPOINT_SIZE option is also used. + * binary. * * USE_SINGLE_DEVICE_CONFIGURATION - ( \ref Group_Device ) \n * By default, the library determines the number of configurations a USB device supports by reading the device descriptor. This reduces @@ -114,10 +93,10 @@ * 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. * - * FEATURELESS_CONTROL_ONLY_DEVICE \n - * In some limited USB device applications, device features (other than self-power) and endpoints other than the control endpoint aren't - * used. In such limited situations, this token may be defined to remove the handling of the Set Feature Chapter 9 request entirely and - * parts of the Get Feature chapter 9 request to save space. Generally, this is usually only useful in (some) bootloaders and is best avoided. + * 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 + * is through control endpoint requests. Defining this token will remove several features related to the selection and control of device + * endpoints internally, saving space. Generally, this is usually only useful in (some) bootloaders and is best avoided. * * NO_STREAM_CALLBACKS - ( \ref Group_EndpointPacketManagement , \ref Group_PipePacketManagement )\n * Both the endpoint and the pipe driver code contains stream functions, allowing for arrays of data to be sent to or from the @@ -129,14 +108,14 @@ * * USB_HOST_TIMEOUT_MS - ( \ref Group_Host ) \n * When a control transfer is initiated in host mode to an attached device, a timeout is used to abort the transfer if the attached - * device fails to respond within the timeout period. This token may be defined to a non-zero value to set the timeout period for + * device fails to respond within the timeout period. This token may be defined to a non-zero 16-bit value to set the timeout period for * control transfers, specified in milliseconds. If not defined, the default value specified in Host.h is used instead. * * HOST_DEVICE_SETTLE_DELAY_MS - ( \ref Group_Host ) \n * Some devices require a delay of up to 5 seconds after they are connected to VBUS before the enumeration process can be started, or * they will fail to enumerate correctly. By placing a delay before the enumeration process, it can be ensured that the bus has settled - * back to a known idle state before communications occur with the device. This token may be defined to a non-zero value to set the - * device settle period, specified in milliseconds. If not defined, the default value specified in Host.h is used instead. + * back to a known idle state before communications occur with the device. This token may be defined to a non-zero 16-bit value to set + * the device settle period, specified in milliseconds. If not defined, the default value specified in Host.h is used instead. * * USE_STATIC_OPTIONS - ( \ref Group_USBManagement ) \n * By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad @@ -156,7 +135,7 @@ * * USB_STREAM_TIMEOUT_MS - ( \ref Group_USBManagement ) \n * When endpoint and/or pipe stream functions are used, by default there is a timeout between each transfer which the connected device or host - * must satisfy, or the stream function aborts the remaining data transfer. This token may be defined to a non-zero value to set the timeout + * must satisfy, or the stream function aborts the remaining data transfer. This token may be defined to a non-zero 16-bit value to set the timeout * period for stream transfers, specified in milliseconds. If not defined, the default value specified in LowLevel.h is used instead. * * NO_LIMITED_CONTROLLER_CONNECT - ( \ref Group_Events ) \n @@ -166,4 +145,9 @@ * required, the VBUS line of the USB connector should be routed to an AVR pin to detect its level, so that the USB_IsConnected global * can be accurately set and the USB_Connect and USB_Disconnect events manually raised by the RAISE_EVENT macro. When defined, this token disables * the library's auto-detection of the connection state by the aforementioned suspension and wake up events. + * + * INTERRUPT_CONTROL_ENDPOINT - ( \ref Group_USBManagement ) \n + * Some applications prefer to not call the USB_USBTask() management task reguarly while in device mode, as it can complicate code significantly. + * Instead, when device mode is used this token can be passed to the library via the -D switch to allow the library to manage the USB control + * endpoint entirely via interrupts asynchronously to the user application. */