Audio Class Device Mode Driver
[Audio Device 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)
void Audio_Device_ProcessControlRequest (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
void Audio_Device_USBTask (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
int8_t Audio_Device_ReadSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
int16_t Audio_Device_ReadSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
int32_t Audio_Device_ReadSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
void Audio_Device_WriteSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int8_t Sample)
void Audio_Device_WriteSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int16_t Sample)
void Audio_Device_WriteSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int32_t Sample)
bool Audio_Device_IsSampleReceived (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)
bool Audio_Device_IsReadyForNextSample (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo)

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 sucessfully 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.

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.

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 incomming 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.

int16_t Audio_Device_ReadSample16 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

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

Note:
This should be preceeded 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

int32_t Audio_Device_ReadSample24 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

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

Note:
This should be preceeded 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

int8_t Audio_Device_ReadSample8 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo  ) 

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

Note:
This should be preceeded 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.

void Audio_Device_WriteSample16 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int16_t  Sample 
)

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

Note:
This should be preceeded 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

void Audio_Device_WriteSample24 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int32_t  Sample 
)

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

Note:
This should be preceeded 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

void Audio_Device_WriteSample8 ( USB_ClassInfo_Audio_Device_t *const   AudioInterfaceInfo,
const int8_t  Sample 
)

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

Note:
This should be preceeded 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 Sun Aug 9 19:53:12 2009 for LUFA (Formerly MyUSB) Library by  doxygen 1.5.9