Dean Camera
0313034245
Added const attributes to some of the class driver function parameters that were missing it.
15 years ago
Dean Camera
26afe5fe9e
Fix Doxygen formatting of parameters for the CALLBACK_HID_Device_CreateHIDReport() function in the ClassDriver HID device demos.
15 years ago
Dean Camera
05ac59d0ee
Add new ReportType parameter to the HID class driver device callback and host report sending routines.
...
Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
15 years ago
Dean Camera
071e02c6b6
Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style.
15 years ago
Dean Camera
59c4871f80
USB_Init() no longer calls sei() to enable global interrupts - this must now be done in the user application once all init code has run.
15 years ago
Dean Camera
2b51944a4b
Make sure the button report set masks use OR in all circumstances, to prevent user confusion. While the first set of the buttons report item can be a direct assignment, it is not immediately clear to new developers why this is the case.
15 years ago
Dean Camera
89e4d73289
Fixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo class driver structures.
...
Added caveat information to the CDC device class driver.
16 years ago
Dean Camera
7f9f97c792
Update copyright year to 2010.
16 years ago
Dean Camera
d4ca7fb44c
Fix MIT license language to make its intent clearer.
16 years ago
Dean Camera
3757b1760f
Fix newly renamed VirtualSerial demos' include filename references so that they compile.
16 years ago
Dean Camera
cf22a744ec
Additional file renames and modifications to change CDC demos to VirtualSerial.
16 years ago
Dean Camera
7a9b3d3641
Rename CDC demos to VirtualSerial.
16 years ago
Dean Camera
50f4a3b625
Fix build and Doxygen errors.
16 years ago
Dean Camera
8b009bc113
Added new ReportType parameter to the HID Device Class driver CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate.
16 years ago
Dean Camera
588886878e
Corrections, improvements and additions to the incomplete RNDISHost demo.
...
Change device demos which use the joystick to use the natural UP, DOWN, LEFT, RIGHT ordering in all demos when checking the joystick's position.
16 years ago
Dean Camera
f7ab433c67
Add optional double-banking support to the Device mode Class Drivers, on a per-endpoint, per-interface level.
16 years ago
Dean Camera
0899deaae3
Add new CDCMouse ClassDriver device demo, combining a CDC Virtual Serial Port and a HID Mouse.
16 years ago
Dean Camera
b71ff7c8cd
Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode.
16 years ago
Dean Camera
042d3288ad
Fix incorrect Event call name in USBInterrupt.c.
16 years ago
Dean Camera
c5038f1bf4
Renamed all library events to properly seperate out Device and Host mode 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.
16 years ago
Dean Camera
eb41086947
Fix demos based on the device mode HID class driver, as well as the driver 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.).
16 years ago
Dean Camera
7df6b9563c
Add new HID_Device_MillisecondElapsed() function to the HID device Class driver, to move the burden of managing the Idle period of each instance to the library and not the user application.
16 years ago
Dean Camera
72932e2780
Fix to HID device mode Class driver, so that new reports are compared against the old, and updated reports made within the idle period are sent immediately to the host.
16 years ago
Dean Camera
864196c884
State information for class drivers is now zeroed out during enumeration (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.
16 years ago
Dean Camera
f1076ac4d6
Added const modifiers to device mode class drivers.
...
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).
16 years ago
Dean Camera
f896c00c48
Break device mode class driver interfaces into seperate config and state 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.
16 years ago
Dean Camera
234d0a39eb
Doxygen corrections to fix Doxygen warnings in some demos.
16 years ago
Dean Camera
9798440ca4
Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers.
16 years ago
Dean Camera
b2330934b9
Some minor whitespace corrections.
16 years ago
Dean Camera
b9b03aadb2
Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory.
16 years ago
Dean Camera
3d1baa6f95
Added multiple Report ID support to the HID class driver. Removed OUT 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.
16 years ago
Dean Camera
a67bd74e3e
Minor documentation page updates.
...
Redocumented all device demos, now that they have changed over to the new USB class drivers.
Added C linkage to class drivers for C++ support.
Added prefixes to most of the class driver constants to prevent name clashes.
16 years ago
Dean Camera
7c5444b89a
Removed new Start of Frame event from the library; performance suffered far 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.
16 years ago
Dean Camera
d1e5266036
Commit of new class abstraction APIs for all device demos other than the 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.
16 years ago
Dean Camera
2ee9fc7077
Rewritten event system to remove all macros, to make user code clearer.
...
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).
Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.
Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
16 years ago
Dean Camera
32f0f605ef
Removed all user pipe/endpoint interrupt APIs, added internal library support for interrupt driven control endpoints when in device mode by defining INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch.
16 years ago
Dean Camera
958a1b4e2b
Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman).
...
Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues.
16 years ago
Dean Camera
a908773a13
Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency.
16 years ago
Dean Camera
63a8f66d92
Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button.
16 years ago
Dean Camera
c20a94a4e8
Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled).
...
Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
16 years ago
Dean Camera
d860e9e842
USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
...
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.
The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
16 years ago
Dean Camera
e5e7eaee7a
Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints).
16 years ago
Dean Camera
37b2130fb2
Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander).
16 years ago
Dean Camera
8f6b4ddf76
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
...
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length).
Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API.
Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API.
Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel).
Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity.
Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity.
Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
16 years ago
Dean Camera
d3484e6bdd
Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen).
16 years ago
Dean Camera
6933f2e1a5
All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected.
16 years ago
Dean Camera
ed031c1df2
Seperated out OTG, Device and Host mode demos into seperate folders for clarity. Adjusted makefiles so that the path to the LUFA library can be set in one place.
16 years ago
Dean Camera
ee7bd5685e
Ensure that the Keyboard and Mouse demos adhere to the boot protocol specification in that they send a report before the idle period has elapsed if the report data has changed.
16 years ago
Dean Camera
7184153e5d
Corrections to Keyboard and Mouse combined demos so that all modes (normal, interrupt, fully interrupt) work correctly.
16 years ago
Dean Camera
88051e78a2
Combined Mouse, MouseViaInt and MouseFullInt demos into a single unified demo.
...
Corrections to Keyboard demo.
Removed AVRISP_Programmer project due to code quality concerns.
16 years ago