aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Host/CDC.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be ↵Dean Camera2010-12-021-10/+38
| | | | | | more space efficient when compiled. Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
* Fix XPLAINBridge code broken during the changes to the Rescue Clock ↵Dean Camera2010-11-021-18/+21
| | | | | | generation in the AVRISP-MKII clone project. Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
* Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org ↵Dean Camera2010-10-281-1/+1
| | | | redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists.
* Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic ↵Dean Camera2010-10-271-0/+2
| | | | | | flushing of interfaces when the USB management tasks for each driver is called. The MIDI class drivers now automatically flushes the MIDI interface when the MIDI class driver's USBTask() function is called.
* Add descriptor class, subclass and protocol constants to the class drivers, ↵Dean Camera2010-10-251-6/+6
| | | | | | | | modify all demos to use them where possible. Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos. Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
* All USB class drivers are now automatically included when LUFA/Drivers/USB.h ↵Dean Camera2010-10-241-1/+1
| | | | | | is included, and no longer need to be seperately included. All LowLevel demos changed to use the constants and types defined in the USB class drivers.
* Clean up excessive whitespace at the end of each line using the wspurify ↵Dean Camera2010-10-131-39/+40
| | | | tool made by Laszlo Monda
* Whitespace corrections.Dean Camera2010-10-011-5/+5
| | | | Make Printer Host mode Class driver interface descriptor search routine pre-cast the current interface descriptor to simplify the value checks.
* Make Host mode Class drivers only set the class driver instance's state ↵Dean Camera2010-09-301-15/+8
| | | | values once a compatible interface has been found within the device.
* Fix low level host mode demos not correctly fetching the next endpoint when ↵Dean Camera2010-09-301-56/+58
| | | | | | an invalid interface is discarded. Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
* Move out many of the common class driver constants into grouped enums, to ↵Dean Camera2010-09-281-4/+4
| | | | | | | | make them more managable. Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names. Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
* Fix XPLAINBridge project discarding characters from the USB interface due to ↵Dean Camera2010-08-011-15/+13
| | | | | | | | | | | | | | 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.
* Altered the CDC Deivice and Host Class drivers' receive byte routines, so ↵Dean Camera2010-07-301-13/+25
| | | | | | 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.
* Add missing const qualifiers to class drivers.Dean Camera2010-07-211-7/+15
| | | | Indent core library function parameters so that there is only one parameter per line, to increase readability.
* Added const attributes to some of the class driver function parameters that ↵Dean Camera2010-07-131-2/+2
| | | | were missing it.
* Add new ReportType parameter to the HID class driver device callback and ↵Dean Camera2010-05-091-8/+8
| | | | | | host report sending routines. Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
* Add svn:eol-style property to source files, so that the line endings are ↵Dean Camera2010-05-081-446/+446
| | | | correctly converted to the target system's native end of line style.
* Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() ↵Dean Camera2010-05-061-2/+16
| | | | function to the Device and Host CDC Class drivers.
* Ensure that the CDC class drivers return 0 if the number of unread bytes is ↵Dean Camera2010-05-061-6/+10
| | | | queried and the bank has become empty.
* Add more include protection macros to give the user warnings when they try ↵Dean Camera2010-02-111-1/+3
| | | | to manually include private driver header files, instead of the public driver headers.
* Fixed Pipe_IsEndpointBound() function not taking the endpoint's direction ↵Dean Camera2010-02-011-1/+2
| | | | | | into account. Re-added Pipe_IsEndpointBound() calls to the CDC and RNDIS host class drivers, not that the function has the correct behaviour for devices with bidirectional endpoints.
* Be doubly-certain that the incomming CDC class driver's endpoint/pipe is ↵Dean Camera2010-01-281-7/+16
| | | | flushed only once when the bank is empty.
* Fixed CDC and RNDIS host demos and class drivers - bidirectional endpoints ↵Dean Camera2010-01-251-55/+8
| | | | should use two seperate pipes, not one half-duplex pipe.
* Fix CDC blocking streams in Host mode locking up when the device is removed.Dean Camera2010-01-041-0/+3
|
* Update copyright year to 2010.Dean Camera2009-12-301-2/+2
|
* Fix MIT license language to make its intent clearer.Dean Camera2009-12-281-7/+7
|
* Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent ↵Dean Camera2009-11-301-0/+42
| | | | data to the attached device.
* Complete RNDIS Host Class driver code - add SendPacket function.Dean Camera2009-11-261-2/+2
| | | | Correct CDC Host Class driver token handling for sending data on bidirectional data endpoints.
* Added new RNDIS Host class driver and the beginnings of a RNDISEthernetHost ↵Dean Camera2009-11-261-4/+4
| | | | | | | | Class Driver demo. Fixed all Class drivers to ensure they have appropriate guards on each function to ensure the device is enumerated before running, fixed error codes on all guards to return "DeviceDisconnected" where possble. Renamed HOST_SENDCONTROL_DeviceDisconnect enum value to HOST_SENDCONTROL_DeviceDisconnected to be in line with the rest of the library enum error codes.
* Fix typo in the StillImageHost LowLevel demo, and the CDC Host Class Driver.Dean Camera2009-11-251-2/+2
|
* Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() ↵Dean Camera2009-11-251-13/+53
| | | | macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
* The incomplete StandaloneProgrammer project now uses Host and Device Mass ↵Dean Camera2009-11-231-0/+6
| | | | | | | | | | | | storage classes, so that program data can either be loaded onto the device's Dataflash storage, or read off an attached USB memory stick. The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR). The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class driver common defines, rather than being defined in the Host mode Class driver section only. The USB_MODE_HOST token is now defined even when host mode is not available. Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver.
* Add blocking versions of the CDC Class driver streams, for applications ↵Dean Camera2009-11-121-0/+11
| | | | requiring blocking reads.
* Update CDC Class Driver character stream functions to use the correct ↵Dean Camera2009-11-101-3/+2
| | | | | | avr-libc return codes for errors and EOF. Fix pointer arithmetic on void byte buffers by explicitly typecasting the buffer pointers to uint8_t* before altering them.
* Added new stream creation function to the CDC Class drivers, to easily make ↵Dean Camera2009-11-101-0/+20
| | | | standard streams from CDC Class driver instances.
* Add optional pipe double banking support to the Host mode Class drivers.Dean Camera2009-11-071-1/+1
| | | | Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
* Add double banking property to LUFA powered projects in the Projects ↵Dean Camera2009-11-061-3/+6
| | | | directory. Add guards to macro parameters to ensure that formulas passed as parameters don't mess up the internal macro structure.
* Add const attribute to class driver APIs.Dean Camera2009-11-031-3/+3
| | | | Add new manual pages detailing the advantages of LUFA over the official Atmel USB AVR stack, and reasons why LUFA should be used over a built-from-scratch USB stack.
* Removed mostly useless "TestApp" demo, as it was mainly useful only for ↵Dean Camera2009-09-301-0/+2
| | | | | | | | checking for sytax errors in the library. MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs. Added beginnings of a MIDI class bootloader.
* Add const qualifiers to Host mode Class drivers.Dean Camera2009-09-211-8/+8
| | | | Fix KeyboardHost ClassDriver demo; boot protocol keyboard report structure in the Host Mode HID Class driver uses the full keycode array from the attached device.
* Fixed MIDI Device Class driver not sending/receiving MIDI packets of the ↵Dean Camera2009-09-141-1/+1
| | | | correct size (thanks to Thomas Bleeker).
* Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out ↵Dean Camera2009-09-091-8/+3
| | | | | | standard descriptors into seperate USB_Descriptor_* and USB_StdDescriptor_* structures so that both can be used within the one project. Add guard to the HID Host Class driver SetProtocol command, to ensure that the device supports boot protocol mode before issuing the request.
* Add StillImage Host Class Driver functions for opening and closing sessions. ↵Dean Camera2009-09-021-9/+11
| | | | | | Ensure IsActive is set on the interface to allow device functions to run. Fix spelling of "Received" in all source files where it is misspelt "Recieved".
* Add return codes to the CDC Host Class driver String/Byte transmission ↵Dean Camera2009-08-311-4/+12
| | | | functions.
* Added start of the Still Image Host Class driver demo and driver code.Dean Camera2009-08-301-6/+6
| | | | Re-enabled building of the Host mode demos ClassDriver directory.
* Add new functions to the HID host class driver, refine HID interface ↵Dean Camera2009-08-111-2/+2
| | | | | | protocol matching. Remove stray state variable from the CDC host class driver.
* Completion of initial CDC host mode class driver.Dean Camera2009-08-111-5/+28
| | | | 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-111-0/+113
| | | | | | | | 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.
* Commit for 090810rc1 release.Dean Camera2009-08-051-0/+2
|
* State information for class drivers is now zeroed out during enumeration ↵Dean Camera2009-07-271-0/+2
| | | | (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.