nRF5 SDK v17.1.0
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
USB Audio internals

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

Data Structures

struct  app_usbd_audio_subclass_desc_t
 Audio subclass descriptor. More...
 
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(user_event_handler,format_descriptor,input_descriptor,output_descriptor,feature_descriptor,dlay,frmat,ep_siz,type_str,terminal)
 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,format_descriptor,input_descriptor,output_descriptor,feature_descriptor,delay,format,ep_size,type_str,terminal_link)
 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,
  format_descriptor,
  input_descriptor,
  output_descriptor,
  feature_descriptor,
  delay,
  format,
  ep_size,
  type_str,
  terminal_link 
)
Value:
instance_name, \
app_usbd_audio, \
interfaces_configs, \
(APP_USBD_AUDIO_INST_CONFIG(user_ev_handler, \
format_descriptor, \
input_descriptor, \
output_descriptor, \
feature_descriptor, \
delay, \
format, \
ep_size, \
type_str, \
terminal_link)) \
)

Global definition of app_usbd_audio_t class.

#define APP_USBD_AUDIO_INST_CONFIG (   user_event_handler,
  format_descriptor,
  input_descriptor,
  output_descriptor,
  feature_descriptor,
  dlay,
  frmat,
  ep_siz,
  type_str,
  terminal 
)
Value:
.inst = { \
.user_ev_handler = user_event_handler, \
.p_format_dsc = format_descriptor, \
.p_input_dsc = input_descriptor, \
.p_output_dsc = output_descriptor, \
.p_feature_dsc = feature_descriptor, \
.delay = dlay, \
.format = frmat, \
.ep_size = ep_siz, \
.type_streaming = type_str, \
.terminal_link = terminal \
}

Configures audio class instance.

Parameters
user_event_handlerUser event handler.
format_descriptorAudio class Format descriptor.
input_descriptorAudio class Input Terminal descriptor.
output_descriptorAudio class Output Terminal descriptor.
feature_descriptorAudio class Feature Unit descriptor.
dlayStreaming delay.
frmatFormatTag (app_usbd_audio_as_iface_format_tag_t).
ep_sizEndpoint size.
type_strStreaming type MIDISTREAMING/AUDIOSTREAMING.
terminalTerminal link in AS Interface Descriptor.
#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