USB Audio internals

nRF5 SDK v12.2.0

nRF52840 only: USB Audio class internals. More...

Data Structures

struct app_usbd_audio_inst_t
Audio class part of class instance data. More...
struct app_usbd_audio_req_t
Audio class specific request handled via control endpoint. More...
struct app_usbd_audio_ctx_t
Audio class context. More...

Macros

#define APP_USBD_AUDIO_CONFIG (iface_control, iface_stream)
Audio class configuration macro. More...
#define APP_USBD_AUDIO_CONFIG_IN (iface_control, iface_stream_in)   ((iface_control), (iface_stream_in, NRF_DRV_USBD_EPIN8 ))
Only IN audio stream configuration. More...
#define APP_USBD_AUDIO_CONFIG_OUT (iface_control, iface_stream_out)   ((iface_control), (iface_stream_out, NRF_DRV_USBD_EPOUT8 ))
Only OUT audio stream configuration. More...
#define APP_USBD_AUDIO_INSTANCE_SPECIFIC_DEC app_usbd_audio_inst_t inst;
Specific class constant data for audio class. More...
#define APP_USBD_AUDIO_INST_CONFIG (descriptors, user_event_handler)
Configures audio class instance. More...
#define APP_USBD_AUDIO_DATA_SPECIFIC_DEC app_usbd_audio_ctx_t ctx;
Specific class data for audio class. More...
#define APP_USBD_AUDIO_DSC_CONFIG (interface_number,...)
Audio class descriptors config macro. More...
#define APP_USBD_AUDIO_GLOBAL_DEF_INTERNAL (instance_name,interfaces_configs,user_ev_handler,raw_descriptors)
Global definition of app_usbd_audio_t class. More...

Typedefs

typedef void(* app_usbd_audio_user_ev_handler_t )( app_usbd_class_inst_t const *p_inst, enum app_usbd_audio_user_event_e event)
User event handler. More...

Functions

APP_USBD_CLASS_FORWARD (app_usbd_audio)
Forward declaration of type defined by APP_USBD_CLASS_TYPEDEF in audio class.

Variables

const app_usbd_class_methods_t app_usbd_audio_class_methods
Public audio class interface.

Detailed Description

nRF52840 only: USB Audio class internals.

Macro Definition Documentation

#define APP_USBD_AUDIO_CONFIG ( iface_control,
iface_stream
)
Value:
((iface_control), \
(iface_stream, 0))

Audio class configuration macro.

Used by APP_USBD_AUDIO_GLOBAL_DEF

Parameters
iface_control Interface number of audio control
iface_stream Interface number of audio stream
#define APP_USBD_AUDIO_CONFIG_IN ( iface_control,
iface_stream_in
) ((iface_control), (iface_stream_in, NRF_DRV_USBD_EPIN8 ))

Only IN audio stream configuration.

Parameters
iface_control Interface number of audio control
iface_stream_in Interface number of audio stream on IN endpoint
#define APP_USBD_AUDIO_CONFIG_OUT ( iface_control,
iface_stream_out
) ((iface_control), (iface_stream_out, NRF_DRV_USBD_EPOUT8 ))

Only OUT audio stream configuration.

Parameters
iface_control Interface number of audio control
iface_stream_out Interface number of audio stream on OUT endpoint
#define APP_USBD_AUDIO_DATA_SPECIFIC_DEC app_usbd_audio_ctx_t ctx;

Specific class data for audio class.

app_usbd_audio_ctx_t

#define APP_USBD_AUDIO_DSC_CONFIG ( interface_number,
...
)
Value:
{ \
APP_USBD_AUDIO_INTERFACE_DSC(interface_number, \
0, \
0, \
}

Audio class descriptors config macro.

Parameters
interface_number Interface number
... Extracted endpoint list
#define APP_USBD_AUDIO_GLOBAL_DEF_INTERNAL ( instance_name,
interfaces_configs,
user_ev_handler,
raw_descriptors
)
Value:
instance_name, \
app_usbd_audio, \
interfaces_configs, \
( APP_USBD_AUDIO_INST_CONFIG (raw_descriptors, \
user_ev_handler)) \
)

Global definition of app_usbd_audio_t class.

#define APP_USBD_AUDIO_INST_CONFIG ( descriptors,
user_event_handler
)
Value:
.inst = { \
.p_raw_desc = descriptors, \
.raw_desc_size = sizeof (descriptors), \
.user_ev_handler = user_event_handler, \
}

Configures audio class instance.

Parameters
descriptors Mass storage class descriptors (raw table)
user_event_handler User event handler
#define APP_USBD_AUDIO_INSTANCE_SPECIFIC_DEC app_usbd_audio_inst_t inst;

Specific class constant data for audio class.

app_usbd_audio_inst_t

Typedef Documentation

typedef void(* app_usbd_audio_user_ev_handler_t)( app_usbd_class_inst_t const *p_inst, enum app_usbd_audio_user_event_e event)

User event handler.

Parameters
[in] p_inst Class instance
[in] event User event

Enumeration Type Documentation

Audio class request target.

Enumerator
APP_USBD_AUDIO_CLASS_REQ_IN

Audio class request IN

APP_USBD_AUDIO_CLASS_REQ_OUT

Audio class request OUT

APP_USBD_AUDIO_EP_REQ_IN

Audio class endpoint request IN

APP_USBD_AUDIO_EP_REQ_OUT

Audio class endpoint request OUT