Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Implementation of UDI Vendor Class

Class internal implementation.

Functions

bool udi_vendor_bulk_in_run (uint8_t *buf, iram_size_t buf_size, udd_callback_trans_t callback)
 Start a transfer on bulk IN. More...
 
bool udi_vendor_bulk_out_run (uint8_t *buf, iram_size_t buf_size, udd_callback_trans_t callback)
 Start a transfer on bulk OUT. More...
 
bool udi_vendor_interrupt_in_run (uint8_t *buf, iram_size_t buf_size, udd_callback_trans_t callback)
 Start a transfer on interrupt IN. More...
 
bool udi_vendor_interrupt_out_run (uint8_t *buf, iram_size_t buf_size, udd_callback_trans_t callback)
 Start a transfer on interrupt OUT. More...
 

Variables

static uint8_t udi_vendor_alternate_setting = 0
 USB descriptor alternate setting used. More...
 

bool udi_vendor_bulk_in_run ( uint8_t *  buf,
iram_size_t  buf_size,
udd_callback_trans_t  callback 
)

Start a transfer on bulk IN.

When the transfer is finished or aborted (stall, reset, ...), the callback is called. The callback returns the transfer status and eventually the number of byte transfered.

Parameters
bufBuffer on Internal RAM to send or fill. It must be align, then use COMPILER_WORD_ALIGNED.
buf_sizeBuffer size to send or fill
callbackNULL or function to call at the end of transfer
Returns
1 if function was successfully done, otherwise 0.

References udd_ep_run(), and UDI_VENDOR_EP_BULK_IN.

Referenced by main_vendor_bulk_out_received().

bool udi_vendor_bulk_out_run ( uint8_t *  buf,
iram_size_t  buf_size,
udd_callback_trans_t  callback 
)

Start a transfer on bulk OUT.

When the transfer is finished or aborted (stall, reset, ...), the callback is called. The callback returns the transfer status and eventually the number of byte transfered.

Parameters
bufBuffer on Internal RAM to send or fill. It must be align, then use COMPILER_WORD_ALIGNED.
buf_sizeBuffer size to send or fill
callbackNULL or function to call at the end of transfer
Returns
1 if function was successfully done, otherwise 0.

References udd_ep_run(), and UDI_VENDOR_EP_BULK_OUT.

Referenced by main_vendor_bulk_in_received().

bool udi_vendor_interrupt_in_run ( uint8_t *  buf,
iram_size_t  buf_size,
udd_callback_trans_t  callback 
)

Start a transfer on interrupt IN.

When the transfer is finished or aborted (stall, reset, ...), the callback is called. The callback returns the transfer status and eventually the number of byte transfered.

Parameters
bufBuffer on Internal RAM to send or fill. It must be align, then use COMPILER_WORD_ALIGNED.
buf_sizeBuffer size to send or fill
callbackNULL or function to call at the end of transfer
Returns
1 if function was successfully done, otherwise 0.

References udd_ep_run(), and UDI_VENDOR_EP_INTERRUPT_IN.

Referenced by main_vendor_int_out_received().

bool udi_vendor_interrupt_out_run ( uint8_t *  buf,
iram_size_t  buf_size,
udd_callback_trans_t  callback 
)

Start a transfer on interrupt OUT.

When the transfer is finished or aborted (stall, reset, ...), the callback is called. The callback returns the transfer status and eventually the number of byte transfered.

Parameters
bufBuffer on Internal RAM to send or fill. It must be align, then use COMPILER_WORD_ALIGNED.
buf_sizeBuffer size to send or fill
callbackNULL or function to call at the end of transfer
Returns
1 if function was successfully done, otherwise 0.

References udd_ep_run(), and UDI_VENDOR_EP_INTERRUPT_OUT.

Referenced by main_vendor_int_in_received().

uint8_t udi_vendor_alternate_setting = 0
static

USB descriptor alternate setting used.

Referenced by udi_vendor_disable(), udi_vendor_enable(), and udi_vendor_getsetting().