Audio Class Device Mode Driver
[Audio Class Driver - LUFA/Drivers/Class/Audio.h]

Data Structures

struct  USB_ClassInfo_Audio_Device_t

Functions

bool Audio_Device_ConfigureEndpoints (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void Audio_Device_ProcessControlRequest (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
void Audio_Device_USBTask (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
bool Audio_Device_IsSampleReceived (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
bool Audio_Device_IsReadyForNextSample (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
static int8_t Audio_Device_ReadSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_ALWAYS_INLINE
static int16_t Audio_Device_ReadSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_ALWAYS_INLINE
static int32_t Audio_Device_ReadSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int8_t Sample) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int16_t Sample) ATTR_ALWAYS_INLINE
static void Audio_Device_WriteSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int32_t Sample) ATTR_ALWAYS_INLINE

Detailed Description

Module Source Dependencies

The following files must be built with any user project that uses this module:

Description

Device Mode USB Class driver framework interface, for the Audio USB Class driver.


Function Documentation

bool Audio_Device_ConfigureEndpoints ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

Configures the endpoints of a given Audio interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given Audio interface is selected.

Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Boolean true if the endpoints were successfully configured, false otherwise
bool Audio_Device_IsReadyForNextSample ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

Determines if the given audio interface is ready to accept the next sample to be written to it, and selects the streaming IN endpoint ready for writing.

Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Boolean true if the given Audio interface is ready to accept the next sample, false otherwise
bool Audio_Device_IsSampleReceived ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

Determines if the given audio interface is ready for a sample to be read from it, and selects the streaming OUT endpoint ready for reading.

Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Boolean true if the given Audio interface has a sample to be read, false otherwise
void Audio_Device_ProcessControlRequest ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

Processes incoming control requests from the host, that are directed to the given Audio class interface. This should be linked to the library EVENT_USB_Device_UnhandledControlRequest() event.

Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
static int16_t Audio_Device_ReadSample16 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  )  [inline, static]

Reads the next 16-bit audio sample from the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Signed 16-bit audio sample from the audio interface
static int32_t Audio_Device_ReadSample24 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  )  [inline, static]

Reads the next 24-bit audio sample from the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Signed 24-bit audio sample from the audio interface
static int8_t Audio_Device_ReadSample8 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  )  [inline, static]

Reads the next 8-bit audio sample from the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
Returns:
Signed 8-bit audio sample from the audio interface
void Audio_Device_USBTask ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

General management task for a given Audio class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().

Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
static void Audio_Device_WriteSample16 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int16_t  Sample 
) [inline, static]

Writes the next 16-bit audio sample to the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
[in] Sample Signed 16-bit audio sample
static void Audio_Device_WriteSample24 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int32_t  Sample 
) [inline, static]

Writes the next 24-bit audio sample to the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
[in] Sample Signed 24-bit audio sample
static void Audio_Device_WriteSample8 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int8_t  Sample 
) [inline, static]

Writes the next 8-bit audio sample to the current audio interface.

Note:
This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that the correct endpoint is selected and ready for data.
Parameters:
[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state
[in] Sample Signed 8-bit audio sample

Generated on Wed Dec 23 18:41:44 2009 for LUFA (Formerly MyUSB) Library by  doxygen 1.6.1