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
e338cb6f32
Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint.
...
Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor.
Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is cleared to prevent endpoint type corruption.
Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken().
16 years ago
Dean Camera
dcf303762a
Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors.
...
Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
16 years ago
Dean Camera
b5ca3990c2
Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine.
16 years ago
Dean Camera
84d7783350
Remove ConfigDescriptor.c/.h files from the ClassDriver Host demos, as they will be obsoleted when the Host mode class drivers are complete. Add new StillImage stub class driver common header.
16 years ago
Dean Camera
b61049f722
Fixed broken HIDReportParser.c.
16 years ago
Dean Camera
c75f8bf223
More Doxygen fixes - ensure no undocumented function parameters.
16 years ago
Dean Camera
b7049da11b
Enhanced class drivers to use the same public/private section seperations as other portions of the library.
16 years ago
Dean Camera
afe6ae1402
Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
...
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.
16 years ago
Dean Camera
9fdc53d765
Fix errors from last commit.
16 years ago
Dean Camera
4d3a594f3e
Changed per-device controller preprocessor checks over to per-device series for better device control.
...
Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
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
34f6e0dd33
Deleted Host ClassDriver demos -- not yet started, faster to rebase new ClassDriver demos from the newly schedulerless LowLevel host demos rather than re-convert each demo from the previous scheduler-based implementations.
...
Fixes to MassStorageHost demo to improve compatibility with more USB drives.
16 years ago
Dean Camera
ccf5bd19f2
Finished basic documentation of all device mode class drivers.
16 years ago
Dean Camera
1c12341cd7
Completed documentation of the HID device class driver.
16 years ago
Dean Camera
bde64666fb
Finished CDC device class driver documentation.
16 years ago
Dean Camera
ac70ddd0a1
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
16 years ago
Dean Camera
6a7c298c0f
Synchronise with the 090605 release.
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
7665bf323e
Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC interface structure as a parameter.
...
Converted TestApp demo over to the new demo structure.
More class driver documentation improvements.
16 years ago
Dean Camera
dc42c5eb6b
Added Doxygen documentation to the Audio class driver. Added new modules for each of the new device class drivers to the library documentation.
16 years ago
Dean Camera
4897ef8972
Ensure all USB device class drivers have the same three main functions as their interface for consistency.
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
74b7c07e96
Add MIDI class driver, update MIDI device demo to use the new USB class driver. All device demos/projects have now been converted to the new library class drivers, although documentation is yet to be completed.
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
2440ca268a
Fix broken Host mode, from the recent API changes.
16 years ago
Dean Camera
7eb4eb7cdd
Fix all device mode demos broken in the recent API changes.
...
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
16 years ago
Dean Camera
d0806c817c
Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs.
16 years ago
Dean Camera
b3a4d8512b
Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill).
16 years ago
Dean Camera
59becad82f
Fix broken doxygen reference in last commit.
16 years ago
Dean Camera
4a8ac5e474
USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed.
...
Minor documentation improvements.
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
72c2922e38
Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code.
16 years ago
Dean Camera
eeba38e343
Create a new function pointer type in StreamCallbacks.h for endpoint/pipe stream callbacks, to make stream function prototypes clearer.
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
0d5baf9bb3
Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman).
16 years ago
Dean Camera
4904b10ef6
Moved USB Host state machine code out from USBTask.c and into Host.c, where it more properly belongs.
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
3f48497874
Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status stage clearing).
...
Commit for the 090510 release.
16 years ago
Dean Camera
526e398986
Fixed inability to enumerate any devices while in host mode (broken in a previous commit).
16 years ago
Dean Camera
2bd88ebc4f
Minor correction to the DevChapter9.c handling of Set and Clear feature requests -- remote wake up requests now complete correctly rather than stalling the request.
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
253deb996f
Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given wLength value when reading in the device descriptor.
...
Further documentation improvements - removed file view from the main library documentation, replaced file references in the documentation with group references.
16 years ago
Dean Camera
0137001ea9
Fixed naming of OTG.h functions, to make them consistent with the rest of the library API.
16 years ago
Dean Camera
01c4bef107
More minor renaming of library enums and events to try to create a consistent API.
16 years ago
Dean Camera
6a8e27f7ee
Fixed Endpoint_Write_Control_* functions writing more data than expected by the host, causing it to panic (thanks to Johannes Raschke).
16 years ago
Dean Camera
13935a31b9
Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke).
16 years ago
Dean Camera
e21b620bf6
Move the length decrements in the pipe and endpoint stream functions to the point at which the buffers are operated on, to prevent decrements during iterations where no data is exchanged (thanks to Francisco Moraes).
16 years ago
Dean Camera
a504a3a010
Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless STATIC_ENDPOINT_CONFIGURATION compile time token.
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
9cec85bfd9
Documentation enhancements to improve documentation cross-references.
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
663f449c10
Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman).
...
Capitolised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and DSearch_Comp_Return_ErrorCodes_t enums.
Minor documentation improvements.
16 years ago
Dean Camera
32e735b2b2
Removed "Host_" section of the function names in ConfigDescriptor.h, as most of the routines can now be used in device mode on the device descriptor.
...
Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name.
Further module-level documentation updates.
16 years ago
Dean Camera
d38fa49cb6
More documentation changes for better module-level documentation rather than file-level documentation.
16 years ago
Dean Camera
1c16ae399a
Partial commit: change references to Drivers/AT90USBXXX to Drivers/Peripheral.
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
6a5a37d7d1
The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0), so that other control type pipes can be used with the function.
...
The USB Host management task now saves and restores the currently selected pipe before and after the task completes.
16 years ago
Dean Camera
557a945ba1
Removed all binary constants and replaced with decimal or hexadecimal constants so that unpatched GCC compilers can still build the code without having to be itself patched and recompiled first.
16 years ago
Dean Camera
7d4cccc22d
Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory, where they are more suited.
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
fa85c5e416
Commit for the 090401 release.
16 years ago
Dean Camera
3aa8620a61
Minor documentation fixes to correct formatting and typos.
16 years ago
Dean Camera
1c9092a8a6
Fixed USBTask.h not conditionally including HostChapter9.h only when CAN_BE_DEVICE is defined (thanks to Ian Gregg).
16 years ago
Dean Camera
4bb59f9673
Fixed documentation typoes and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg).
16 years ago
Dean Camera
e611b250c1
Added extra output to makefiles to indicate the currently selected BOARD parameter.
16 years ago
Dean Camera
0214e096a0
Renamed NO_CLEARSET_FEATURE_REQUEST compile time token to NO_FEATURELESS_CONTROL_ONLY_DEVICE and expanded its function to also remove parts of the Get Status chapter 9 request, to further reduce code usage.
16 years ago
Dean Camera
3803976534
Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson).
16 years ago
Dean Camera
7e7124e40b
Updated makefiles to reflect new dfu-ee programming target invocations (supplied by Opendous, Inc.).
...
Renamed the ATTR_ALWAYSINLINE function attribute macro to ATTR_ALWAYS_INLINE to match the style of the other function attribute macro names.
Added ATTR_ALWAYS_INLINE attribute to several inlined library functions, to ensure they are inlined in all circumstances.
Cleanups to Endpoint.h and Pipe.h. Added better documentation for the endpoint and pipe interrupts.
16 years ago
Dean Camera
5e787a4bb0
Updated changelog to reflect recent commit changes.
16 years ago
Dean Camera
99145a8d7c
Makefiles and library modified to add a new F_CLOCK constant to give the unprescaled master input clock frequency, so that the correct PLL mask can be determined even when the CPU (F_CPU) clock rate is prescaled outside the normal input range of the PLL.
...
Started to clean up the AVRISP Programmer project code, donated by Opendous Inc.
16 years ago
Dean Camera
6a10d6b465
Moved all source to the trunk directory.
16 years ago