Dean Camera [Tue, 16 Jun 2009 04:20:21 +0000 (04:20 +0000)]
Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine.
Dean Camera [Mon, 15 Jun 2009 13:57:57 +0000 (13:57 +0000)]
Move main library documentation pages into a new ManPages subdirectory.
Dean Camera [Mon, 15 Jun 2009 13:42:34 +0000 (13:42 +0000)]
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.
Dean Camera [Mon, 15 Jun 2009 11:12:39 +0000 (11:12 +0000)]
Add author image to library documentation.
Dean Camera [Mon, 15 Jun 2009 11:01:58 +0000 (11:01 +0000)]
Use sub pages in main library documentation to improve readability.
Dean Camera [Mon, 15 Jun 2009 08:58:55 +0000 (08:58 +0000)]
Fixed broken HIDReportParser.c.
Dean Camera [Mon, 15 Jun 2009 08:36:12 +0000 (08:36 +0000)]
More Doxygen fixes - ensure no undocumented function parameters.
Dean Camera [Mon, 15 Jun 2009 07:23:14 +0000 (07:23 +0000)]
Doxygen corrections to fix Doxygen warnings in some demos.
Dean Camera [Mon, 15 Jun 2009 04:38:42 +0000 (04:38 +0000)]
Enhanced class drivers to use the same public/private section seperations as other portions of the library.
Dean Camera [Sun, 14 Jun 2009 15:55:13 +0000 (15:55 +0000)]
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.
Dean Camera [Sun, 14 Jun 2009 07:57:04 +0000 (07:57 +0000)]
Fix errors from last commit.
Dean Camera [Sun, 14 Jun 2009 07:44:02 +0000 (07:44 +0000)]
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.
Dean Camera [Thu, 11 Jun 2009 06:15:45 +0000 (06:15 +0000)]
Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers.
Dean Camera [Thu, 11 Jun 2009 01:52:53 +0000 (01:52 +0000)]
Some minor whitespace corrections.
Dean Camera [Wed, 10 Jun 2009 07:20:08 +0000 (07:20 +0000)]
Move temp Todo list from the Changelog to a new Future Changes page in the documentation.
Dean Camera [Wed, 10 Jun 2009 05:03:45 +0000 (05:03 +0000)]
Fixes to the MIDI device demos (ClassDriver, LowLevel); discard unused read-in events from the host, use standard MIDI event structure in low level demo rather than sending individual bytes.
Dean Camera [Tue, 9 Jun 2009 06:05:01 +0000 (06:05 +0000)]
Updated bootloaders to use the new main() function layout and remove any references to the scheduler to keep them in line with the rest of the library.
Dean Camera [Tue, 9 Jun 2009 04:30:12 +0000 (04:30 +0000)]
Copy over schedulerless host demos to ClassDrivers directory, for later modification to new Host mode USB class drivers.
Dean Camera [Tue, 9 Jun 2009 04:27:53 +0000 (04:27 +0000)]
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.
Dean Camera [Mon, 8 Jun 2009 11:31:41 +0000 (11:31 +0000)]
Finished basic documentation of all device mode class drivers.
Dean Camera [Mon, 8 Jun 2009 10:35:42 +0000 (10:35 +0000)]
Completed documentation of the HID device class driver.
Dean Camera [Mon, 8 Jun 2009 10:06:49 +0000 (10:06 +0000)]
Finished CDC device class driver documentation.
Dean Camera [Mon, 8 Jun 2009 07:46:07 +0000 (07:46 +0000)]
Error status LEDs shown when device endpoint configuration fails to complete.
MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready.
Dean Camera [Mon, 8 Jun 2009 07:34:16 +0000 (07:34 +0000)]
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
Dean Camera [Sun, 7 Jun 2009 07:20:33 +0000 (07:20 +0000)]
Converted device mode low-level demos to schedulerless.
Dean Camera [Fri, 5 Jun 2009 08:13:19 +0000 (08:13 +0000)]
Add master device Host demo makefile.
Copy and convert incomplete Bluetooth Host demo to the library.
Dean Camera [Fri, 5 Jun 2009 07:59:24 +0000 (07:59 +0000)]
Delete host mode demos from the root Host demos folder.
Dean Camera [Fri, 5 Jun 2009 07:56:39 +0000 (07:56 +0000)]
Copy existing Host mode demos to new ClassDriver and LowLevel subfolders.
Dean Camera [Fri, 5 Jun 2009 07:52:53 +0000 (07:52 +0000)]
Conversion of old incomplete SideShow demo to new APIs.
Dean Camera [Fri, 5 Jun 2009 07:32:40 +0000 (07:32 +0000)]
Add new Incomplete device subdirectory for work-in-progress demos. Add incomplete SideShow demo.
Dean Camera [Fri, 5 Jun 2009 07:30:23 +0000 (07:30 +0000)]
Remove outdated AVRStudio project files from demos, projects, bootloaders. Fix makefiles of ClassDriver device demos.
Dean Camera [Fri, 5 Jun 2009 07:16:33 +0000 (07:16 +0000)]
Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory.
Dean Camera [Fri, 5 Jun 2009 06:46:23 +0000 (06:46 +0000)]
Synchronise with the 090605 release.
Dean Camera [Fri, 5 Jun 2009 02:23:31 +0000 (02:23 +0000)]
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.
Dean Camera [Thu, 4 Jun 2009 06:26:35 +0000 (06:26 +0000)]
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.
Dean Camera [Thu, 4 Jun 2009 04:02:55 +0000 (04:02 +0000)]
Added Doxygen documentation to the Audio class driver. Added new modules for each of the new device class drivers to the library documentation.
Dean Camera [Thu, 4 Jun 2009 03:12:07 +0000 (03:12 +0000)]
Fix Doxygen errors in demos.
Dean Camera [Thu, 4 Jun 2009 03:03:48 +0000 (03:03 +0000)]
Ensure all USB device class drivers have the same three main functions as their interface for consistency.
Dean Camera [Thu, 4 Jun 2009 02:55:30 +0000 (02:55 +0000)]
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.
Dean Camera [Tue, 2 Jun 2009 10:54:32 +0000 (10:54 +0000)]
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.
Dean Camera [Mon, 1 Jun 2009 12:01:53 +0000 (12:01 +0000)]
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.
Dean Camera [Mon, 1 Jun 2009 11:03:39 +0000 (11:03 +0000)]
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.
Dean Camera [Tue, 26 May 2009 05:16:02 +0000 (05:16 +0000)]
Fix broken Host mode, from the recent API changes.
Dean Camera [Tue, 26 May 2009 04:46:35 +0000 (04:46 +0000)]
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.
Dean Camera [Fri, 22 May 2009 06:17:57 +0000 (06:17 +0000)]
Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure.
Dean Camera [Fri, 22 May 2009 05:23:00 +0000 (05:23 +0000)]
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.
Dean Camera [Wed, 20 May 2009 14:50:26 +0000 (14:50 +0000)]
Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill).
Dean Camera [Tue, 19 May 2009 10:36:39 +0000 (10:36 +0000)]
Fix broken doxygen reference in last commit.
Dean Camera [Tue, 19 May 2009 10:33:29 +0000 (10:33 +0000)]
USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed.
Minor documentation improvements.
Dean Camera [Mon, 18 May 2009 10:05:21 +0000 (10:05 +0000)]
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.
Dean Camera [Sun, 17 May 2009 07:44:00 +0000 (07:44 +0000)]
Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code.
Dean Camera [Fri, 15 May 2009 12:27:32 +0000 (12:27 +0000)]
Create a new function pointer type in StreamCallbacks.h for endpoint/pipe stream callbacks, to make stream function prototypes clearer.
Dean Camera [Fri, 15 May 2009 08:02:30 +0000 (08:02 +0000)]
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.
Dean Camera [Fri, 15 May 2009 07:38:35 +0000 (07:38 +0000)]
Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped.
Dean Camera [Thu, 14 May 2009 10:07:08 +0000 (10:07 +0000)]
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.
Dean Camera [Wed, 13 May 2009 22:40:08 +0000 (22:40 +0000)]
Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman).
Dean Camera [Wed, 13 May 2009 14:13:57 +0000 (14:13 +0000)]
Moved USB Host state machine code out from USBTask.c and into Host.c, where it more properly belongs.
Dean Camera [Tue, 12 May 2009 12:59:57 +0000 (12:59 +0000)]
Remove remainder of data pipe interrupt management code from the host demos.
Dean Camera [Tue, 12 May 2009 08:28:02 +0000 (08:28 +0000)]
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.
Dean Camera [Mon, 11 May 2009 08:58:53 +0000 (08:58 +0000)]
Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled.
Dean Camera [Mon, 11 May 2009 07:52:13 +0000 (07:52 +0000)]
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.
Dean Camera [Sun, 10 May 2009 05:23:35 +0000 (05:23 +0000)]
Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status stage clearing).
Commit for the 090510 release.
Dean Camera [Thu, 7 May 2009 22:33:36 +0000 (22:33 +0000)]
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).
Dean Camera [Thu, 7 May 2009 11:12:23 +0000 (11:12 +0000)]
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.
Dean Camera [Thu, 7 May 2009 06:33:07 +0000 (06:33 +0000)]
Fix build errors in Joystick device demo and library LEDs driver (on *nix systems).
Dean Camera [Thu, 7 May 2009 05:30:19 +0000 (05:30 +0000)]
Fixed inability to enumerate any devices while in host mode (broken in a previous commit).
Dean Camera [Wed, 6 May 2009 13:17:38 +0000 (13:17 +0000)]
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.
Dean Camera [Wed, 6 May 2009 12:43:00 +0000 (12:43 +0000)]
Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency.
Dean Camera [Wed, 6 May 2009 07:50:34 +0000 (07:50 +0000)]
Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button.
Dean Camera [Tue, 5 May 2009 14:02:02 +0000 (14:02 +0000)]
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).
Dean Camera [Mon, 4 May 2009 12:55:00 +0000 (12:55 +0000)]
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.
Dean Camera [Sun, 3 May 2009 14:34:20 +0000 (14:34 +0000)]
Fix build errors in host demos due to usage of pipe error codes which have now been renamed.
Dean Camera [Sun, 3 May 2009 14:24:34 +0000 (14:24 +0000)]
Fixed naming of OTG.h functions, to make them consistent with the rest of the library API.
Dean Camera [Sun, 3 May 2009 14:17:24 +0000 (14:17 +0000)]
More minor renaming of library enums and events to try to create a consistent API.
Dean Camera [Sat, 2 May 2009 13:05:25 +0000 (13:05 +0000)]
Fixed Endpoint_Write_Control_* functions writing more data than expected by the host, causing it to panic (thanks to Johannes Raschke).
Dean Camera [Sat, 2 May 2009 05:49:15 +0000 (05:49 +0000)]
Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke).
Dean Camera [Fri, 1 May 2009 05:20:23 +0000 (05:20 +0000)]
Fix minor build errors.
Dean Camera [Sun, 26 Apr 2009 10:29:59 +0000 (10:29 +0000)]
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().
Dean Camera [Sun, 26 Apr 2009 05:01:06 +0000 (05:01 +0000)]
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).
Dean Camera [Fri, 24 Apr 2009 07:28:51 +0000 (07:28 +0000)]
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.
Dean Camera [Thu, 23 Apr 2009 13:28:12 +0000 (13:28 +0000)]
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.
Dean Camera [Wed, 22 Apr 2009 14:28:55 +0000 (14:28 +0000)]
Documentation enhancements to improve documentation cross-references.
Dean Camera [Wed, 22 Apr 2009 13:30:03 +0000 (13:30 +0000)]
Applied STATIC_ENDPOINT_CONFIGURATION and FIXED_CONTROL_SIZE tokens to all Device mode demos to reduce binary size.
Dean Camera [Wed, 22 Apr 2009 13:03:11 +0000 (13:03 +0000)]
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.
Dean Camera [Tue, 21 Apr 2009 06:05:50 +0000 (06:05 +0000)]
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).
Dean Camera [Mon, 20 Apr 2009 13:24:25 +0000 (13:24 +0000)]
Fix errors in the KeyboardHost demo which prevented correct compilation.
Dean Camera [Mon, 20 Apr 2009 11:21:36 +0000 (11:21 +0000)]
Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander).
Dean Camera [Sun, 19 Apr 2009 14:29:57 +0000 (14:29 +0000)]
Spell checked non-source documentation pages.
Dean Camera [Sun, 19 Apr 2009 11:43:21 +0000 (11:43 +0000)]
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.
Dean Camera [Fri, 17 Apr 2009 08:33:53 +0000 (08:33 +0000)]
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.
Dean Camera [Fri, 17 Apr 2009 05:04:21 +0000 (05:04 +0000)]
More documentation changes for better module-level documentation rather than file-level documentation.
Dean Camera [Fri, 17 Apr 2009 04:10:30 +0000 (04:10 +0000)]
Fixed CDC and USBtoSerial demos freezing where buffers were full while still transmitting or receiving (thanks to Peter Hand).
Dean Camera [Fri, 17 Apr 2009 00:20:00 +0000 (00:20 +0000)]
Renamed Serial_Stream driver to SerialStream to remain consistent with the rest of the library's naming scheme for files.
Dean Camera [Fri, 17 Apr 2009 00:12:31 +0000 (00:12 +0000)]
Rename Drivers/AT90USBXXX to Drivers/Peripheral.
Dean Camera [Fri, 17 Apr 2009 00:06:53 +0000 (00:06 +0000)]
Partial commit: Rename references to Drivers/AT90USBXXX to Drivers/Peripheral.
Dean Camera [Thu, 16 Apr 2009 23:59:14 +0000 (23:59 +0000)]
Partial commit: change references to Drivers/AT90USBXXX to Drivers/Peripheral.
Dean Camera [Thu, 16 Apr 2009 08:50:34 +0000 (08:50 +0000)]
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.
Dean Camera [Wed, 15 Apr 2009 00:56:12 +0000 (00:56 +0000)]
Fixed minor issue with the RNDISEthernet demo DHCP protocol decoder routine using incorrectly named variables (thanks to Jonathan Oakley).
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei).
Dean Camera [Tue, 14 Apr 2009 12:07:41 +0000 (12:07 +0000)]
Corrected AudioInput and AudioOutput demos, to fix endpoint underflows due to rounding in the sample reload timer.
Dean Camera [Tue, 14 Apr 2009 08:35:47 +0000 (08:35 +0000)]
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.