aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-194-13/+25
| | | | | | | | 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-154-35/+2
| | | | USB_Init() now defaults the controller into UID selection mode.
* Fix incorrect documentation on the Get Descriptor standard request.Dean Camera2010-09-151-4/+6
|
* Fixed SET FEATURE and CLEAR FEATURE control requests directed at an ↵Dean Camera2010-09-133-16/+16
| | | | unconfigured endpoint causing request timeouts.
* Minor documentation phrasing changes.Dean Camera2010-09-121-5/+5
|
* Added PRNT_Host_SendByte() and PRNT_Host_Flush() functions to the Host mode ↵Dean Camera2010-09-112-13/+95
| | | | | | Printer Class driver. Modified PRNT_Host_USBTask() to flush the output pipe on each call.
* Whitespace corrections.Dean Camera2010-09-094-41/+41
|
* Added class specific descriptor type defines with standard USB-IF element ↵Dean Camera2010-09-096-101/+460
| | | | naming.
* Added new PRNT_Host_BytesReceived() and PRNT_Host_ReceiveByte() functions to ↵Dean Camera2010-09-072-13/+91
| | | | the Print Host Class driver.
* 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-059-26/+104
| | | | | | | | 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).
* Clarify in the project documentation files what the each of the different ↵Dean Camera2010-08-311-4/+4
| | | | USB AVR device "series" comprises of.
* Better documentation for the Endpoint_ConfigureEndpoint() and ↵Dean Camera2010-08-243-29/+55
| | | | Pipe_ConfigurePipe() functions.
* Fixed LowLevel PrinterHost demo not sending control requests to the attached ↵Dean Camera2010-08-241-4/+4
| | | | printer with the correct printer interface wIndex value.
* Changed the signature of the CALLBACK_USB_GetDescriptor() callback function ↵Dean Camera2010-08-242-3/+3
| | | | 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-2214-1143/+1294
| | | | and PipeStream.c/.h files.
* Changed all Device mode LowLevel demos and Device Class drivers so that the ↵Dean Camera2010-08-225-31/+16
| | | | control request is acknowledged and any data transferred as quickly as possible without any processing inbetween sections, so that long callbacks or event handlers will not break communications with the host by exceeding the maximum control request stage timeout period.
* Moved calls to Device mode Class Driver events to after the request has been ↵Dean Camera2010-08-222-8/+11
| | | | | | acknowledged, so that long event handlers do do skew the timing of the control requests. Fixed USBtoSerial and Benito project SetLineEncoding calls failing if the USART is busy, due to the RX ISR delaying the control request handler.
* 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).
* Clarify in the documentation that the Audio demos and driver is for the ↵Dean Camera2010-08-213-7/+7
| | | | Audio 1.0 specification, not the newer (and more advanced/less supported) 2.0 specification.
* 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).
* Added new SCSI_ASENSE_NOT_READY_TO_READY_CHANGE constant to the Mass Storage ↵Dean Camera2010-08-201-0/+5
| | | | class driver, to indicate when a previously not ready removable medium has now become ready for the host's use (thanks to Martin Degelsegger)
* Fixed USB_GetHIDReportItemInfo() function modifying the given report item's ↵Dean Camera2010-08-102-6/+8
| | | | data when the report item does not exist within the supplied report of a multiple report HID device.
* 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.
* Fix XPLAINBridge project discarding characters from the USB interface due to ↵Dean Camera2010-08-015-32/+27
| | | | | | | | | | | | | | a double read from the endpoint. Make XPLAINBridge and USBtoSerial projects more reliable by forcing a flush if the UART-to-USB buffer becomes nearly full. Reduce locking in the LightweightRingBuffer.h header files by only locking on the update of the buffer count, and require insertions and removals from each buffer to occur in only one execution thread. Fix CDC_*_ReceiveByte() returning 0 when the interface is not configured, instead of the new -1 error value. Fix CDC_Host_ReceiveByte() not re-freezing the pipe if no packet has been received. Remove redundant Pipe token set commands in the CDC and RNDIS host class drivers.
* Oops - fix mixed "initialize" and "initialise" - opt for American spelling ↵Dean Camera2010-07-301-1/+1
| | | | due to its wide use in technical standards.
* More spell checking of all source files -- correct missed errors, switch to ↵Dean Camera2010-07-307-8/+8
| | | | EN-GB spelling dictionary.
* Altered the CDC Deivice and Host Class drivers' receive byte routines, so ↵Dean Camera2010-07-304-37/+60
| | | | | | that no data is indicated by a negative return value. Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer.
* Spell check all source files once again to find any typos.Dean Camera2010-07-292-7/+7
|
* 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.
* Rename reserved members of all structs so that they are uniformly named ↵Dean Camera2010-07-262-7/+7
| | | | | | across all demos/projects/bootloaders. Added start of the Incomplete TMC demo's command parser code.
* 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-2140-245/+467
| | | | 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-2115-46/+58
| | | | | | | | 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.
* Add missing const qualifier to the parameters of the ↵Dean Camera2010-07-213-208/+198
| | | | | | USB_GetNextDescriptorComp() function. Reduce spacing of the structure elements in StdDescriptors.h to make the code more readable.
* Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint ↵Dean Camera2010-07-201-1/+1
| | | | to become ready (thanks to Robin Green).
* Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.Dean Camera2010-07-1923-40/+40
| | | | Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
* 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.