aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Device/HID.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed ↵Dean Camera2010-01-041-6/+0
| | | | | | before the required library headers were included, causing a compilation error. Added notes to the class driver functions indicating which functions require what Device/Host state machine states to function.
* Update copyright year to 2010.Dean Camera2009-12-301-2/+2
|
* Fix MIT license language to make its intent clearer.Dean Camera2009-12-281-7/+7
|
* Added new ReportType parameter to the HID Device Class driver ↵Dean Camera2009-11-231-2/+4
| | | | CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate.
* Add double banking property to LUFA powered projects in the Projects ↵Dean Camera2009-11-061-1/+1
| | | | directory. Add guards to macro parameters to ensure that formulas passed as parameters don't mess up the internal macro structure.
* Add optional double-banking support to the Device mode Class Drivers, on a ↵Dean Camera2009-11-061-1/+2
| | | | per-endpoint, per-interface level.
* Make HID device class driver ignore the previous HID report comparison ↵Dean Camera2009-10-261-4/+7
| | | | buffer when the user sets it to NULL, disabling automatic report comparisons. Update HID device class driver documentation giving previous report buffer limitations.
* Make HID device class driver reselect the correct endpoint after the user ↵Dean Camera2009-10-261-0/+3
| | | | callbacks have fired.
* Fixed Device mode HID Class driver not explicitly initializing the ↵Dean Camera2009-08-271-4/+4
| | | | ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent.
* Fixed Device mode HID Class driver always sending IN reports, even when no ↵Dean Camera2009-08-271-3/+3
| | | | data is to be reported.
* Added flag to the HID report parser to indicate if a device has multiple ↵Dean Camera2009-08-111-12/+5
| | | | | | | | | | reports. SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested HID interface within the device, not all HID interfaces. Apply correct fix to the HID report parser for PUSH items - current HID item attribute stack was being copied in the wrong direction. Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered.
* Renamed all library events to properly seperate out Device and Host mode ↵Dean Camera2009-08-051-1/+1
| | | | | | | | events. Changed the firing conditions for some events to ensure that events are fired by their own USB mode only. Remove VBUS events - not needed as the library takes care of VBUS detection and feedback on supported AVRs via the USB_Device_Connected and USB_Device_Disconnected events. Fixed incorrect Host state assignment in the incomplete BluetoothHost demo.
* Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the ↵Dean Camera2009-08-021-1/+1
| | | | existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option.
* Fix demos based on the device mode HID class driver, as well as the driver ↵Dean Camera2009-07-311-9/+9
| | | | itself. Changed HID device class driver to require the user to give a buffer and size to hold the previously generated report, for comparison purposes, and altered the prototype of the CALLBACK_HID_Device_CreateHIDReport() function so that reports can be sent to the host even if there are no apparent changes (useful for relative movements in mice, etc.).
* Add new HID_Device_MillisecondElapsed() function to the HID device Class ↵Dean Camera2009-07-301-0/+6
| | | | driver, to move the burden of managing the Idle period of each instance to the library and not the user application.
* Ensure that the previous HID reports in the HID device class driver are kept ↵Dean Camera2009-07-301-4/+2
| | | | per-instance, rather than per-device.
* Fix to HID device mode Class driver, so that new reports are compared ↵Dean Camera2009-07-301-10/+15
| | | | against the old, and updated reports made within the idle period are sent immediately to the host.
* State information for class drivers is now zeroed out during enumeration ↵Dean Camera2009-07-271-0/+2
| | | | (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved.
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-211-9/+5
| | | | | | | | | | | | USB state. Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers. Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality. Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead. Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
* Add explicit guards to all device mode tasks to ensure the device is ↵Dean Camera2009-07-211-1/+1
| | | | connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured.
* Added new TOTAL_NUM_CONFIGURATIONS option, removed ↵Dean Camera2009-07-161-1/+1
| | | | | | 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.
* Fix HID class device driver -- if a SetIDle request is issued with the LSB ↵Dean Camera2009-07-151-8/+15
| | | | | | | | of wValue set to zero, the idle period must be set for all HID interfaces. Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman). Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
* Added const modifiers to device mode class drivers.Dean Camera2009-06-281-3/+3
| | | | | | Added parameter directions to function parameter documentation. Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
* Break device mode class driver interfaces into seperate config and state ↵Dean Camera2009-06-181-17/+17
| | | | structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces.
* Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.Dean Camera2009-06-141-0/+5
| | | | | | Split out common defines/types from class drivers into a seperate common class driver directory. Make central USB Class driver dispatch headers, used for both device and host modes.
* Changed to new device mode Class Driver function name prefixes to make way ↵Dean Camera2009-06-111-6/+6
| | | | for similar host mode Class drivers.
* Added multiple Report ID support to the HID class driver. Removed OUT ↵Dean Camera2009-06-051-32/+13
| | | | endpoint support from HID driver (all OUT reports are now processed through control requests) as a seperate endpoint had issues with determining the exact output report length.
* Removed new Start of Frame event from the library; performance suffered far ↵Dean Camera2009-06-021-22/+4
| | | | | | too much and it was only useful in one of the standard classes (HID). Altered HID demos to use the previous method of tracking millisecond periods via a hardware timer rather than the SOF events. Fixed MIDI class driver blocking on unread events to the host.
* Commit of new class abstraction APIs for all device demos other than the ↵Dean Camera2009-06-011-0/+211
MIDI demo - not documented yet. Removed scheduler and memory allocation libraries. Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated). Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.