Commit Graph

22 Commits

Author SHA1 Message Date
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.
2009-08-05 06:36:31 +00:00
Dean Camera e071f3897a Added new USB_DeviceState variable to keep track of the current Device mode 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.
2009-07-21 13:31:21 +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 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 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 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 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 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 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 6a10d6b465 Moved all source to the trunk directory. 2009-02-23 07:08:22 +00:00