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.

pull/1469/head
Dean Camera 15 years ago
parent dc68de15b6
commit e53c120a22

@ -43,7 +43,6 @@
#include <LUFA/Version.h> #include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Peripheral/ADC.h> #include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Drivers/USB/Class/Audio.h> #include <LUFA/Drivers/USB/Class/Audio.h>

@ -199,7 +199,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.SubFrameSize = 0x02, .SubFrameSize = 0x02,
.BitResolution = 16, .BitResolution = 16,
.SampleFrequencyType = (AUDIO_TOTAL_SAMPLE_RATES * sizeof(USB_Audio_SampleFreq_t)), .SampleFrequencyType = AUDIO_TOTAL_SAMPLE_RATES,
.SampleFrequencies = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)} .SampleFrequencies = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
}, },

@ -46,7 +46,6 @@
#include <LUFA/Version.h> #include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Drivers/USB/Class/Audio.h> #include <LUFA/Drivers/USB/Class/Audio.h>

@ -200,7 +200,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.SubFrameSize = 0x02, .SubFrameSize = 0x02,
.BitResolution = 16, .BitResolution = 16,
.SampleFrequencyType = (AUDIO_TOTAL_SAMPLE_RATES * sizeof(USB_Audio_SampleFreq_t)), .SampleFrequencyType = AUDIO_TOTAL_SAMPLE_RATES,
.SampleFrequencies = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)} .SampleFrequencies = {AUDIO_SAMPLE_FREQ(AUDIO_SAMPLE_FREQUENCY)}
}, },

@ -138,7 +138,7 @@
#define EP_ACCEPTS_SMALL_PACKETS (0 << 7) #define EP_ACCEPTS_SMALL_PACKETS (0 << 7)
/** Endpoint number of the Audio isochronous streaming data endpoint. */ /** Endpoint number of the Audio isochronous streaming data endpoint. */
#define AUDIO_STREAM_EPNUM 1 #define AUDIO_STREAM_EPNUM 1
/** Endpoint size in bytes of the Audio isochronous streaming data endpoint. The Windows audio stack requires /** Endpoint size in bytes of the Audio isochronous streaming data endpoint. The Windows audio stack requires
* at least 192 bytes for correct output, thus the smaller 128 byte maximum endpoint size on some of the smaller * at least 192 bytes for correct output, thus the smaller 128 byte maximum endpoint size on some of the smaller

@ -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 * 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. * 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 /** 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 * in host mode and an attached USB device has been completely enumerated and is ready to be
* controlled by the user application. * 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); 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 /** 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. * 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. * \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, * 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 * 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 /** 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 * 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 * 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 * issued to the device which must be handled appropriately.
* on control transfers, interrupts are disabled during control request processing. *
* 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 * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation). * \ref Group_USBManagement documentation).
@ -199,6 +209,9 @@
* selected configuration number while in device mode. This event should be hooked in device * 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. * 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. * 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 * \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 * 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. * 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 * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation). * \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 * 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. * 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 * This event is time-critical; it is run once per millisecond and thus long handlers will significantly
* \ref USB_Device_EnableSOFEvents() and \ref USB_Device_DisableSOFEvents() commands after enumeration. * 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 * \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
* \ref Group_USBManagement documentation). * \ref Group_USBManagement documentation).

@ -23,11 +23,9 @@
* - Change makefiles to allow for absolute LUFA location to be used * - Change makefiles to allow for absolute LUFA location to be used
* - Abstract out the physical media from the Mass Storage device demos * - Abstract out the physical media from the Mass Storage device demos
* - Add RNDIS Host Class driver * - Add RNDIS Host Class driver
* - Make CDC Host Class driver work for devices with bidirectional endpoints
* - Make new demos * - Make new demos
* -# Multiple-report HID device * -# Multiple-report HID device
* -# Mouse/CDC Dual Class Device * -# Mouse/CDC Dual Class Device
* -# MIDI Host class driver and demo
* - Port LUFA to other architectures * - Port LUFA to other architectures
* -# AVR32 UC3B series microcontrollers * -# AVR32 UC3B series microcontrollers
* -# Atmel ARM7 series microcontrollers * -# Atmel ARM7 series microcontrollers

Loading…
Cancel
Save