* this token is defined, all ANSI control codes in the application code from the TerminalCodes.h header are removed from\r
* the source code at compile time.\r
*\r
- * <b>NUM_BLOCKS</b> - ( \ref Group_MemoryAllocator ) \n\r
- * Sets the number of allocable blocks in the pseudo-heap of the dynamic memory allocation driver. This should be\r
- * defined as a constant larger than zero.\r
- *\r
- * <b>BLOCK_SIZE</b> - ( \ref Group_MemoryAllocator ) \n\r
- * Sets the size of each allocable block in the pseudo-heap of the dynamic memory allocation driver. This should be\r
- * defined as a constant larger than zero.\r
- *\r
- * <b>NUM_HANDLES</b> - ( \ref Group_MemoryAllocator ) \n\r
- * Sets the maximum number of managed memory handles which can be handed out by the dynamic memory allocation driver\r
- * simultaneously, before a handle (and its associated allocated memory) must be freed.\r
- *\r
- *\r
* \section Sec_SummaryUSBClassTokens USB Class Driver Related Tokens\r
* This section describes compile tokens which affect USB class-specific drivers in the LUFA library.\r
*\r
* <b>HID_STATETABLE_STACK_DEPTH</b> - ( \ref Group_HIDParser ) \n\r
* HID reports may contain PUSH and POP elements, to store and retrieve the current HID state table onto a stack. This\r
* allows for reports to save the state table before modifying it slightly for a data item, and then restore the previous\r
- * state table in a compact manner. This token may be defined to a non-zero value to give the maximum depth of the state\r
+ * 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\r
* table stack. If not defined, this defaults to the value indicated in the HID.h file documentation.\r
*\r
* <b>HID_USAGE_STACK_DEPTH</b> - ( \ref Group_HIDParser ) \n\r
* HID reports generally contain many USAGE elements, which are assigned to INPUT, OUTPUT and FEATURE items in succession\r
* when multiple items are defined at once (via REPORT COUNT elements). This allows for several items to be defined with\r
- * different usages in a compact manner. This token may be defined to a non-zero value to set the maximum depth of the\r
+ * 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\r
* usage stack, indicating the maximum number of USAGE items which can be stored temporarily until the next INPUT, OUTPUT\r
* and FEATURE item. If not defined, this defaults to the value indicated in the HID.h file documentation.\r
*\r
* <b>HID_MAX_COLLECTIONS</b> - ( \ref Group_HIDParser ) \n\r
* HID reports generally contain several COLLECTION elements, used to group related data items together. Collection information\r
* is stored separately in the processed usage structure (and referred to by the data elements in the structure) to save space.\r
- * This token may be defined to a non-zero value to set the maximum number of COLLECTION items which can be processed by the\r
+ * 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\r
* parser into the resultant processed report structure. If not defined, this defaults to the value indicated in the HID.h file\r
* documentation.\r
*\r
* <b>HID_MAX_REPORTITEMS</b> - ( \ref Group_HIDParser ) \n\r
* 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\r
* device. Each item has associated usages, bit offsets in the item reports and other associated data indicating the manner in which\r
- * 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\r
+ * 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\r
* data elements which can be stored in the processed HID report structure, including INPUT, OUTPUT and (if enabled) FEATURE items.\r
* 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\r
* processed HID report table. If not defined, this defaults to the value indicated in the HID.h file documentation.\r
* Normally this reduces the amount of configuration required for the library, allows the value to change dynamically (if\r
* descriptors are stored in EEPROM or RAM rather than flash memory) and reduces code maintenance. However, this token can be\r
* defined to a non-zero value instead to give the size in bytes of the control endpoint, to reduce the size of the compiled\r
- * binary at the expense of flexibility.\r
- *\r
- * <b>STATIC_ENDPOINT_CONFIGURATION</b> - ( \ref Group_EndpointManagement ) \n\r
- * By default, the endpoint configuration routine is designed to accept dynamic inputs, so that the endpoints can be configured\r
- * using variable values known only at runtime. This allows for a great deal of flexibility, however uses a small amount of binary\r
- * space which may be wasted if all endpoint configurations are static and known at compile time. Define this token via the -D switch\r
- * to optimize the endpoint configuration routine for constant inputs, to reduce the size of the compiled binary at the expense of\r
- * flexibility. Note that with this option dynamic values may still be used, but will result in many times more code to be generated than\r
- * if the option was disabled. This is designed to be used only if the FIXED_CONTROL_ENDPOINT_SIZE option is also used.\r
+ * binary.\r
*\r
* <b>USE_SINGLE_DEVICE_CONFIGURATION</b> - ( \ref Group_Device ) \n\r
* By default, the library determines the number of configurations a USB device supports by reading the device descriptor. This reduces\r
*\r
* <b>USB_HOST_TIMEOUT_MS</b> - ( \ref Group_Host ) \n\r
* When a control transfer is initiated in host mode to an attached device, a timeout is used to abort the transfer if the attached\r
- * device fails to respond within the timeout period. This token may be defined to a non-zero value to set the timeout period for\r
+ * 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\r
* control transfers, specified in milliseconds. If not defined, the default value specified in Host.h is used instead.\r
*\r
* <b>HOST_DEVICE_SETTLE_DELAY_MS</b> - ( \ref Group_Host ) \n\r
* Some devices require a delay of up to 5 seconds after they are connected to VBUS before the enumeration process can be started, or\r
* they will fail to enumerate correctly. By placing a delay before the enumeration process, it can be ensured that the bus has settled\r
- * 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\r
- * device settle period, specified in milliseconds. If not defined, the default value specified in Host.h is used instead.\r
+ * 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\r
+ * the device settle period, specified in milliseconds. If not defined, the default value specified in Host.h is used instead.\r
*\r
* <b>USE_STATIC_OPTIONS</b> - ( \ref Group_USBManagement ) \n\r
* By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad\r
*\r
* <b>USB_STREAM_TIMEOUT_MS</b> - ( \ref Group_USBManagement ) \n\r
* When endpoint and/or pipe stream functions are used, by default there is a timeout between each transfer which the connected device or host\r
- * 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\r
+ * 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\r
* period for stream transfers, specified in milliseconds. If not defined, the default value specified in LowLevel.h is used instead.\r
*\r
* <b>NO_LIMITED_CONTROLLER_CONNECT</b> - ( \ref Group_Events ) \n\r
* 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\r
* can be accurately set and the USB_Connect and USB_Disconnect events manually raised by the RAISE_EVENT macro. When defined, this token disables\r
* the library's auto-detection of the connection state by the aforementioned suspension and wake up events.\r
+ *\r
+ * <b>INTERRUPT_CONTROL_ENDPOINT</b> - ( \ref Group_USBManagement ) \n\r
+ * Some applications prefer to not call the USB_USBTask() management task reguarly while in device mode, as it can complicate code significantly.\r
+ * 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\r
+ * endpoint entirely via interrupts asynchronously to the user application.\r
*/\r