Commit Graph

127 Commits

Author SHA1 Message Date
Dean Camera b9b03aadb2 Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory. 2009-06-05 07:16:33 +00:00
Dean Camera 6a7c298c0f Synchronise with the 090605 release. 2009-06-05 06:46:23 +00:00
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. 2009-06-05 02:23:31 +00:00
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.
2009-06-04 06:26:35 +00:00
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. 2009-06-04 04:02:55 +00:00
Dean Camera d37d419ffa Fix Doxygen errors in demos. 2009-06-04 03:12:07 +00:00
Dean Camera 4897ef8972 Ensure all USB device class drivers have the same three main functions as their interface for consistency. 2009-06-04 03:03:48 +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 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. 2009-06-01 12:01:53 +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 2440ca268a Fix broken Host mode, from the recent API changes. 2009-05-26 05:16:02 +00:00
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.
2009-05-26 04:46:35 +00:00
Dean Camera b7ef7f49c9 Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure. 2009-05-22 06:17:57 +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 76d5e99bb8 Fix to previous patch (make CDCHost demo deallocate pipes when an invalid CDC interface is skipped).
Remove the saving of the USB_GetNextDescriptorComp() return value in all host demos, since it went unused anyway; replaced with a simple check against the success error code for clarity.
2009-05-15 08:02:30 +00:00
Dean Camera fabfdd454a Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped. 2009-05-15 07:38:35 +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 0d5baf9bb3 Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman). 2009-05-13 22:40: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 da007db18d Remove remainder of data pipe interrupt management code from the host demos. 2009-05-12 12:59:57 +00:00
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.
2009-05-12 08:28:02 +00:00
Dean Camera ea74397095 Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled. 2009-05-11 08:58:53 +00:00
Dean Camera e0985b9950 Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data.
Fixed documentation showing incorrect USB mode support on the supported AVRs list.
2009-05-11 07:52:13 +00:00
Dean Camera 3f48497874 Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status stage clearing).
Commit for the 090510 release.
2009-05-10 05:23:35 +00:00
Dean Camera 1f83abe6f4 Renamed the the TotalHIDReports element of the HID descriptor structure in the HID class demos to TotalReportDescriptors, to be more accurate of the element's function (thanks to Brian Dickman). 2009-05-07 22:33:36 +00:00
Dean Camera c7aceb2c7f Serial driver now correctly calculates the baud register value when in double speed mode.
Init function of the Serial driver is now static inline to product smaller code for the common-case of static init.
2009-05-07 11:12:23 +00:00
Dean Camera 938f86d063 Fix build errors in Joystick device demo and library LEDs driver (on *nix systems). 2009-05-07 06:33:07 +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 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. 2009-05-06 13:17:38 +00:00
Dean Camera a908773a13 Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency. 2009-05-06 12:43:00 +00:00
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. 2009-05-06 07:50:34 +00:00
Dean Camera f11f69fd29 Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code, changed LED board driver code to define dummy LED masks for the first four board LEDs so that user code can be compiled for boards with less than four LEDs without code modifications (thanks to Morten Lund). 2009-05-05 14:02:02 +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 edcfaf7716 Fix build errors in host demos due to usage of pipe error codes which have now been renamed. 2009-05-03 14:34:20 +00:00
Dean Camera 0137001ea9 Fixed naming of OTG.h functions, to make them consistent with the rest of the library API. 2009-05-03 14:24:34 +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 6a8e27f7ee Fixed Endpoint_Write_Control_* functions writing more data than expected by the host, causing it to panic (thanks to Johannes Raschke). 2009-05-02 13:05:25 +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 f05224ec46 Fix minor build errors. 2009-05-01 05:20:23 +00:00
Dean Camera 58e42c6ca9 Fixed SPI driver init function not clearing SPI2X bit when not needed.
Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex).

Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus().
2009-04-26 10:29:59 +00:00
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). 2009-04-26 05:01:06 +00:00
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. 2009-04-24 07:28:51 +00:00
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.
2009-04-23 13:28:12 +00:00