aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB
Commit message (Collapse)AuthorAgeFilesLines
* Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce ↵Dean Camera2009-08-252-16/+32
| | | | | | compiled size. Fixed Programmer's Notepad project file to reflect new location of AVRISP project.
* Updated Benito project -- added hardware interrupt and software buffering ↵Dean Camera2009-08-251-0/+3
| | | | | | | | for serial data reception to prevent missed characters, condensed pulse generation counters into a struct for clarity. Added check to CDC_Device_BytesReceived() to ensure 0 is returned when device is not enumerated to a host. Move AVRISP project's V2Protocol_DelayMS() function to be static inline, as it is now very minimal. Added extra project doxygen documentation.
* Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP ↵Dean Camera2009-08-203-22/+22
| | | | | | project. Fix up references to functions in the Endpoint/Pipe documentation.
* Fixed invalid data being returned when a GetStatus request is issued in ↵Dean Camera2009-08-181-0/+2
| | | | | | Device mode with an unhandled data recipient. Fix up Programmers Notepad Project file to show new Projects directory layout. Remove now moved AVRISP project from the Projects directory makefile.
* Added beginnings of a new AVRISP-MKII clone project.Dean Camera2009-08-173-3/+11
| | | | | | Added new Endpoint_SetEndpointDirection() macro to set the current endpoint direction for bidirectional endpoints. Renamed internal USB_INT_ENDPOINT_SETUP macro to USB_INT_RXSTPI to fit in with the rest of the interrupt vector macros.
* Added return values to the CDC and MIDI class driver transmit functions.Dean Camera2009-08-164-20/+43
|
* Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new ↵Dean Camera2009-08-164-1/+38
| | | | USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode.
* Added CDC_Device_Flush() command to the CDC Device mode class driver.Dean Camera2009-08-137-22/+186
| | | | | | Minor updates to the unfinished SideShow demo for clarity. Added unfinished MassStorageHost class driver demo.
* Added flag to the HID report parser to indicate if a device has multiple ↵Dean Camera2009-08-113-23/+25
| | | | | | | | | | reports. SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested HID interface within the device, not all HID interfaces. Apply correct fix to the HID report parser for PUSH items - current HID item attribute stack was being copied in the wrong direction. Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered.
* Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event.Dean Camera2009-08-112-1/+11
| | | | Minor documentation fixes.
* Document CDC Host class driver functions and enums.Dean Camera2009-08-112-1/+61
|
* Add new functions to the HID host class driver, refine HID interface ↵Dean Camera2009-08-114-18/+51
| | | | | | protocol matching. Remove stray state variable from the CDC host class driver.
* Fixed swapped paremeters in the HID state memory copy call while processing ↵Dean Camera2009-08-114-47/+48
| | | | | | | | | | 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.
* Completion of initial CDC host mode class driver.Dean Camera2009-08-113-9/+34
| | | | Adjustments to the CDC and MIDI device class drivers to use sizeof() on the actual variable being transmitted or received rather than its datatype to reduce possible mistakes.
* Fix issue in CDC device class driver where received data the size of the ↵Dean Camera2009-08-115-2/+135
| | | | | | | | 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.
* Cleanups to RNDIS device demos. Fix issue in RNDIS demos where the memory ↵Dean Camera2009-08-071-11/+2
| | | | | | | | would become corrupted due to an incorrect bounds check when iterating over the port state table, causing random resets. Revert change to Template_Endpoint_Control_R.c, which broke control stream reads. Remove uneeded ADC.h include in the class driver AudioOutput demo.
* Make Benito ping-pong LED code more explicit, using masks of the TX and RX ↵Dean Camera2009-08-072-7/+10
| | | | | | LED masks for ping-pong toggle rather than the ambiguous LED "Busy" mask. Fix incorrect event name in MassStorageHost.c.
* Make Endpoint control transfers more reliable; early-abort when an ↵Dean Camera2009-08-061-2/+11
| | | | | | incomplete packet is sent from the host (indicating end of transfer), add check for control reads to ensure that no more than wLength bytes are read from the interface. Condense sequential printf_P/puts_P calls to single printf_P calls for size and clarity.
* Make Control Endpoint stream transfers more reliable by adding in early ↵Dean Camera2009-08-053-31/+26
| | | | | | | | aborts for unexpected new SETUP tokens, or unexpected status stage during control stream writes. Fix corruption in Device RNDIS demos TCP stack when too many connections attempted simultaneously, freezing the device when a page was re-fetched before the first connection was closed. Fix incorrect model compatibility information in the Host LowLevel demo overview text files.
* Changed over manual loops waiting for endpoints to be ready to use the ↵Dean Camera2009-08-052-14/+4
| | | | library Endpoint_WaitUntilReady() function for robustness. Fixes issues with terminated transfers on the host locking up USB devices.
* Commit for 090810rc1 release.Dean Camera2009-08-057-2/+22
|
* Fix incorrect Event call name in USBInterrupt.c.Dean Camera2009-08-051-1/+1
|
* Renamed all library events to properly seperate out Device and Host mode ↵Dean Camera2009-08-0523-235/+156
| | | | | | | | 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.
* Fix issue with CDC device demos causing broken communications when the ↵Dean Camera2009-08-041-3/+3
| | | | device tries to send data before the host has set the line encoding.
* Cleanup and optimization of the internal serial retrieval routines.Dean Camera2009-08-032-16/+11
| | | | Renamed ATTR_NOINLINE to ATTR_NO_INLINE to fit with the rest of the library function attribute names.
* Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the ↵Dean Camera2009-08-023-4/+4
| | | | existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option.
* Removed interrupt disable/enable from the Device mode control request ↵Dean Camera2009-08-023-8/+2
| | | | | | processing routines, as they can cause problems with user code and can cause infinite spinlocks under some circumstances. Added new LUFA logo from EDIGMA.COM.
* Fix demos based on the device mode HID class driver, as well as the driver ↵Dean Camera2009-07-312-25/+25
| | | | itself. Changed HID device class driver to require the user to give a buffer and size to hold the previously generated report, for comparison purposes, and altered the prototype of the CALLBACK_HID_Device_CreateHIDReport() function so that reports can be sent to the host even if there are no apparent changes (useful for relative movements in mice, etc.).
* Renamed USB_Device_SetHighSpeed() to USB_Device_SetFullSpeed() so that the ↵Dean Camera2009-07-313-4/+9
| | | | | | correct terminology is used (thanks to Brian Dickman). Fix USB_PLL_Off() call in the series 4, 6 and 7 microcontroller disconnect interrupt handler code, which wasn't guarded by a test of USB_Options to check if the user has specified manual PLL control (thanks to Brian Dickman).
* Add new HID_Device_MillisecondElapsed() function to the HID device Class ↵Dean Camera2009-07-302-0/+13
| | | | driver, to move the burden of managing the Idle period of each instance to the library and not the user application.
* Ensure that the previous HID reports in the HID device class driver are kept ↵Dean Camera2009-07-302-5/+5
| | | | per-instance, rather than per-device.
* Fix to HID device mode Class driver, so that new reports are compared ↵Dean Camera2009-07-302-17/+29
| | | | against the old, and updated reports made within the idle period are sent immediately to the host.
* Fix incorrect configuration in the ClassDriver AudioOutput demo.Dean Camera2009-07-302-19/+33
| | | | | | Make all audio device Class Driver functions require a reference to the Audio class instance, so that the endpoint size can be checked (and to standardize the APIs). Make LEDs more responsive in the AudioOutput device demos.
* Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does ↵Dean Camera2009-07-302-2/+4
| | | | not support USB host mode.
* Cleanup USBMode.h to simplify preprocessor logic.Dean Camera2009-07-292-21/+16
|
* 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).
* Fixed report data alignment issues in the MouseHostWithParser demo when X ↵Dean Camera2009-07-281-0/+2
| | | | | | and Y movement data size is not a multiple of 8 bits. Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
* Better solution - change compile time token names to DEVICE_STATE_AS_GPIOR ↵Dean Camera2009-07-282-13/+19
| | | | and HOST_STATE_AS_GPIOR and allow the user to set them to the index of the GPIOR register within the device to use.
* Added HOST_STATE_AS_GPIOR1 and DEVICE_STATE_AS_GPIOR0 compile time options, ↵Dean Camera2009-07-282-34/+52
| | | | the latter of which is used in the bootloaders, to reduce code size.
* State information for class drivers is now zeroed out during enumeration ↵Dean Camera2009-07-2714-13/+23
| | | | (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved.
* Collapse configuration descriptor size retrieval and size testing into a ↵Dean Camera2009-07-271-2/+7
| | | | single if statement within the new host mode class driver demos for clarity.
* Change Host mode class driver Pipe configuration routines -- better to let ↵Dean Camera2009-07-274-42/+18
| | | | the application fetch the configuration descriptors once, and then pass them to each class driver in turn.
* Add new MouseHost Class Driver demo, unfinished, to allow for better testing ↵Dean Camera2009-07-274-19/+169
| | | | of the new prototype Host Mode Class Driver framework. Flesh out start of a HID class Host mode class driver.
* Corrected new Pipe_IsEndpointBound() function.Dean Camera2009-07-263-31/+14
| | | | Completed host CDC class driver enumeration code.
* Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions.Dean Camera2009-07-263-4/+37
|
* Ensure that the USB_DeviceState variable is properly set upon wakeup events, ↵Dean Camera2009-07-231-1/+1
| | | | | | | | to the Addressed or Configured state as needed. Add explicit support for the AT90USB646 to the Teensy bootloader now that PJRC have released the Teensy++ board. Ensure unfinished SideShow demo uses an unallocated PID value within the LUFA range.
* 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-2120-158/+278
| | | | | | | | | | | | 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.
* Add extra tests to the MassStorage device demo and class driver for ↵Dean Camera2009-07-211-0/+2
| | | | validating command blocks from the host.
* Add explicit guards to all device mode tasks to ensure the device is ↵Dean Camera2009-07-214-4/+4
| | | | connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured.