![]() |
LPCOpen Platform
LPCOpen Platform for NXP LPC Microcontrollers
|
Go to the source code of this file.
Data Structures | |
struct | USB_ClassInfo_Audio_Device_t |
Audio Class Device Mode Configuration and State Structure. More... | |
Functions | |
bool | Audio_Device_ConfigureEndpoints (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
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. | |
void | Audio_Device_ProcessControlRequest (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
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_ControlRequest() event. | |
bool | CALLBACK_Audio_Device_GetSetEndpointProperty (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const uint8_t EndpointProperty, const uint8_t EndpointAddress, const uint8_t EndpointControl, uint16_t *const DataLength, uint8_t *Data) |
Audio class driver callback for the setting and retrieval of streaming endpoint properties. This callback must be implemented in the user application to handle property manipulations on streaming audio endpoints. | |
void | EVENT_Audio_Device_StreamStartStop (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) |
Audio class driver event for an Audio Stream start/stop change. This event fires each time the device receives a stream enable or disable control request from the host, to start and stop the audio stream. The current state of the stream can be determined by the State.InterfaceEnabled value inside the Audio interface structure passed as a parameter. | |
static PRAGMA_ALWAYS_INLINE void | Audio_Device_USBTask (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
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(). | |
static PRAGMA_ALWAYS_INLINE bool | Audio_Device_IsSampleReceived (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
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. | |
static PRAGMA_ALWAYS_INLINE bool | Audio_Device_IsReadyForNextSample (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
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. | |
static PRAGMA_ALWAYS_INLINE int8_t | Audio_Device_ReadSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
Reads the next 8-bit audio sample from the current audio interface. | |
static PRAGMA_ALWAYS_INLINE int16_t | Audio_Device_ReadSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
Reads the next 16-bit audio sample from the current audio interface. | |
static PRAGMA_ALWAYS_INLINE int32_t | Audio_Device_ReadSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
Reads the next 24-bit audio sample from the current audio interface. | |
static PRAGMA_ALWAYS_INLINE void | Audio_Device_WriteSample8 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int8_t Sample) ATTR_NON_NULL_PTR_ARG(1) |
Writes the next 8-bit audio sample to the current audio interface. | |
static PRAGMA_ALWAYS_INLINE void | Audio_Device_WriteSample16 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int16_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
Writes the next 16-bit audio sample to the current audio interface. | |
static PRAGMA_ALWAYS_INLINE void | Audio_Device_WriteSample24 (USB_ClassInfo_Audio_Device_t *const AudioInterfaceInfo, const int32_t Sample) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE |
Writes the next 24-bit audio sample to the current audio interface. | |