USB AUDIO class

nRF5 SDK v12.2.0

nRF52840 only: Module with types, definitions, and API used by USB Audio class. More...

Modules

USB Audio descriptors
nRF52840 only: Descriptors used in the USB Audio class.
USB AUDIO class configuration
USB Audio internals
nRF52840 only: USB Audio class internals.
USB Audio types
nRF52840 only: Type definitions for the USB Audio class.

Data Structures

struct app_usbd_audio_t
Audio class instance type. More...

Macros

#define APP_USBD_AUDIO_GLOBAL_DEF (instance_name,interfaces_configs,user_ev_handler,raw_descriptors)
Global definition of app_usbd_audio_t class instance. More...

Typedefs

typedef enum
app_usbd_audio_user_event_e
app_usbd_audio_user_event_t
Events passed to user event handler. More...

Functions

static app_usbd_class_inst_t
const *
app_usbd_audio_class_inst_get ( app_usbd_audio_t const *p_audio)
static app_usbd_audio_req_t * app_usbd_audio_class_request_get ( app_usbd_audio_t const *p_audio)
Helper function to get audio specific request from audio class. More...
static app_usbd_audio_t const * app_usbd_audio_class_get ( app_usbd_class_inst_t const *p_inst)
Helper function to get audio from base class instance. More...
void app_usbd_audio_class_tx_buf_set ( app_usbd_class_inst_t const *p_inst, const void *p_buff, size_t size)
Set transmit buffer. More...
void app_usbd_audio_class_rx_buf_set ( app_usbd_class_inst_t const *p_inst, void *p_buff, size_t size)
Set receive buffer. More...

Detailed Description

nRF52840 only: Module with types, definitions, and API used by USB Audio class.

Reference specifications:

  • "Universal Serial Bus Device Class Definition for Audio Devices" Release 1.0, March 18, 1998.
  • "Universal Serial Bus Device Class Definition for Audio Data Formats" Release 1.0, March 18, 1998.
  • "Universal Serial Bus Device Class Definition for Terminal Types" Release 1.0, March 18, 1998.

Macro Definition Documentation

#define APP_USBD_AUDIO_GLOBAL_DEF ( instance_name,
interfaces_configs,
user_ev_handler,
raw_descriptors
)
Value:
interfaces_configs, \
user_ev_handler, \
raw_descriptors)

Global definition of app_usbd_audio_t class instance.

Parameters
instance_name Name of global instance
interfaces_configs Interfaces configurations
user_ev_handler User event handler (optional)
raw_descriptors Raw descriptor table
Note
This macro is just simplified version of APP_USBD_AUDIO_GLOBAL_DEF_INTERNAL

Typedef Documentation

Events passed to user event handler.

Note
Example prototype of user event handler:
void audio_user_ev_handler( app_usbd_class_inst_t const * p_inst,

Enumeration Type Documentation

Events passed to user event handler.

Note
Example prototype of user event handler:
void audio_user_ev_handler( app_usbd_class_inst_t const * p_inst,
Enumerator
APP_USBD_AUDIO_USER_EVT_SUSPEND

User event SUSPEND

APP_USBD_AUDIO_USER_EVT_RESUME

User event RESUME

APP_USBD_AUDIO_USER_EVT_START

User event START

APP_USBD_AUDIO_USER_EVT_STOP

User event STOP

APP_USBD_AUDIO_USER_EVT_CLASS_REQ

User event CLASS_REQ

APP_USBD_AUDIO_USER_EVT_RX_DONE

User event RX_DONE

APP_USBD_AUDIO_USER_EVT_TX_DONE

User event TX_DONE

Function Documentation

static app_usbd_audio_t const* app_usbd_audio_class_get ( app_usbd_class_inst_t const * p_inst )
inline static

Helper function to get audio from base class instance.

Parameters
[in] p_inst Base class instance
Returns
Audio class handle
static app_usbd_class_inst_t const* app_usbd_audio_class_inst_get ( app_usbd_audio_t const * p_audio )
inline static

@brief Helper function to get class instance from Audio class

Parameters
[in] p_audio Audio class instance (declared by APP_USBD_AUDIO_GLOBAL_DEF )
Returns
Base class instance
static app_usbd_audio_req_t * app_usbd_audio_class_request_get ( app_usbd_audio_t const * p_audio )
inline static

Helper function to get audio specific request from audio class.

Parameters
[in] p_audio Audio class instance (declared by APP_USBD_AUDIO_GLOBAL_DEF )
Returns
Audio class specific request
void app_usbd_audio_class_rx_buf_set ( app_usbd_class_inst_t const * p_inst ,
void * p_buff ,
size_t size
)

Set receive buffer.

Parameters
[in] p_inst Base class instance
[in] p_buff Receive buffer
[in] size Receive buffer size
void app_usbd_audio_class_tx_buf_set ( app_usbd_class_inst_t const * p_inst ,
const void * p_buff ,
size_t size
)

Set transmit buffer.

Parameters
[in] p_inst Base class instance
[in] p_buff Transmit buffer
[in] size Transmit buffer size