Add user-filtering to the HID report parser, so that the user code can decide which items are to be stored into the HID_ReportInfo_t structure and which should be discarded to save on RAM usage.
This commit is contained in:
parent
ecf7c18cf2
commit
205b35d131
9 changed files with 107 additions and 65 deletions
|
|
@ -18,6 +18,8 @@
|
|||
* - Added ShutDown() functions for all hardware peripheral drivers, so that peripherals can be turned off after use
|
||||
* - Added new CDC_Device_Flush() command to the device mode CDC Class driver to flush Device->Host data
|
||||
* - Added extra masks to the SPI driver, changed SPI_Init() so that the clock polarity and sample modes can be set
|
||||
* - Added new callback to the HID report parser, so that the user application can filter only the items it is interested
|
||||
* in to be stored into the HIDReportInfo structure to save RAM
|
||||
*
|
||||
* <b>Changed:</b>
|
||||
* - SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested
|
||||
|
|
@ -32,6 +34,8 @@
|
|||
* - Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks
|
||||
* and data validations internally, to simplify user code
|
||||
* - Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles
|
||||
* - The HID report parser now always processed FEATURE items - HID_ENABLE_FEATURE_PROCESSING token now has no effect
|
||||
* - The HID report parser now always ignores constant-data items, HID_INCLUDE_CONSTANT_DATA_ITEMS token now has no effect
|
||||
*
|
||||
* <b>Fixed:</b>
|
||||
* - Fixed possible lockup in the CDC device class driver, when the host sends data that is a multiple of the
|
||||
|
|
|
|||
|
|
@ -23,17 +23,6 @@
|
|||
* \section Sec_SummaryUSBClassTokens USB Class Driver Related Tokens
|
||||
* This section describes compile tokens which affect USB class-specific drivers in the LUFA library.
|
||||
*
|
||||
* <b>HID_ENABLE_FEATURE_PROCESSING</b> - ( \ref Group_HIDParser ) \n
|
||||
* Define this token to enable the processing of FEATURE HID report items, if any, into the processed HID structure.
|
||||
* By default FEATURE items (which are device features settable by the host but not directly visible by the user) are
|
||||
* skipped when processing a device HID report.
|
||||
*
|
||||
* <b>HID_INCLUDE_CONSTANT_DATA_ITEMS</b> - ( \ref Group_HIDParser ) \n
|
||||
* By default, constant data items (usually used as spacers to align separate report items to a byte or word boundary)
|
||||
* in the HID report are skipped during report processing. It is highly unusual for an application to make any use of
|
||||
* constant data items (as they do not carry any useful data and only occupy limited RAM) however if required defining
|
||||
* this switch will put constant data items into the processed HID report structure.
|
||||
*
|
||||
* <b>HID_STATETABLE_STACK_DEPTH</b> - ( \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
|
||||
|
|
|
|||
|
|
@ -24,6 +24,10 @@
|
|||
* preallocate the largest allowable buffer, and pass the size of the buffer to the function. This allows for a single
|
||||
* call to the function to retrieve, size check and validate the Configuration Descriptor rather than having the user
|
||||
* application perform these intermediatary steps.
|
||||
* - The HID report parser now requires a mandatory callback in the user code, to filter only the items the application
|
||||
* is interested in into the processed HID report item structure to save RAM. See \ref CALLBACK_HIDParser_FilterHIDReportItem().
|
||||
* - The HID report parser now always parses FEATURE and always ignores constant-data items - the HID_ENABLE_FEATURE_PROCESSING
|
||||
* and HID_INCLUDE_CONSTANT_DATA_ITEMS compile time tokens now have no effect.
|
||||
*
|
||||
* \section Sec_Migration090810 Migrating from 090605 to 090810
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue