nRF5 SDK v13.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
USB Audio internals

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

Enumerations

enum  app_usbd_audio_class_req_target_t {
  APP_USBD_AUDIO_CLASS_REQ_IN,
  APP_USBD_AUDIO_CLASS_REQ_OUT,
  APP_USBD_AUDIO_EP_REQ_IN,
  APP_USBD_AUDIO_EP_REQ_OUT
}
 Audio class request target. 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_controlInterface number of audio control
iface_streamInterface 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_controlInterface number of audio control
iface_stream_inInterface 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_controlInterface number of audio control
iface_stream_outInterface 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_numberInterface 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
descriptorsMass storage class descriptors (raw table)
user_event_handlerUser 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_instClass instance
[in]eventUser 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


Documentation feedback | Developer Zone | Subscribe | Updated