VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vsf_usbh_uac.c File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "kernel/vsf_kernel.h"
#include "../../vsf_usbh.h"
#include "./vsf_usbh_uac.h"
#include "hal/vsf_hal.h"

Data Structures

struct  vk_usbh_uac_t
 

Macros

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__
 
#define __VSF_EDA_CLASS_INHERIT__
 
#define __VSF_USBH_CLASS_IMPLEMENT_CLASS__
 
#define __VSF_USBH_UAC_CLASS_IMPLEMENT
 
#define VSF_USBH_UAC_CFG_STREAM_NUM   2
 
#define VSF_USBH_UAC_CFG_URB_WITH_BUFFER   ENABLED
 
#define vsf_usbh_uac_task_t   vsf_eda_t
 

Typedefs

typedef struct vk_usbh_uac_t vk_usbh_uac_t
 

Enumerations

enum  {
  USB_AUDIO_SUBCLASS_AUDIOCONTROL = 0x01 ,
  USB_AUDIO_SUBCLASS_AUDIOSTREAMING = 0x02 ,
  USB_AUDIO_SUBCLASS_MINISTREAMING = 0x03
}
 
enum  {
  VSF_USBH_UAC_SUBEVT_MASK = 0x300 ,
  VSF_USBH_UAC_SUBEVT_CONNECT = 0x000 ,
  VSF_USBH_UAC_SUBEVT_DISCONNECT = 0x100 ,
  VSF_USBH_UAC_SUBEVT_STREAM = 0x200 ,
  VSF_USBH_UAC_SUBEVT_SUBMIT_REQ = 0x300 ,
  VSF_USBH_UAC_EVT_CONNECT = VSF_EVT_USER + VSF_USBH_UAC_SUBEVT_CONNECT ,
  VSF_USBH_UAC_EVT_DISCONNECT = VSF_EVT_USER + VSF_USBH_UAC_SUBEVT_DISCONNECT ,
  VSF_USBH_UAC_EVT_STREAM = VSF_EVT_USER + VSF_USBH_UAC_SUBEVT_STREAM ,
  VSF_USBH_UAC_EVT_SUBMIT_REQ = VSF_EVT_USER + VSF_USBH_UAC_SUBEVT_SUBMIT_REQ
}
 

Functions

void vsf_usbh_uac_on_new (void *uac, usb_uac_ac_interface_header_desc_t *ac_header)
 
void vsf_usbh_uac_on_del (void *uac)
 
vk_usbh_uac_stream_tvsf_usbh_uac_get_stream_info (void *param, uint_fast8_t stream_idx)
 
vsf_err_t __vsf_usbh_uac_submit_req (void *uac_ptr, void *data, struct usb_ctrlrequest_t *req)
 
vsf_err_t vsf_usbh_uac_connect_stream (void *param, uint_fast8_t stream_idx, vsf_stream_t *stream)
 
void vsf_usbh_uac_disconnect_stream (void *param, uint_fast8_t stream_idx)
 
void __vk_usbh_uac_stream_evthandler (vsf_stream_t *stream, void *param, vsf_stream_evt_t evt)
 

Variables

const vk_usbh_class_drv_t vk_usbh_uac_drv
 

Macro Definition Documentation

◆ __VSF_SIMPLE_STREAM_CLASS_INHERIT__

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ __VSF_USBH_CLASS_IMPLEMENT_CLASS__

#define __VSF_USBH_CLASS_IMPLEMENT_CLASS__

◆ __VSF_USBH_UAC_CLASS_IMPLEMENT

#define __VSF_USBH_UAC_CLASS_IMPLEMENT

◆ VSF_USBH_UAC_CFG_STREAM_NUM

#define VSF_USBH_UAC_CFG_STREAM_NUM   2

◆ VSF_USBH_UAC_CFG_URB_WITH_BUFFER

#define VSF_USBH_UAC_CFG_URB_WITH_BUFFER   ENABLED

◆ vsf_usbh_uac_task_t

#define vsf_usbh_uac_task_t   vsf_eda_t

Typedef Documentation

◆ vk_usbh_uac_t

typedef struct vk_usbh_uac_t vk_usbh_uac_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
USB_AUDIO_SUBCLASS_AUDIOCONTROL 
USB_AUDIO_SUBCLASS_AUDIOSTREAMING 
USB_AUDIO_SUBCLASS_MINISTREAMING 

◆ anonymous enum

anonymous enum
Enumerator
VSF_USBH_UAC_SUBEVT_MASK 
VSF_USBH_UAC_SUBEVT_CONNECT 
VSF_USBH_UAC_SUBEVT_DISCONNECT 
VSF_USBH_UAC_SUBEVT_STREAM 
VSF_USBH_UAC_SUBEVT_SUBMIT_REQ 
VSF_USBH_UAC_EVT_CONNECT 
VSF_USBH_UAC_EVT_DISCONNECT 
VSF_USBH_UAC_EVT_STREAM 
VSF_USBH_UAC_EVT_SUBMIT_REQ 

Function Documentation

◆ vsf_usbh_uac_on_new()

void vsf_usbh_uac_on_new ( void *  uac,
usb_uac_ac_interface_header_desc_t ac_header 
)
extern

◆ vsf_usbh_uac_on_del()

void vsf_usbh_uac_on_del ( void *  uac)
extern

◆ vsf_usbh_uac_get_stream_info()

vk_usbh_uac_stream_t * vsf_usbh_uac_get_stream_info ( void *  param,
uint_fast8_t  stream_idx 
)

◆ __vsf_usbh_uac_submit_req()

vsf_err_t __vsf_usbh_uac_submit_req ( void *  uac_ptr,
void *  data,
struct usb_ctrlrequest_t req 
)

◆ vsf_usbh_uac_connect_stream()

vsf_err_t vsf_usbh_uac_connect_stream ( void *  param,
uint_fast8_t  stream_idx,
vsf_stream_t stream 
)

◆ vsf_usbh_uac_disconnect_stream()

void vsf_usbh_uac_disconnect_stream ( void *  param,
uint_fast8_t  stream_idx 
)

◆ __vk_usbh_uac_stream_evthandler()

void __vk_usbh_uac_stream_evthandler ( vsf_stream_t stream,
void *  param,
vsf_stream_evt_t  evt 
)

Variable Documentation

◆ vk_usbh_uac_drv

const vk_usbh_class_drv_t vk_usbh_uac_drv
Initial value:
= {
.name = "uac",
.dev_id_num = dimof(__vk_usbh_uac_dev_id),
.dev_ids = __vk_usbh_uac_dev_id,
.probe = __vk_usbh_uac_probe,
.disconnect = __vk_usbh_uac_disconnect,
}
#define dimof(__arr)
Definition __type.h:155