Commit Graph

139 Commits

Author SHA1 Message Date
Dean Camera c619e21fa7 Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models. 2009-07-16 08:57:51 +00:00
Dean Camera a54ed0085b Seperated out parts of the PrinterHost incomplete demo into a seperate Lib subdirectory.
Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected.
2009-07-13 04:46:52 +00:00
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).
2009-06-28 13:39:08 +00:00
Dean Camera 730624f745 Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it. 2009-06-21 09:22:31 +00:00
Dean Camera 00d0883507 Added USE_INTERNAL_SERIAL compile time option to automatically read out the internal unique serial number as the device's serial number descriptor on supported AVR models. 2009-06-20 11:43:26 +00:00
Dean Camera dfa547164a Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices. 2009-06-19 03:37:47 +00:00
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().
2009-06-18 07:53:51 +00:00
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.
2009-06-14 07:44:02 +00:00
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.
2009-06-04 02:55:30 +00:00
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.
2009-06-02 10:54:32 +00:00
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.
2009-06-01 11:03:39 +00:00
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. 2009-05-22 05:23:00 +00:00
Dean Camera b3a4d8512b Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill). 2009-05-20 14:50:26 +00:00
Dean Camera 59becad82f Fix broken doxygen reference in last commit. 2009-05-19 10:36:39 +00:00
Dean Camera 4a8ac5e474 USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed.
Minor documentation improvements.
2009-05-19 10:33:29 +00:00
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.
2009-05-18 10:05:21 +00:00
Dean Camera 72c2922e38 Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code. 2009-05-17 07:44:00 +00:00
Dean Camera eeba38e343 Create a new function pointer type in StreamCallbacks.h for endpoint/pipe stream callbacks, to make stream function prototypes clearer. 2009-05-15 12:27:32 +00:00
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. 2009-05-14 10:07:08 +00:00
Dean Camera 4904b10ef6 Moved USB Host state machine code out from USBTask.c and into Host.c, where it more properly belongs. 2009-05-13 14:13:57 +00:00
Dean Camera 526e398986 Fixed inability to enumerate any devices while in host mode (broken in a previous commit). 2009-05-07 05:30:19 +00:00
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.
2009-05-04 12:55:00 +00:00
Dean Camera 01c4bef107 More minor renaming of library enums and events to try to create a consistent API. 2009-05-03 14:17:24 +00:00
Dean Camera 13935a31b9 Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke). 2009-05-02 05:49:15 +00:00
Dean Camera 9cec85bfd9 Documentation enhancements to improve documentation cross-references. 2009-04-22 14:28:55 +00:00
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.
2009-04-22 13:03:11 +00:00
Dean Camera 37b2130fb2 Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander). 2009-04-20 11:21:36 +00:00
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.
2009-04-19 11:43:21 +00:00
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.
2009-04-17 08:33:53 +00:00
Dean Camera d38fa49cb6 More documentation changes for better module-level documentation rather than file-level documentation. 2009-04-17 05:04:21 +00:00
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.
2009-04-16 08:50:34 +00:00
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.
2009-04-14 08:35:47 +00:00
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. 2009-04-05 07:00:11 +00:00
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. 2009-04-05 06:27:49 +00:00
Dean Camera 6933f2e1a5 All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected. 2009-04-01 13:53:58 +00:00
Dean Camera fa85c5e416 Commit for the 090401 release. 2009-03-31 11:56:00 +00:00
Dean Camera 1c9092a8a6 Fixed USBTask.h not conditionally including HostChapter9.h only when CAN_BE_DEVICE is defined (thanks to Ian Gregg). 2009-03-26 00:20:28 +00:00
Dean Camera 4bb59f9673 Fixed documentation typoes and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg). 2009-03-25 22:43:00 +00:00
Dean Camera 6a10d6b465 Moved all source to the trunk directory. 2009-02-23 07:08:22 +00:00