Commit Graph

54 Commits

Author SHA1 Message Date
Dean Camera 1daa5e16f9 Initial restructuring of the core USB driver module to support multiple architectures in the future. 2011-02-19 22:59:27 +00:00
Dean Camera f555ad7ced Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.

Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.

Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
2011-01-10 18:43:34 +00:00
Dean Camera 1d433d4506 Update copyright year on all source files. 2011-01-01 13:00:56 +00:00
Dean Camera b20d25854d Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint. 2010-12-02 04:28:53 +00:00
Dean Camera ed9d77aeee Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be more space efficient when compiled.
Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
2010-12-02 01:56:06 +00:00
Dean Camera 5ce8380a7d Fix XPLAINBridge code broken during the changes to the Rescue Clock generation in the AVRISP-MKII clone project.
Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
2010-11-02 11:16:36 +00:00
Dean Camera cb779e3d7d Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. 2010-10-28 06:08:58 +00:00
Dean Camera 55538dcef3 Add descriptor class, subclass and protocol constants to the class drivers, modify all demos to use them where possible.
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.

Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
2010-10-25 12:42:55 +00:00
Dean Camera b37d77eab3 All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
2010-10-24 22:53:57 +00:00
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 2010-10-13 14:05:35 +00:00
Dean Camera 383d167125 Whitespace corrections.
Make Printer Host mode Class driver interface descriptor search routine pre-cast the current interface descriptor to simplify the value checks.
2010-10-01 00:11:32 +00:00
Dean Camera a1e453e900 Make Host mode Class drivers only set the class driver instance's state values once a compatible interface has been found within the device. 2010-09-30 23:23:05 +00:00
Dean Camera 86367574e6 Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
Fix typo in MIDI low level device demo.
2010-09-30 08:07:29 +00:00
Dean Camera 7166c7ba3e Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
2010-09-30 07:56:47 +00:00
Dean Camera 713670043a Move out many of the common class driver constants into grouped enums, to make them more managable.
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.

Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
2010-09-28 12:14:06 +00:00
Dean Camera c166dfc64e Added class specific descriptor type defines with standard USB-IF element naming. 2010-09-09 13:05:57 +00:00
Dean Camera 97143bf814 Add missing const qualifiers to class drivers.
Indent core library function parameters so that there is only one parameter per line, to increase readability.
2010-07-21 14:00:51 +00:00
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.
2010-05-09 06:01:01 +00:00
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. 2010-05-08 03:12:14 +00:00
Dean Camera e652cfac67 Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set. 2010-05-04 10:10:41 +00:00
Dean Camera f79f9abd28 Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian).
Minor documentation cleanups.

Make sure HID class driver uses properly cast pointers when writing to the report buffer.
2010-03-24 05:50:09 +00:00
Dean Camera 67cb070810 Fix HID Host Class driver sending incorrect ReportType values to the device when issuing requests via the control pipe. 2010-02-14 22:13:11 +00:00
Dean Camera d49cc0f783 Add more include protection macros to give the user warnings when they try to manually include private driver header files, instead of the public driver headers. 2010-02-11 04:05:02 +00:00
Dean Camera 60e9641222 Inline USB management functions in the Class drivers which are standardized but currently unused, to prevent them from using up unneccesary cycles and flash in the user application. 2010-01-05 04:50:18 +00:00
Dean Camera 6122ba93cf Fix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed before the required library headers were included, causing a compilation error.
Added notes to the class driver functions indicating which functions require what Device/Host state machine states to function.
2010-01-04 13:34:02 +00:00
Dean Camera 7f9f97c792 Update copyright year to 2010. 2009-12-30 23:49:19 +00:00
Dean Camera d4ca7fb44c Fix MIT license language to make its intent clearer. 2009-12-28 00:34:20 +00:00
Dean Camera 6648234157 Test with -Wextra, fix library warnings due to unused function parameters. 2009-12-13 14:43:34 +00:00
Dean Camera 5aa2b26261 Added new RNDIS Host class driver and the beginnings of a RNDISEthernetHost Class Driver demo.
Fixed all Class drivers to ensure they have appropriate guards on each function to ensure the device is enumerated before running, fixed error codes on all guards to return "DeviceDisconnected" where possble.

Renamed HOST_SENDCONTROL_DeviceDisconnect enum value to HOST_SENDCONTROL_DeviceDisconnected to be in line with the rest of the library enum error codes.
2009-11-26 04:46:31 +00:00
Dean Camera 8bb007f80b Fixed HID host Class driver report send/receive report broken when issued through the control pipe.
Make Mass Storage device Class driver accept resets at any time, rather than just after a command block has been processed.

Remove the HID device parser from the boot protocol Keyboard/Mouse demos.
2009-11-09 08:24:01 +00:00
Dean Camera 64e5c4084f Add optional pipe double banking support to the Host mode Class drivers.
Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
2009-11-07 03:51:24 +00:00
Dean Camera 870591983c Add const attribute to class driver APIs.
Add new manual pages detailing the advantages of LUFA over the official Atmel USB AVR stack, and reasons why LUFA should be used over a built-from-scratch USB stack.
2009-11-03 02:06:13 +00:00
Dean Camera 2f643f6143 Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when Report protocol is not needed. 2009-09-30 08:16:42 +00:00
Dean Camera baa1b22654 Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe) to send report to the attached device. 2009-09-30 07:58:17 +00:00
Dean Camera 573a27d90a Fix incorrect names for the HID Host protocol setting routines. 2009-09-24 01:52:57 +00:00
Dean Camera 242303c160 Add new attributes to the HID Report Parser and HID Host Mode Class driver to keep track of the largest report the device can send for buffer allocation purposes. Change MouseHostWithParser and KeyboardHostWithParser demos to only allocate the needed number of bytes. 2009-09-21 12:23:09 +00:00
Dean Camera 3ffa7543a0 Finish initial draft of the Host Mode HID Class driver.
Add new MouseHostWithParser and KeyboardHostWithParser Host Class driver demos.
2009-09-21 10:49:06 +00:00
Dean Camera 9d6a373cb6 Add const qualifiers to Host mode Class drivers.
Fix KeyboardHost ClassDriver demo; boot protocol keyboard report structure in the Host Mode HID Class driver uses the full keycode array from the attached device.
2009-09-21 06:08:39 +00:00
Dean Camera aa640330a1 Finish Class Driver MouseHost demo. Update HID Host Class driver; boot protocol now works, still need to finish and test report protocol mode. 2009-09-20 12:34:07 +00:00
Dean Camera 51566d1a81 Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen.
Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID.

More additions to the unfinished HID Host Class Driver.
2009-09-20 12:01:25 +00:00
Dean Camera cd0adb7574 Added support for the officially recommended layout of the external peripherals connected to the BUMBLEB board.
Added flag to the HID Host Class driver to indicate the currently selected reporting protocol.
2009-09-17 23:34:16 +00:00
Dean Camera 7c6b2019a3 Fix Mass Storage Host Class driver GetMaxLUN command - incorrect function return codes used in comparison to check for success.
Add HID Host Class driver functions to set the report protocol, add more class driver documentation.
2009-09-17 13:12:21 +00:00
Dean Camera b221e7d175 Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out standard descriptors into seperate USB_Descriptor_* and USB_StdDescriptor_* structures so that both can be used within the one project.
Add guard to the HID Host Class driver SetProtocol command, to ensure that the device supports boot protocol mode before issuing the request.
2009-09-09 13:17:04 +00:00
Dean Camera 6783bc4594 Add StillImage Host Class Driver functions for opening and closing sessions. Ensure IsActive is set on the interface to allow device functions to run.
Fix spelling of "Received" in all source files where it is misspelt "Recieved".
2009-09-02 13:08:55 +00:00
Dean Camera 3dce79d68c Added start of the Still Image Host Class driver demo and driver code.
Re-enabled building of the Host mode demos ClassDriver directory.
2009-08-30 11:36:04 +00:00
Dean Camera df5500e81c Added CDC_Device_Flush() command to the CDC Device mode class driver.
Minor updates to the unfinished SideShow demo for clarity.

Added unfinished MassStorageHost class driver demo.
2009-08-13 06:43:17 +00:00
Dean Camera c86491af8b Add new functions to the HID host class driver, refine HID interface protocol matching.
Remove stray state variable from the CDC host class driver.
2009-08-11 09:12:29 +00:00
Dean Camera a2001ac1cc Fixed swapped paremeters in the HID state memory copy call while processing a HID PUSH item in the HID report parser.
Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed.

Make RNDIS device class driver include the CDC device class driver header, so that it can inherrit the required CDC functional descriptor macro.

Make HID host class driver include the HID report parser.
2009-08-11 08:36:25 +00:00
Dean Camera 8711dc7ced Fix issue in CDC device class driver where received data the size of the data endpoint could lock up the driver.
Further work on the new CDC and HID host mode class drivers.

Reset changelog et. al. to reset development information for the new version currently under development.
2009-08-11 01:52:15 +00:00
Dean Camera 4b35dd1670 Commit for 090810rc1 release. 2009-08-05 07:47:02 +00:00