aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/LowLevel
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup USBMode.h to simplify preprocessor logic.Dean Camera2009-07-291-0/+6
|
* Extend the automatic serial number descriptor code to read out and send all ↵Dean Camera2009-07-281-3/+3
| | | | 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters).
* Corrected new Pipe_IsEndpointBound() function.Dean Camera2009-07-261-2/+2
| | | | Completed host CDC class driver enumeration code.
* Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions.Dean Camera2009-07-263-4/+37
|
* Slight changes to TeensyHID bootloader to ensure it builds under the 2KB ↵Dean Camera2009-07-212-28/+12
| | | | | | boundary. Changed USB_Init() and USB_Shutdown() so that they are no longer dependant on oneanother for possible code savings when the interface is never explicitly shut down.
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-2110-57/+193
| | | | | | | | | | | | 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.
* Move unfinished SideShow source files to nested Lib directory for clarity.Dean Camera2009-07-203-9/+4
|
* Fixed PrinterHost demo Printer_GetDeviceID() routine not removing the Device ↵Dean Camera2009-07-203-9/+20
| | | | | | ID string length from the start of the returned array (thanks to John Andrews). Fixed error in new pipe stream function template system not setting the right device token for R/W operations (also thanks to John Andrews).
* Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with ↵Dean Camera2009-07-191-1/+1
| | | | endpoint addresses of 8 and above (thanks to John Andrews).
* Fix small error in last commit preventing compilation in some circumstances.Dean Camera2009-07-161-1/+2
|
* Added new TOTAL_NUM_CONFIGURATIONS option, removed ↵Dean Camera2009-07-163-17/+90
| | | | | | USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility). Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
* Fix HID class device driver -- if a SetIDle request is issued with the LSB ↵Dean Camera2009-07-152-45/+55
| | | | | | | | of wValue set to zero, the idle period must be set for all HID interfaces. Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman). Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
* Fix broken Pipe stream function templates due to mixed const/no const use in ↵Dean Camera2009-07-131-6/+6
| | | | prototypes.
* Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream ↵Dean Camera2009-07-139-879/+752
| | | | functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times.
* Added new HOST_STATE_WaitForDeviceRemoval host state machine state for ↵Dean Camera2009-07-132-14/+101
| | | | | | non-blocking disabling of device communications until the device has been removed (for use when an error occurs or communications with the device have completed). Changed over all host mode demos to use the new state. Added verbose documentation for each of the USB Host state machine states.
* Seperated out parts of the PrinterHost incomplete demo into a seperate Lib ↵Dean Camera2009-07-132-9/+9
| | | | | | subdirectory. Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected.
* Added const modifiers to device mode class drivers.Dean Camera2009-06-289-84/+484
| | | | | | 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).
* Optimize vendor/product description string display code in MassStorageHost.Dean Camera2009-06-262-1/+3
| | | | | | | | Remove all Host mode class demos other than the CDCHost class driver demo, so that they can be re-added as they are made once the host mode class framework is designed. Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails. Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used.
* Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset ↵Dean Camera2009-06-231-2/+1
| | | | is issued while not processing a command.
* Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting ↵Dean Camera2009-06-233-3/+6
| | | | infinite IN requests, this can still be changed by calling the existing \ref Pipe_SetFiniteINRequests() function.
* Fixed CDCHost demo unfreezing IN pipes during configuration, rather than ↵Dean Camera2009-06-232-1/+28
| | | | | | during use. Changed Pipe stream functions to automatically set the pipe token, allowing them to be used on bidirectional pipes without having to explicitly call Pipe_SetPipeToken() beforehand.
* Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to ↵Dean Camera2009-06-221-2/+0
| | | | Opendous Inc.).
* Optimize unique serial number reading code for size -- remove atoi/toupper ↵Dean Camera2009-06-211-13/+35
| | | | references, replace with hand-rolled code as the input has known size constraints.
* Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in ↵Dean Camera2009-06-212-11/+2
| | | | 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.
* Trim unique serial number created by the USE_INTERNAL_SERIAL option to 12 ↵Dean Camera2009-06-211-2/+2
| | | | characters rather than 20 - apparently Windows will implode if a serial number is too long.
* Added USE_INTERNAL_SERIAL compile time option to automatically read out the ↵Dean Camera2009-06-202-1/+43
| | | | internal unique serial number as the device's serial number descriptor on supported AVR models.
* Fix makefiles -- the auto-addition of -D switches to each LUFA compile time ↵Dean Camera2009-06-192-2/+2
| | | | option was faulty, due to GNUMake becomming confused by the spaces in the USE_STATIC_OPTIONS lines. Make user add in the switches explicitly instead.
* Added new USB_Host_ClearPipeStall() convenience function to clear a stall ↵Dean Camera2009-06-184-2/+62
| | | | | | | | | | 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().
* Pipe_GetErrorFlags() now returns additional error flags for overflow and ↵Dean Camera2009-06-161-1/+10
| | | | | | underflow errors. Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
* Added new USB_Host_SetDeviceConfiguration() convenience function. Change ↵Dean Camera2009-06-162-0/+30
| | | | over Low Level host demos to use the new routine.
* Fix errors from last commit.Dean Camera2009-06-142-7/+5
|
* Changed per-device controller preprocessor checks over to per-device series ↵Dean Camera2009-06-146-30/+37
| | | | | | for better device control. Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
* Converted Host mode demos to schedulerless. Fixed host mode broken due to ↵Dean Camera2009-06-085-19/+11
| | | | earlier Start-of-frame event experiments.
* Removed new Start of Frame event from the library; performance suffered far ↵Dean Camera2009-06-021-5/+0
| | | | | | 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.
* Commit of new class abstraction APIs for all device demos other than the ↵Dean Camera2009-06-015-13/+22
| | | | | | | | | | 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.
* Fix broken Host mode, from the recent API changes.Dean Camera2009-05-261-1/+1
|
* Fix all device mode demos broken in the recent API changes.Dean Camera2009-05-261-3/+2
| | | | Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
* Deleted StdDescriptors.c, renamed USB_GetDescriptor() to ↵Dean Camera2009-05-223-16/+31
| | | | 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.
* USB_IsConnected is now cleared before the USB_Disconnect() event is fired in ↵Dean Camera2009-05-192-3/+9
| | | | | | response to VBUS being removed. Minor documentation improvements.
* Rewritten event system to remove all macros, to make user code clearer.Dean Camera2009-05-189-87/+46
| | | | | | | | 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.
* Create a new function pointer type in StreamCallbacks.h for endpoint/pipe ↵Dean Camera2009-05-155-20/+32
| | | | stream callbacks, to make stream function prototypes clearer.
* Removed all user pipe/endpoint interrupt APIs, added internal library ↵Dean Camera2009-05-142-69/+0
| | | | 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.
* Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 ↵Dean Camera2009-05-131-1/+2
| | | | requests that are addressed to the device (thanks to Brian Dickman).
* Moved USB Host state machine code out from USBTask.c and into Host.c, where ↵Dean Camera2009-05-134-4/+178
| | | | it more properly belongs.
* Fixed Mouse and Keyboard device demos not acting in accordance with the HID ↵Dean Camera2009-05-123-74/+1
| | | | | | 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.
* Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status ↵Dean Camera2009-05-101-6/+1
| | | | | | stage clearing). Commit for the 090510 release.
* Fixed inability to enumerate any devices while in host mode (broken in a ↵Dean Camera2009-05-072-3/+3
| | | | previous commit).
* Minor correction to the DevChapter9.c handling of Set and Clear feature ↵Dean Camera2009-05-061-20/+27
| | | | requests -- remote wake up requests now complete correctly rather than stalling the request.
* Change device demos to cache the board button values in the same manner as ↵Dean Camera2009-05-061-2/+2
| | | | the board joystick to maintain consistency.
* Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent ↵Dean Camera2009-05-045-17/+20
| | | | | | 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.