VSF Documented
Macros | Functions
vsf_usbh.c File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "./vsf_usbh.h"
#include "hal/vsf_hal.h"

Macros

#define __VSF_EDA_CLASS_INHERIT__
 
#define __VSF_USBH_CLASS_IMPLEMENT
 
#define VSF_USBH_CFG_CONTROL_TIMEOUT   2000
 
#define VSF_USBH_REL   0
 
#define VSF_USBH_VER   0
 

Functions

void vsf_usbh_on_dev_parsed (vk_usbh_dev_t *dev, vk_usbh_dev_parser_t *parser)
 
vsf_err_t vsf_usbh_on_match_interface (vk_usbh_dev_parser_t *parser, vk_usbh_ifs_parser_t *parser_ifs)
 
void vsf_usbh_on_remove_interface (vk_usbh_ifs_t *ifs)
 
uint32_t __vk_usbh_get_pipe_value (vk_usbh_dev_t *dev, uint8_t endpoint, uint8_t type, uint16_t size)
 
vk_usbh_pipe_t __vk_usbh_get_pipe (vk_usbh_dev_t *dev, uint8_t endpoint, uint8_t type, uint16_t size, uint8_t interval)
 
vk_usbh_pipe_t vk_usbh_get_pipe_from_ep_desc (vk_usbh_dev_t *dev, struct usb_endpoint_desc_t *desc_ep)
 
void vk_usbh_urb_prepare_by_pipe (vk_usbh_urb_t *urb, vk_usbh_dev_t *dev, vk_usbh_pipe_t pipe)
 
void vk_usbh_urb_prepare (vk_usbh_urb_t *urb, vk_usbh_dev_t *dev, struct usb_endpoint_desc_t *desc_ep)
 
bool vk_usbh_urb_is_valid (vk_usbh_urb_t *urb)
 
bool vk_usbh_urb_is_alloced (vk_usbh_urb_t *urb)
 
vk_usbh_pipe_t vk_usbh_urb_get_pipe (vk_usbh_urb_t *urb)
 
void vk_usbh_urb_set_pipe (vk_usbh_urb_t *urb, vk_usbh_pipe_t pipe)
 
void vk_usbh_hcd_urb_free_buffer (vk_usbh_hcd_urb_t *urb_hcd)
 
void vk_usbh_hcd_urb_complete (vk_usbh_hcd_urb_t *hcd_urb)
 
void * vk_usbh_hcd_urb_alloc_buffer (vk_usbh_hcd_urb_t *urb_hcd, uint_fast16_t size)
 
uint_fast16_t vk_usbh_get_frame (vk_usbh_t *usbh)
 
vk_usbh_dev_tvk_usbh_new_device (vk_usbh_t *usbh, enum usb_device_speed_t speed, vk_usbh_dev_t *dev_parent, uint_fast8_t idx)
 
enum usb_device_speed_t vk_usbh_get_dev_speed (vk_usbh_dev_t *dev)
 
void vk_usbh_reset_dev (vk_usbh_t *usbh, vk_usbh_dev_t *dev)
 
bool vk_usbh_is_dev_resetting (vk_usbh_t *usbh, vk_usbh_dev_t *dev)
 
void vk_usbh_update_address (vk_usbh_dev_t *dev, uint_fast8_t address)
 
vsf_err_t vk_usbh_alloc_urb (vk_usbh_t *usbh, vk_usbh_dev_t *dev, vk_usbh_urb_t *urb)
 
void vk_usbh_unlink_urb (vk_usbh_t *usbh, vk_usbh_urb_t *urb)
 
void vk_usbh_free_urb (vk_usbh_t *usbh, vk_usbh_urb_t *urb)
 
void vk_usbh_urb_free_buffer (vk_usbh_urb_t *urb)
 
void * vk_usbh_urb_alloc_buffer (vk_usbh_urb_t *urb, uint_fast16_t size)
 
void * vk_usbh_urb_peek_buffer (vk_usbh_urb_t *urb)
 
void * vk_usbh_urb_take_buffer (vk_usbh_urb_t *urb)
 
void vk_usbh_urb_set_buffer (vk_usbh_urb_t *urb, void *buffer, uint_fast32_t size)
 
int_fast16_t vk_usbh_urb_get_status (vk_usbh_urb_t *urb)
 
uint_fast32_t vk_usbh_urb_get_actual_length (vk_usbh_urb_t *urb)
 
void vk_usbh_urb_set_complete (vk_usbh_urb_t *urb, vsf_usbh_urb_complete_t complete, void *param)
 
void vk_usbh_remove_interface (vk_usbh_t *usbh, vk_usbh_dev_t *dev, vk_usbh_ifs_t *ifs)
 
void vk_usbh_disconnect_device (vk_usbh_t *usbh, vk_usbh_dev_t *dev)
 
vsf_err_t vk_usbh_submit_urb (vk_usbh_t *usbh, vk_usbh_urb_t *urb)
 
vsf_err_t vk_usbh_submit_urb_flags (vk_usbh_t *usbh, vk_usbh_urb_t *urb, uint_fast16_t flags)
 
vsf_err_t vk_usbh_submit_urb_ex (vk_usbh_t *usbh, vk_usbh_urb_t *urb, uint_fast16_t flags, vsf_eda_t *eda)
 
vsf_err_t vk_usbh_submit_urb_iso (vk_usbh_t *usbh, vk_usbh_urb_t *urb, uint_fast16_t start_frame)
 
vsf_err_t vk_usbh_control_msg (vk_usbh_t *usbh, vk_usbh_dev_t *dev, struct usb_ctrlrequest_t *req)
 
vsf_err_t vk_usbh_control_msg_ex (vk_usbh_t *usbh, vk_usbh_dev_t *dev, struct usb_ctrlrequest_t *req, uint_fast16_t flags, vsf_eda_t *eda)
 
vsf_err_t vk_usbh_set_address (vk_usbh_t *usbh, vk_usbh_dev_t *dev)
 
vsf_err_t vk_usbh_get_descriptor (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t type, uint_fast8_t index, uint_fast16_t size)
 
vsf_err_t vk_usbh_get_class_descriptor (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast16_t ifs_no, uint_fast8_t type, uint_fast8_t id, uint_fast16_t size)
 
vsf_err_t vk_usbh_set_configuration (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t configuration)
 
vsf_err_t vk_usbh_set_interface (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t ifs, uint_fast8_t alternate)
 
vsf_err_t vk_usbh_clear_interface_feature (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t ifs, uint_fast8_t feature)
 
vsf_err_t vk_usbh_clear_endpoint_feature (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t endpoint, uint_fast8_t feature)
 
vsf_err_t vk_usbh_clear_endpoint_halt (vk_usbh_t *usbh, vk_usbh_dev_t *dev, uint_fast8_t endpoint)
 
vsf_err_t vk_usbh_init (vk_usbh_t *usbh)
 
vsf_err_t vk_usbh_fini (vk_usbh_t *usbh)
 
void vk_usbh_unregister_class (vk_usbh_t *usbh, vk_usbh_class_t *c)
 
void vk_usbh_register_class (vk_usbh_t *usbh, vk_usbh_class_t *c)
 
int16_t vk_usbh_get_extra_descriptor (uint8_t *buf, uint_fast16_t size, uint_fast8_t type, void **ptr)
 
usb_endpoint_desc_tvk_usbh_get_next_ep_descriptor (usb_endpoint_desc_t *desc_ep, uint_fast16_t size)
 

Macro Definition Documentation

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ __VSF_USBH_CLASS_IMPLEMENT

#define __VSF_USBH_CLASS_IMPLEMENT

◆ VSF_USBH_CFG_CONTROL_TIMEOUT

#define VSF_USBH_CFG_CONTROL_TIMEOUT   2000

◆ VSF_USBH_REL

#define VSF_USBH_REL   0

◆ VSF_USBH_VER

#define VSF_USBH_VER   0

Function Documentation

◆ vsf_usbh_on_dev_parsed()

void vsf_usbh_on_dev_parsed ( vk_usbh_dev_t dev,
vk_usbh_dev_parser_t parser 
)
extern

◆ vsf_usbh_on_match_interface()

vsf_err_t vsf_usbh_on_match_interface ( vk_usbh_dev_parser_t parser,
vk_usbh_ifs_parser_t parser_ifs 
)
extern

◆ vsf_usbh_on_remove_interface()

void vsf_usbh_on_remove_interface ( vk_usbh_ifs_t ifs)
extern

◆ __vk_usbh_get_pipe_value()

uint32_t __vk_usbh_get_pipe_value ( vk_usbh_dev_t dev,
uint8_t  endpoint,
uint8_t  type,
uint16_t  size 
)

◆ __vk_usbh_get_pipe()

vk_usbh_pipe_t __vk_usbh_get_pipe ( vk_usbh_dev_t dev,
uint8_t  endpoint,
uint8_t  type,
uint16_t  size,
uint8_t  interval 
)

◆ vk_usbh_get_pipe_from_ep_desc()

vk_usbh_pipe_t vk_usbh_get_pipe_from_ep_desc ( vk_usbh_dev_t dev,
struct usb_endpoint_desc_t desc_ep 
)

◆ vk_usbh_urb_prepare_by_pipe()

void vk_usbh_urb_prepare_by_pipe ( vk_usbh_urb_t urb,
vk_usbh_dev_t dev,
vk_usbh_pipe_t  pipe 
)

◆ vk_usbh_urb_prepare()

void vk_usbh_urb_prepare ( vk_usbh_urb_t urb,
vk_usbh_dev_t dev,
struct usb_endpoint_desc_t desc_ep 
)

◆ vk_usbh_urb_is_valid()

bool vk_usbh_urb_is_valid ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_is_alloced()

bool vk_usbh_urb_is_alloced ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_get_pipe()

vk_usbh_pipe_t vk_usbh_urb_get_pipe ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_set_pipe()

void vk_usbh_urb_set_pipe ( vk_usbh_urb_t urb,
vk_usbh_pipe_t  pipe 
)

◆ vk_usbh_hcd_urb_free_buffer()

void vk_usbh_hcd_urb_free_buffer ( vk_usbh_hcd_urb_t urb_hcd)

◆ vk_usbh_hcd_urb_complete()

void vk_usbh_hcd_urb_complete ( vk_usbh_hcd_urb_t hcd_urb)

◆ vk_usbh_hcd_urb_alloc_buffer()

void * vk_usbh_hcd_urb_alloc_buffer ( vk_usbh_hcd_urb_t urb_hcd,
uint_fast16_t  size 
)

◆ vk_usbh_get_frame()

uint_fast16_t vk_usbh_get_frame ( vk_usbh_t usbh)

◆ vk_usbh_new_device()

vk_usbh_dev_t * vk_usbh_new_device ( vk_usbh_t usbh,
enum usb_device_speed_t  speed,
vk_usbh_dev_t dev_parent,
uint_fast8_t  idx 
)

◆ vk_usbh_get_dev_speed()

enum usb_device_speed_t vk_usbh_get_dev_speed ( vk_usbh_dev_t dev)

◆ vk_usbh_reset_dev()

void vk_usbh_reset_dev ( vk_usbh_t usbh,
vk_usbh_dev_t dev 
)

◆ vk_usbh_is_dev_resetting()

bool vk_usbh_is_dev_resetting ( vk_usbh_t usbh,
vk_usbh_dev_t dev 
)

◆ vk_usbh_update_address()

void vk_usbh_update_address ( vk_usbh_dev_t dev,
uint_fast8_t  address 
)

◆ vk_usbh_alloc_urb()

vsf_err_t vk_usbh_alloc_urb ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
vk_usbh_urb_t urb 
)

◆ vk_usbh_unlink_urb()

void vk_usbh_unlink_urb ( vk_usbh_t usbh,
vk_usbh_urb_t urb 
)

◆ vk_usbh_free_urb()

void vk_usbh_free_urb ( vk_usbh_t usbh,
vk_usbh_urb_t urb 
)

◆ vk_usbh_urb_free_buffer()

void vk_usbh_urb_free_buffer ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_alloc_buffer()

void * vk_usbh_urb_alloc_buffer ( vk_usbh_urb_t urb,
uint_fast16_t  size 
)

◆ vk_usbh_urb_peek_buffer()

void * vk_usbh_urb_peek_buffer ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_take_buffer()

void * vk_usbh_urb_take_buffer ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_set_buffer()

void vk_usbh_urb_set_buffer ( vk_usbh_urb_t urb,
void *  buffer,
uint_fast32_t  size 
)

◆ vk_usbh_urb_get_status()

int_fast16_t vk_usbh_urb_get_status ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_get_actual_length()

uint_fast32_t vk_usbh_urb_get_actual_length ( vk_usbh_urb_t urb)

◆ vk_usbh_urb_set_complete()

void vk_usbh_urb_set_complete ( vk_usbh_urb_t urb,
vsf_usbh_urb_complete_t  complete,
void *  param 
)

◆ vk_usbh_remove_interface()

void vk_usbh_remove_interface ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
vk_usbh_ifs_t ifs 
)

◆ vk_usbh_disconnect_device()

void vk_usbh_disconnect_device ( vk_usbh_t usbh,
vk_usbh_dev_t dev 
)

◆ vk_usbh_submit_urb()

vsf_err_t vk_usbh_submit_urb ( vk_usbh_t usbh,
vk_usbh_urb_t urb 
)

◆ vk_usbh_submit_urb_flags()

vsf_err_t vk_usbh_submit_urb_flags ( vk_usbh_t usbh,
vk_usbh_urb_t urb,
uint_fast16_t  flags 
)

◆ vk_usbh_submit_urb_ex()

vsf_err_t vk_usbh_submit_urb_ex ( vk_usbh_t usbh,
vk_usbh_urb_t urb,
uint_fast16_t  flags,
vsf_eda_t eda 
)

◆ vk_usbh_submit_urb_iso()

vsf_err_t vk_usbh_submit_urb_iso ( vk_usbh_t usbh,
vk_usbh_urb_t urb,
uint_fast16_t  start_frame 
)

◆ vk_usbh_control_msg()

vsf_err_t vk_usbh_control_msg ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
struct usb_ctrlrequest_t req 
)

◆ vk_usbh_control_msg_ex()

vsf_err_t vk_usbh_control_msg_ex ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
struct usb_ctrlrequest_t req,
uint_fast16_t  flags,
vsf_eda_t eda 
)

◆ vk_usbh_set_address()

vsf_err_t vk_usbh_set_address ( vk_usbh_t usbh,
vk_usbh_dev_t dev 
)

◆ vk_usbh_get_descriptor()

vsf_err_t vk_usbh_get_descriptor ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  type,
uint_fast8_t  index,
uint_fast16_t  size 
)

◆ vk_usbh_get_class_descriptor()

vsf_err_t vk_usbh_get_class_descriptor ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast16_t  ifs_no,
uint_fast8_t  type,
uint_fast8_t  id,
uint_fast16_t  size 
)

◆ vk_usbh_set_configuration()

vsf_err_t vk_usbh_set_configuration ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  configuration 
)

◆ vk_usbh_set_interface()

vsf_err_t vk_usbh_set_interface ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  ifs,
uint_fast8_t  alternate 
)

◆ vk_usbh_clear_interface_feature()

vsf_err_t vk_usbh_clear_interface_feature ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  ifs,
uint_fast8_t  feature 
)

◆ vk_usbh_clear_endpoint_feature()

vsf_err_t vk_usbh_clear_endpoint_feature ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  endpoint,
uint_fast8_t  feature 
)

◆ vk_usbh_clear_endpoint_halt()

vsf_err_t vk_usbh_clear_endpoint_halt ( vk_usbh_t usbh,
vk_usbh_dev_t dev,
uint_fast8_t  endpoint 
)

◆ vk_usbh_init()

vsf_err_t vk_usbh_init ( vk_usbh_t usbh)

◆ vk_usbh_fini()

vsf_err_t vk_usbh_fini ( vk_usbh_t usbh)

◆ vk_usbh_unregister_class()

void vk_usbh_unregister_class ( vk_usbh_t usbh,
vk_usbh_class_t c 
)

◆ vk_usbh_register_class()

void vk_usbh_register_class ( vk_usbh_t usbh,
vk_usbh_class_t c 
)

◆ vk_usbh_get_extra_descriptor()

int16_t vk_usbh_get_extra_descriptor ( uint8_t buf,
uint_fast16_t  size,
uint_fast8_t  type,
void **  ptr 
)

◆ vk_usbh_get_next_ep_descriptor()

usb_endpoint_desc_t * vk_usbh_get_next_ep_descriptor ( usb_endpoint_desc_t desc_ep,
uint_fast16_t  size 
)