From b9b03aadb219d06fbad9d110e508db93e45461af Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Fri, 5 Jun 2009 07:16:33 +0000 Subject: Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory. --- Demos/Device/ClassDriver/AudioOutput/Descriptors.h | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Demos/Device/ClassDriver/AudioOutput/Descriptors.h (limited to 'Demos/Device/ClassDriver/AudioOutput/Descriptors.h') diff --git a/Demos/Device/ClassDriver/AudioOutput/Descriptors.h b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h new file mode 100644 index 0000000000..1f03f647f7 --- /dev/null +++ b/Demos/Device/ClassDriver/AudioOutput/Descriptors.h @@ -0,0 +1,86 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2009. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com +*/ + +/* + Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, and distribute this software + and its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * + * Header file for Descriptors.c. + */ + +#ifndef _DESCRIPTORS_H_ +#define _DESCRIPTORS_H_ + + /* Includes: */ + #include + #include + + #include + + /* Macros: */ + #if defined(USB_FULL_CONTROLLER) || defined(__DOXYGEN__) + /** Endpoint number of the Audio isochronous streaming data endpoint. */ + #define AUDIO_STREAM_EPNUM 1 + #else + #define AUDIO_STREAM_EPNUM 3 + #endif + + /** 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 + * USB AVR models will result in unavoidable distorted output. + */ + #define AUDIO_STREAM_EPSIZE ENDPOINT_MAX_SIZE(AUDIO_STREAM_EPNUM) + + /** Sample frequency of the data being transmitted through the streaming endpoint. */ + #define AUDIO_SAMPLE_FREQUENCY 48000 + + /* Type Defines: */ + /** Type define for the device configuration descriptor structure. This must be defined in the + * application code, as the configuration descriptor contains several sub-descriptors which + * vary between devices, and which describe the device's usage to the host. + */ + typedef struct + { + USB_Descriptor_Configuration_Header_t Config; + USB_Descriptor_Interface_t AudioControlInterface; + USB_AudioInterface_AC_t AudioControlInterface_SPC; + USB_AudioInputTerminal_t InputTerminal; + USB_AudioOutputTerminal_t OutputTerminal; + USB_Descriptor_Interface_t AudioStreamInterface_Alt0; + USB_Descriptor_Interface_t AudioStreamInterface_Alt1; + USB_AudioInterface_AS_t AudioStreamInterface_SPC; + USB_AudioFormat_t AudioFormat; + USB_AudioStreamEndpoint_Std_t AudioEndpoint; + USB_AudioStreamEndpoint_Spc_t AudioEndpoint_SPC; + } USB_Descriptor_Configuration_t; + + /* Function Prototypes: */ + uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress) + ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3); + +#endif -- cgit v1.2.3