Microchip® Advanced Software Framework

uhi_vendor.c File Reference

USB host Vendor Interface driver.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "conf_usb_host.h"
#include "usb_protocol.h"
#include "uhd.h"
#include "uhc.h"
#include "uhi_vendor.h"
#include <string.h>

Data Structures

struct  uhi_vendor_dev_t
 

Macros

#define UHI_VENDOR_TIMEOUT   20000
 Timeout on Vendor transfer. More...
 

Functions

bool uhi_vendor_bulk_in_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on bulk IN. More...
 
bool uhi_vendor_bulk_is_available (void)
 Check if a transfer on BULK is possible. More...
 
bool uhi_vendor_bulk_out_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on bulk OUT. More...
 
bool uhi_vendor_control_in_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_setup_end_t callback)
 Start a transfer on control IN. More...
 
bool uhi_vendor_control_out_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_setup_end_t callback)
 Start a transfer on control OUT. More...
 
bool uhi_vendor_int_in_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on interrupt IN. More...
 
bool uhi_vendor_int_is_available (void)
 Check if a transfer on INTERRUPT is possible. More...
 
bool uhi_vendor_int_out_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on interrupt OUT. More...
 
bool uhi_vendor_iso_in_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on ISO IN. More...
 
bool uhi_vendor_iso_is_available (void)
 Check if a transfer on ISO is possible. More...
 
bool uhi_vendor_iso_out_run (uint8_t *buf, iram_size_t buf_size, uhd_callback_trans_t callback)
 Start a transfer on ISO OUT. More...
 
Functions required by UHC
uhc_enum_status_t uhi_vendor_install (uhc_device_t *dev)
 Install interface. More...
 
void uhi_vendor_enable (uhc_device_t *dev)
 Enable the interface. More...
 
void uhi_vendor_uninstall (uhc_device_t *dev)
 Uninstall the interface (if installed). More...
 

Variables

Structure to store information about USB Device Vendor
static uhi_vendor_dev_t uhi_vendor_dev