LUFA Library  120219
AudioClassCommon.h File Reference

Common definitions and declarations for the library USB Audio 1.0 Class driver. More...

Data Structures

struct  USB_Audio_Descriptor_InputTerminal_t
 Audio class-specific Input Terminal Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_InputTerminal_t
 Audio class-specific Input Terminal Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_OutputTerminal_t
 Audio class-specific Output Terminal Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_OutputTerminal_t
 Audio class-specific Output Terminal Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_Interface_AC_t
 Audio class-specific Interface Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_Interface_AC_t
 Audio class-specific Interface Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_FeatureUnit_t
 Audio class-specific Feature Unit Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_FeatureUnit_t
 Audio class-specific Feature Unit Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_Interface_AS_t
 Audio class-specific Streaming Audio Interface Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_Interface_AS_t
 Audio class-specific Streaming Audio Interface Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_Format_t
 Audio class-specific Format Descriptor (LUFA naming conventions). More...
struct  USB_Audio_SampleFreq_t
 24-Bit Audio Frequency Structure. More...
struct  USB_Audio_StdDescriptor_Format_t
 Audio class-specific Format Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_StreamEndpoint_Std_t
 Audio class-specific Streaming Endpoint Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_StreamEndpoint_Std_t
 Audio class-specific Streaming Endpoint Descriptor (USB-IF naming conventions). More...
struct  USB_Audio_Descriptor_StreamEndpoint_Spc_t
 Audio class-specific Extended Endpoint Descriptor (LUFA naming conventions). More...
struct  USB_Audio_StdDescriptor_StreamEndpoint_Spc_t
 Audio class-specific Extended Endpoint Descriptor (USB-IF naming conventions). More...

Defines

#define AUDIO_SAMPLE_FREQ(freq)   {.Byte1 = ((uint32_t)freq & 0xFF), .Byte2 = (((uint32_t)freq >> 8) & 0xFF), .Byte3 = (((uint32_t)freq >> 16) & 0xFF)}
#define AUDIO_EP_FULL_PACKETS_ONLY   (1 << 7)
#define AUDIO_EP_ACCEPTS_SMALL_PACKETS   (0 << 7)
#define AUDIO_EP_SAMPLE_FREQ_CONTROL   (1 << 0)
#define AUDIO_EP_PITCH_CONTROL   (1 << 1)
Audio Channel Masks
#define AUDIO_CHANNEL_LEFT_FRONT   (1 << 0)
#define AUDIO_CHANNEL_RIGHT_FRONT   (1 << 1)
#define AUDIO_CHANNEL_CENTER_FRONT   (1 << 2)
#define AUDIO_CHANNEL_LOW_FREQ_ENHANCE   (1 << 3)
#define AUDIO_CHANNEL_LEFT_SURROUND   (1 << 4)
#define AUDIO_CHANNEL_RIGHT_SURROUND   (1 << 5)
#define AUDIO_CHANNEL_LEFT_OF_CENTER   (1 << 6)
#define AUDIO_CHANNEL_RIGHT_OF_CENTER   (1 << 7)
#define AUDIO_CHANNEL_SURROUND   (1 << 8)
#define AUDIO_CHANNEL_SIDE_LEFT   (1 << 9)
#define AUDIO_CHANNEL_SIDE_RIGHT   (1 << 10)
#define AUDIO_CHANNEL_TOP   (1 << 11)
Audio Feature Masks
#define AUDIO_FEATURE_MUTE   (1 << 0)
#define AUDIO_FEATURE_VOLUME   (1 << 1)
#define AUDIO_FEATURE_BASS   (1 << 2)
#define AUDIO_FEATURE_MID   (1 << 3)
#define AUDIO_FEATURE_TREBLE   (1 << 4)
#define AUDIO_FEATURE_GRAPHIC_EQUALIZER   (1 << 5)
#define AUDIO_FEATURE_AUTOMATIC_GAIN   (1 << 6)
#define AUDIO_FEATURE_DELAY   (1 << 7)
#define AUDIO_FEATURE_BASS_BOOST   (1 << 8)
#define AUDIO_FEATURE_BASS_LOUDNESS   (1 << 9)
Audio Terminal Types
#define AUDIO_TERMINAL_UNDEFINED   0x0100
#define AUDIO_TERMINAL_STREAMING   0x0101
#define AUDIO_TERMINAL_VENDOR   0x01FF
#define AUDIO_TERMINAL_IN_UNDEFINED   0x0200
#define AUDIO_TERMINAL_IN_MIC   0x0201
#define AUDIO_TERMINAL_IN_DESKTOP_MIC   0x0202
#define AUDIO_TERMINAL_IN_PERSONAL_MIC   0x0203
#define AUDIO_TERMINAL_IN_OMNIDIR_MIC   0x0204
#define AUDIO_TERMINAL_IN_MIC_ARRAY   0x0205
#define AUDIO_TERMINAL_IN_PROCESSING_MIC   0x0206
#define AUDIO_TERMINAL_IN_OUT_UNDEFINED   0x0300
#define AUDIO_TERMINAL_OUT_SPEAKER   0x0301
#define AUDIO_TERMINAL_OUT_HEADPHONES   0x0302
#define AUDIO_TERMINAL_OUT_HEAD_MOUNTED   0x0303
#define AUDIO_TERMINAL_OUT_DESKTOP   0x0304
#define AUDIO_TERMINAL_OUT_ROOM   0x0305
#define AUDIO_TERMINAL_OUT_COMMUNICATION   0x0306
#define AUDIO_TERMINAL_OUT_LOWFREQ   0x0307

Enumerations

enum  Audio_Descriptor_ClassSubclassProtocol_t {
  AUDIO_CSCP_AudioClass = 0x01,
  AUDIO_CSCP_ControlSubclass = 0x01,
  AUDIO_CSCP_ControlProtocol = 0x00,
  AUDIO_CSCP_AudioStreamingSubclass = 0x02,
  AUDIO_CSCP_MIDIStreamingSubclass = 0x03,
  AUDIO_CSCP_StreamingProtocol = 0x00
}
enum  Audio_CSInterface_AC_SubTypes_t {
  AUDIO_DSUBTYPE_CSInterface_Header = 0x01,
  AUDIO_DSUBTYPE_CSInterface_InputTerminal = 0x02,
  AUDIO_DSUBTYPE_CSInterface_OutputTerminal = 0x03,
  AUDIO_DSUBTYPE_CSInterface_Mixer = 0x04,
  AUDIO_DSUBTYPE_CSInterface_Selector = 0x05,
  AUDIO_DSUBTYPE_CSInterface_Feature = 0x06,
  AUDIO_DSUBTYPE_CSInterface_Processing = 0x07,
  AUDIO_DSUBTYPE_CSInterface_Extension = 0x08
}
enum  Audio_CSInterface_AS_SubTypes_t {
  AUDIO_DSUBTYPE_CSInterface_General = 0x01,
  AUDIO_DSUBTYPE_CSInterface_FormatType = 0x02,
  AUDIO_DSUBTYPE_CSInterface_FormatSpecific = 0x03
}
enum  Audio_CSEndpoint_SubTypes_t { AUDIO_DSUBTYPE_CSEndpoint_General = 0x01 }
enum  Audio_ClassRequests_t {
  AUDIO_REQ_SetCurrent = 0x01,
  AUDIO_REQ_SetMinimum = 0x02,
  AUDIO_REQ_SetMaximum = 0x03,
  AUDIO_REQ_SetResolution = 0x04,
  AUDIO_REQ_SetMemory = 0x05,
  AUDIO_REQ_GetCurrent = 0x81,
  AUDIO_REQ_GetMinimum = 0x82,
  AUDIO_REQ_GetMaximum = 0x83,
  AUDIO_REQ_GetResolution = 0x84,
  AUDIO_REQ_GetMemory = 0x85,
  AUDIO_REQ_GetStatus = 0xFF
}
enum  Audio_EndpointControls_t {
  AUDIO_EPCONTROL_SamplingFreq = 0x01,
  AUDIO_EPCONTROL_Pitch = 0x02
}

Detailed Description

Common definitions and declarations for the library USB Audio 1.0 Class driver.

Note:
This file should not be included directly. It is automatically included as needed by the USB module driver dispatch header located in LUFA/Drivers/USB.h.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines