aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-10-14 09:42:11 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-10-14 09:42:11 +0000
commite53c120a2240549d42d98be92f25d6e92caeab0a (patch)
tree48179a33fee423b2ece3e757f041178940d340cd /LUFA
parentdc68de15b69c2064b1b14d00659aa91054cccbe1 (diff)
downloadlufa-e53c120a2240549d42d98be92f25d6e92caeab0a.tar.gz
lufa-e53c120a2240549d42d98be92f25d6e92caeab0a.tar.bz2
lufa-e53c120a2240549d42d98be92f25d6e92caeab0a.zip
Fix AudioOutput and AudioInput class driver demos' descriptors -- incorrect value was being supplied in the audio descritors field giving the number of discrete audio formats the device supports.
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Drivers/USB/HighLevel/Events.h29
-rw-r--r--LUFA/ManPages/FutureChanges.txt2
2 files changed, 24 insertions, 7 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h
index 5a007ff2a..1e03e7b48 100644
--- a/LUFA/Drivers/USB/HighLevel/Events.h
+++ b/LUFA/Drivers/USB/HighLevel/Events.h
@@ -40,7 +40,8 @@
* listed here. If an event with no user-associated handler is fired within the library, it by default maps to an
* internal empty stub function.
*
- * Each event must only have one associated event handler, but can be raised by multiple sources.
+ * Each event must only have one associated event handler, but can be raised by multiple sources by calling the event
+ * name just like any regular C function (with any required event parameters).
*
* @{
*/
@@ -142,12 +143,19 @@
/** Event for USB device enumeration completion. This event fires when a the USB interface is
* in host mode and an attached USB device has been completely enumerated and is ready to be
* controlled by the user application.
+ *
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * 1 second) when a transaction is waiting to be processed by the device will prevent break communications
+ * and cause the host to reset the USB bus.
*/
void EVENT_USB_Host_DeviceEnumerationComplete(void);
/** Event for USB device connection. This event fires when the AVR in device mode and the device is connected
* to a host, beginning the enumeration process, measured by a rising level on the AVR's VBUS pin.
*
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * two seconds) will prevent the device from enumerating correctly.
+ *
* \note For the smaller series 2 USB AVRs with limited USB controllers, VBUS is not available to the USB controller.
* this means that the current connection state is derived from the bus suspension and wake up events by default,
* which is not always accurate (host may suspend the bus while still connected). If the actual connection state
@@ -182,8 +190,10 @@
/** Event for unhandled control requests. This event fires when a the USB host issues a control
* request to the control endpoint (address 0) that the library does not handle. This may either
* be a standard request that the library has no handler code for, or a class specific request
- * issued to the device which must be handled appropriately. Due to the strict timing requirements
- * on control transfers, interrupts are disabled during control request processing.
+ * issued to the device which must be handled appropriately.
+ *
+ * This event is time-critical; eack packet within the request transaction must be acknowedged or
+ * sent within 50ms or the host will abort the transfer.
*
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation).
@@ -199,6 +209,9 @@
* selected configuration number while in device mode. This event should be hooked in device
* applications to create the endpoints and configure the device for the selected configuration.
*
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * one second) will prevent the device from enumerating correctly.
+ *
* This event fires after the value of \ref USB_ConfigurationNumber has been changed.
*
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
@@ -236,6 +249,9 @@
* a the USB host requests that the device reset its interface. This event fires after the control
* endpoint has been automatically configured by the library.
*
+ * This event is time-critical; exceeding OS-specific delays within this event handler (typically of around
+ * two seconds) will prevent the device from enumerating correctly.
+ *
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation).
*/
@@ -245,8 +261,11 @@
* frame, once per millisecond, and is synchronised to the USB bus. This can be used as an accurate
* millisecond timer source when the USB bus is enumerated in device mode to a USB host.
*
- * This event is not normally active - it must be manually enabled and disabled via the
- * \ref USB_Device_EnableSOFEvents() and \ref USB_Device_DisableSOFEvents() commands after enumeration.
+ * This event is time-critical; it is run once per millisecond and thus long handlers will significantly
+ * degrade device performance. This event should only be enabled when needed to reduce device wakeups.
+ *
+ * \note This event is not normally active - it must be manually enabled and disabled via the
+ * \ref USB_Device_EnableSOFEvents() and \ref USB_Device_DisableSOFEvents() commands after enumeration.
*
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation).
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index b9ea7b665..7ea7489fe 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -23,11 +23,9 @@
* - Change makefiles to allow for absolute LUFA location to be used
* - Abstract out the physical media from the Mass Storage device demos
* - Add RNDIS Host Class driver
- * - Make CDC Host Class driver work for devices with bidirectional endpoints
* - Make new demos
* -# Multiple-report HID device
* -# Mouse/CDC Dual Class Device
- * -# MIDI Host class driver and demo
* - Port LUFA to other architectures
* -# AVR32 UC3B series microcontrollers
* -# Atmel ARM7 series microcontrollers