aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/LowLevel
Commit message (Collapse)AuthorAgeFilesLines
* Fixed MIDI_Host_Flush() not aborting early when the specified MIDI host ↵Dean Camera2010-10-122-6/+6
| | | | | | interface was not configured. Small documentation improvements to explicitly reference tokens in Doxygen, to ensure that they are converted to cross-reference links in the output files.
* Remove USB_MODE_* macros, replace with a semantically linked USB_Modes_t enum.Dean Camera2010-10-127-75/+71
| | | | | | | | Moved the USB device selection logic for ENDPOINT_TOTAL_ENDPOINTS further up in Endpoint.h to where the endpoint bank capabilities are determined, to reduce the total number of device-specific logic. Change USB_Host_WaitMS() to test and disable the HSOFI interrupt before resuming the bus, so that it does not fire before the delay loop has run. Add missing const qualifier to the parameter of USB_Host_ClearPipeStall().
* Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to ↵Dean Camera2010-10-073-37/+53
| | | | reduce the compiled binary size.
* Cache the USB_DeviceState variable internally in the library core when ↵Dean Camera2010-10-061-3/+5
| | | | multiple checks are required in a single loop iteration, to reduce compiled code size.
* Fix device mode for the U4 parts.Dean Camera2010-10-011-1/+1
|
* Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction ↵Dean Camera2010-09-304-103/+19
| | | | | | | | | | on the configuration order instead to ensure maximum reliability. Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly. Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices. Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
* Changed default value for the reset polarity parameter in the AVRISP-MKII ↵Dean Camera2010-09-292-3/+12
| | | | | | project so that it defaults to active low drive. Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set.
* Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() ↵Dean Camera2010-09-241-1/+1
| | | | | | callback function causing broken GET REPORT requests. Minor whitespace fixes.
* Reverted modifications to USBInterrupt.h that were intefering with correct ↵Dean Camera2010-09-222-11/+7
| | | | | | | | host mode operation. Fixed SUSPI interrupt not being cleared during device mode enumeration, causing accidental mis-fires on re-enumeration. Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode.
* Oops - need to call USB_Attach() when reinitializing into USB Host mode, or ↵Dean Camera2010-09-211-1/+2
| | | | no devices will be detected.
* Fixed USB_Host_ClearPipeStall() incorrectly attempting to determine the ↵Dean Camera2010-09-212-4/+1
| | | | endpoint's direction from the currently selected pipe.
* Rename internal suspend and wake up USB interrupt macros so that they follow ↵Dean Camera2010-09-193-14/+14
| | | | the same naming scheme as the other USB ISR macros.
* Make device mode configure the control endpoint even before the bus has been ↵Dean Camera2010-09-191-12/+14
| | | | reset, so that the device will enumerate correctly on hosts that do not reset the device before initial use.
* More simplifications to USBController.c, fix errors and warnings when ↵Dean Camera2010-09-191-8/+12
| | | | compiled for the series 2 USB AVRs.
* Fix warning when not compiled for UID auto-selection mode.Dean Camera2010-09-191-0/+2
|
* Clean up USBController.c/.h to more clearly seperate out host and device ↵Dean Camera2010-09-193-135/+111
| | | | | | setup and reset paths. Make USBInterrupt.c process all pending USB host mode interrupts before resetting the bus, so that no interrupts are lost when in UID auto-selection mode.
* Ensure device address latch bit is not set at the same time as the new ↵Dean Camera2010-09-193-11/+23
| | | | | | | | address, as per datasheet. Minor documentation fixes. Fix broken USB host mode due to the USB frame counter not being updated during the early enumeration steps, causing USB_Host_DelayMS() to spinloop forever.
* Removed the EVENT_USB_InitFailure() event, as not specifying a USB mode to ↵Dean Camera2010-09-153-25/+2
| | | | USB_Init() now defaults the controller into UID selection mode.
* Fixed SET FEATURE and CLEAR FEATURE control requests directed at an ↵Dean Camera2010-09-131-3/+3
| | | | unconfigured endpoint causing request timeouts.
* Must save and restore the endpoint/pipe interrupt enable flags during ↵Dean Camera2010-09-072-0/+8
| | | | reconfiguration of all endpoints/pipes in the Endpoint_ConfigureEndpoint() and Pipe_ConfigurePipe() routines.
* Fix bug in Pipe_ConfigurePipe() breaking already configured pipes that was ↵Dean Camera2010-09-051-7/+17
| | | | accidentally clearing the pipe's IN mode.
* Added new USB_Device_GetFrameNumber() and USB_Host_GetFrameNumber() ↵Dean Camera2010-09-056-12/+70
| | | | | | | | functions to retrieve the current USB frame number. Added new USB_Host_EnableSOFEvents(), USB_Host_DisableSOFEvents() and EVENT_USB_Host_StartOfFrame() for the user application handling of USB Start of Frame events while in USB Host mode. Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible to free up the Start of Frame flag for interrupt use in the user application.
* Reduced HOST_DEVICE_SETTLE_DELAY_MS to 1000ms down from 1500ms to improve ↵Dean Camera2010-09-041-3/+4
| | | | device compatibility while in USB Host mode, as some devices will drop off the USB bus if no connection is made within a timeout period.
* Added board hardware driver support for the Olimex AVR-USB-162 development ↵Dean Camera2010-09-031-3/+3
| | | | board (thanks to Steve Fawcett).
* Better documentation for the Endpoint_ConfigureEndpoint() and ↵Dean Camera2010-08-243-29/+55
| | | | Pipe_ConfigurePipe() functions.
* Changed the signature of the CALLBACK_USB_GetDescriptor() callback function ↵Dean Camera2010-08-241-1/+1
| | | | so that the descriptor pointer is const, to remove the need for extra casting inside the callback (thanks to Jonathan Kollasch).
* Fix Doxygen typos in Device.h.Dean Camera2010-08-241-3/+3
|
* Optimise Endpoint_ConfigureEndpoint_Prv() function to produce smaller code ↵Dean Camera2010-08-221-0/+11
| | | | when CONTROL_ONLY_DEVICE compile time token is defined.
* Split out endpoint and pipe stream functions into new EndpointStream.c/.h ↵Dean Camera2010-08-229-1403/+40
| | | | and PipeStream.c/.h files.
* Added compile time error to the AVRISP-MKII project when built for the U4 ↵Dean Camera2010-08-221-0/+2
| | | | chips, as the default VTARGET detection ADC channel does not exist on these chips (thanks to Marco).
* Fixed critical pipe/endpoint memory allocation issue where the bank memory ↵Dean Camera2010-08-202-17/+75
| | | | address space could be silently overlapped in the USB controller if the endpoints or pipes were allocated in anything other than ascending order (thanks to Martin Degelsegger).
* Removed complicated logic for the Endpoint_ConfigureEndpoint() function to ↵Dean Camera2010-08-093-140/+111
| | | | | | use inlined or function called versions depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing with basic code. Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints.
* More spell checking of all source files -- correct missed errors, switch to ↵Dean Camera2010-07-301-1/+1
| | | | EN-GB spelling dictionary.
* Use static inline intermediatary functions in Endpoint.h to handle the ↵Dean Camera2010-07-271-14/+36
| | | | masking for the private endpoint configuration routine, instead of performing the masking in the Endpoint_ConfigureEndpoint() macro.
* Move over message ID specific header data to unions inside the standard TMC ↵Dean Camera2010-07-271-2/+2
| | | | header structure, so that all header data is read in one chunk in the incomplete TMC demo.
* Update size of compiled Mouse demo in documentation, fix indenting in Device.h.Dean Camera2010-07-231-1/+1
|
* Convert over internal pseudo-function macros to true inline functions for ↵Dean Camera2010-07-227-861/+1137
| | | | added type-safety and compile-checking.
* Replace internal Pipe_BytesToEPSizeMask() routine with a new version which ↵Dean Camera2010-07-211-12/+10
| | | | results in smaller code.
* Add missing const qualifiers to class drivers.Dean Camera2010-07-2113-81/+159
| | | | Indent core library function parameters so that there is only one parameter per line, to increase readability.
* Move and rename DevChaper9.c/.h and HostChapter9.c/.h to the HighLevel ↵Dean Camera2010-07-218-862/+11
| | | | | | | | directory, new named DeviceStandardReq.c/.h and HostStandardReq.c/.h. Rename LowLevel.c/.h to USBController.c/.h. Remove dependancies on the complete <avr/io.h> header in the HighLevel USB driver directory, to ensure less work is required in later (possible) ports.
* Removed the automated checking of event names in the demo, project and ↵Dean Camera2010-07-156-19/+11
| | | | | | bootloader makefiles due to inconsistancies between the behaviour of the command line tools used to perform the check on each platform. Removed the internal endpoint and pipe memory allocation macros, as this is already performed directly in the code. Simplify the endpoint and pipe reset procedure.
* Add missing eol-style properties to new source files.Dean Camera2010-07-121-52/+52
|
* Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific ↵Dean Camera2010-07-022-50/+71
| | | | | | functions that are more complicated than simple macros. Moved USB_Device_SendRemoteWakeup() to the new Device.c source file and corrected it to unfreeze and restart the USB controller clock before issuing a Remote Wakeup request. Removed the USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros, as they are now obsolete.
* Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().Dean Camera2010-06-176-109/+110
| | | | Minor tweaks to the library documentation.
* Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as ↵Dean Camera2010-06-164-5/+5
| | | | the new 1.7 Doxygen's default stylesheet is much better.
* Change over Doxygen \note documentation to \pre where applicable.Dean Camera2010-06-152-15/+13
|
* Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured ↵Dean Camera2010-06-122-5/+8
| | | | pipes, rather than performing token check first.
* More documentation fixes.Dean Camera2010-06-031-1/+1
|
* Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs ↵Dean Camera2010-05-302-3/+3
| | | | (thanks to Axel Rohde).
* Fix spacing of the function parameter descriptions in the Doxygen documentation.Dean Camera2010-05-294-32/+32
|