aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Device/CDC.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be ↵Dean Camera2010-12-021-1/+1
| | | | | | more space efficient when compiled. Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
* 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.
* 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-27/+28
| | | | tool made by Laszlo Monda
* Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction ↵Dean Camera2010-09-301-18/+37
| | | | | | | | | | 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.
* Move out many of the common class driver constants into grouped enums, to ↵Dean Camera2010-09-281-5/+5
| | | | | | | | 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.
* Changed all Device mode LowLevel demos and Device Class drivers so that the ↵Dean Camera2010-08-221-4/+2
| | | | 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-221-7/+9
| | | | | | 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.
* Fix XPLAINBridge project discarding characters from the USB interface due to ↵Dean Camera2010-08-011-10/+11
| | | | | | | | | | | | | | 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-14/+18
| | | | | | 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-9/+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.
* Slight improvements to the reliability of the software UART in the ↵Dean Camera2010-06-121-1/+1
| | | | XPLAINBridge project.
* Add svn:eol-style property to source files, so that the line endings are ↵Dean Camera2010-05-081-299/+299
| | | | correctly converted to the target system's native end of line style.
* Device mode class driver callbacks are now fired before the control request ↵Dean Camera2010-05-071-3/+1
| | | | | | status stage is sent to prevent the host from timing out if another request is immediately fired and the device has a lengthy callback routine. Inlined currently unused MIDI ProcessControlRequest routine.
* Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() ↵Dean Camera2010-05-061-0/+11
| | | | 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-3/+8
| | | | 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.
* Be doubly-certain that the incomming CDC class driver's endpoint/pipe is ↵Dean Camera2010-01-281-3/+10
| | | | flushed only once when the bank is empty.
* Fixed blocking CDC streams not aborting when the host is disconnected.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 new RNDIS Host class driver and the beginnings of a RNDISEthernetHost ↵Dean Camera2009-11-261-3/+3
| | | | | | | | 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.
* Add blocking versions of the CDC Class driver streams, for applications ↵Dean Camera2009-11-121-0/+17
| | | | 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 double-banking support to the Device mode Class Drivers, on a ↵Dean Camera2009-11-061-3/+3
| | | | per-endpoint, per-interface level.
* Fixed MIDI Device Class driver not sending/receiving MIDI packets of the ↵Dean Camera2009-09-141-1/+1
| | | | correct size (thanks to Thomas Bleeker).
* Prevent the CDC Device Class driver from sending empty IN packets on every ↵Dean Camera2009-09-101-10/+16
| | | | service task call - only send termination packets when data is in the endpoint.
* Add extra check for OUT ZLP in the CDC Device Class driver service task to ↵Dean Camera2009-08-311-0/+5
| | | | quickly clear zero-length termination packets from the host.
* 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.
* Added return values to the CDC and MIDI class driver transmit functions.Dean Camera2009-08-161-13/+22
|
* Added CDC_Device_Flush() command to the CDC Device mode class driver.Dean Camera2009-08-131-13/+19
| | | | | | Minor updates to the unfinished SideShow demo for clarity. Added unfinished MassStorageHost class driver demo.
* Completion of initial CDC host mode class driver.Dean Camera2009-08-111-2/+4
| | | | 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/+3
| | | | | | | | 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.
* Changed over manual loops waiting for endpoints to be ready to use the ↵Dean Camera2009-08-051-12/+2
| | | | library Endpoint_WaitUntilReady() function for robustness. Fixes issues with terminated transfers on the host locking up USB devices.
* Renamed all library events to properly seperate out Device and Host mode ↵Dean Camera2009-08-051-1/+1
| | | | | | | | 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.
* 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.
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-211-9/+18
| | | | | | | | | | | | 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 explicit guards to all device mode tasks to ensure the device is ↵Dean Camera2009-07-211-1/+1
| | | | 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.
* Added const modifiers to device mode class drivers.Dean Camera2009-06-281-4/+4
| | | | | | 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 USE_INTERNAL_SERIAL compile time option to automatically read out the ↵Dean Camera2009-06-201-3/+3
| | | | internal unique serial number as the device's serial number descriptor on supported AVR models.
* Break device mode class driver interfaces into seperate config and state ↵Dean Camera2009-06-181-24/+24
| | | | structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces.
* Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.Dean Camera2009-06-141-1/+6
| | | | | | Split out common defines/types from class drivers into a seperate common class driver directory. Make central USB Class driver dispatch headers, used for both device and host modes.
* Changed to new device mode Class Driver function name prefixes to make way ↵Dean Camera2009-06-111-11/+11
| | | | for similar host mode Class drivers.
* Finished CDC device class driver documentation.Dean Camera2009-06-081-0/+9
|
* Added multiple Report ID support to the HID class driver. Removed OUT ↵Dean Camera2009-06-051-1/+1
| | | | endpoint support from HID driver (all OUT reports are now processed through control requests) as a seperate endpoint had issues with determining the exact output report length.
* Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC ↵Dean Camera2009-06-041-1/+1
| | | | | | | | interface structure as a parameter. Converted TestApp demo over to the new demo structure. More class driver documentation improvements.