aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/HighLevel
Commit message (Collapse)AuthorAgeFilesLines
* Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() ↵Dean Camera2009-08-312-29/+46
| | | | function so that it now performs size checks and data validations internally, to simplify user code.
* Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP ↵Dean Camera2009-08-201-1/+1
| | | | | | project. Fix up references to functions in the Endpoint/Pipe documentation.
* Added beginnings of a new AVRISP-MKII clone project.Dean Camera2009-08-172-3/+3
| | | | | | 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 new EVENT_USB_Device_StartOfFrame() event, controlled by the new ↵Dean Camera2009-08-162-0/+20
| | | | USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode.
* 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.
* Changed over manual loops waiting for endpoints to be ready to use the ↵Dean Camera2009-08-051-2/+2
| | | | library Endpoint_WaitUntilReady() function for robustness. Fixes issues with terminated transfers on the host locking up USB devices.
* 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-055-164/+97
| | | | | | | | 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.
* 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.
* Renamed USB_Device_SetHighSpeed() to USB_Device_SetFullSpeed() so that the ↵Dean Camera2009-07-311-1/+4
| | | | | | 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).
* Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does ↵Dean Camera2009-07-301-1/+3
| | | | not support USB host mode.
* Cleanup USBMode.h to simplify preprocessor logic.Dean Camera2009-07-291-21/+10
|
* 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.
* 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.
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-214-71/+54
| | | | | | | | | | | | 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.
* Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.Dean Camera2009-07-161-3/+8
|
* Seperated out parts of the PrinterHost incomplete demo into a seperate Lib ↵Dean Camera2009-07-132-3/+3
| | | | | | 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-282-32/+32
| | | | | | 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).
* Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in ↵Dean Camera2009-06-211-7/+23
| | | | 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.
* Added USE_INTERNAL_SERIAL compile time option to automatically read out the ↵Dean Camera2009-06-201-1/+7
| | | | internal unique serial number as the device's serial number descriptor on supported AVR models.
* Extend USB_GetDeviceConfigDescriptor() routine to require the configuration ↵Dean Camera2009-06-192-4/+7
| | | | number within the device to fetch, to add support for multi-configuration devices.
* Added new USB_Host_ClearPipeStall() convenience function to clear a stall ↵Dean Camera2009-06-181-0/+2
| | | | | | | | | | 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().
* Changed per-device controller preprocessor checks over to per-device series ↵Dean Camera2009-06-143-16/+16
| | | | | | for better device control. Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
* Minor documentation page updates.Dean Camera2009-06-041-2/+2
| | | | | | | | 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.
* Removed new Start of Frame event from the library; performance suffered far ↵Dean Camera2009-06-022-24/+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-014-5/+28
| | | | | | | | | | 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.
* Deleted StdDescriptors.c, renamed USB_GetDescriptor() to ↵Dean Camera2009-05-225-83/+412
| | | | 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.
* Fixed incorrect PID value being used in the USBtoSerial project (thanks to ↵Dean Camera2009-05-201-3/+4
| | | | Phill).
* Fix broken doxygen reference in last commit.Dean Camera2009-05-191-4/+3
|
* USB_IsConnected is now cleared before the USB_Disconnect() event is fired in ↵Dean Camera2009-05-193-21/+24
| | | | | | response to VBUS being removed. Minor documentation improvements.
* Rewritten event system to remove all macros, to make user code clearer.Dean Camera2009-05-188-403/+92
| | | | | | | | 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.
* Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only ↵Dean Camera2009-05-171-4/+1
| | | | served to obfuscate code.
* Create a new function pointer type in StreamCallbacks.h for endpoint/pipe ↵Dean Camera2009-05-151-1/+9
| | | | stream callbacks, to make stream function prototypes clearer.
* Removed all user pipe/endpoint interrupt APIs, added internal library ↵Dean Camera2009-05-143-43/+27
| | | | 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.
* Moved USB Host state machine code out from USBTask.c and into Host.c, where ↵Dean Camera2009-05-132-170/+3
| | | | it more properly belongs.
* Fixed inability to enumerate any devices while in host mode (broken in a ↵Dean Camera2009-05-071-4/+3
| | | | previous commit).
* Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent ↵Dean Camera2009-05-045-62/+55
| | | | | | 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.
* More minor renaming of library enums and events to try to create a ↵Dean Camera2009-05-031-5/+7
| | | | consistent API.
* Fixed reversed signature byte ordering in the CDC bootloader (thanks to ↵Dean Camera2009-05-021-2/+2
| | | | Johannes Raschke).
* Documentation enhancements to improve documentation cross-references.Dean Camera2009-04-226-86/+80
|
* USB_HostRequest renamed to USB_ControlRequest, entire control request header ↵Dean Camera2009-04-224-7/+31
| | | | | | | | 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.
* Changed over all deprecated GCC structure tag initializers to the ↵Dean Camera2009-04-201-10/+10
| | | | standardized C99 format (thanks to Mike Alexander).
* Fixed incorrect HID interface class and subclass values in the Mouse and ↵Dean Camera2009-04-192-4/+3
| | | | | | | | 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.
* Removed "Host_" section of the function names in ConfigDescriptor.h, as most ↵Dean Camera2009-04-171-3/+3
| | | | | | | | 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.
* More documentation changes for better module-level documentation rather than ↵Dean Camera2009-04-176-45/+17
| | | | file-level documentation.
* Fixed GenericHIDHost demo report write routine incorrect for control type ↵Dean Camera2009-04-167-17/+71
| | | | | | | | | | | | | | | | | | 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.
* The USB_Host_SendControlRequest() function no longer automatically selects ↵Dean Camera2009-04-141-0/+6
| | | | | | 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.
* Removed all binary constants and replaced with decimal or hexadecimal ↵Dean Camera2009-04-052-13/+13
| | | | constants so that unpatched GCC compilers can still build the code without having to be itself patched and recompiled first.
* Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB ↵Dean Camera2009-04-0511-8/+363
| | | | driver directory to the HighLevel USB driver directory, where they are more suited.