2010-08-18 03:57:45 +00:00
|
|
|
#define STM32_USB_IRQ_PRIORITY 11
|
|
|
|
void usb_lld_init (void);
|
2012-01-16 03:17:45 +00:00
|
|
|
|
2012-01-16 04:24:31 +00:00
|
|
|
extern inline void usb_lld_stall_tx (int ep_num)
|
|
|
|
{
|
|
|
|
SetEPTxStatus (ep_num, EP_TX_STALL);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline void usb_lld_stall_rx (int ep_num)
|
|
|
|
{
|
|
|
|
SetEPRxStatus (ep_num, EP_RX_STALL);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline int usb_lld_tx_data_len (int ep_num)
|
|
|
|
{
|
|
|
|
return GetEPTxCount (ep_num);
|
|
|
|
}
|
|
|
|
|
2012-01-16 03:17:45 +00:00
|
|
|
extern inline void usb_lld_txcpy (const uint8_t *src,
|
|
|
|
int ep_num, int offset, size_t len)
|
|
|
|
{
|
|
|
|
UserToPMABufferCopy ((uint8_t *)src, GetEPTxAddr (ep_num) + offset, len);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline void usb_lld_tx_enable (int ep_num, size_t len)
|
|
|
|
{
|
|
|
|
SetEPTxCount (ep_num, len);
|
|
|
|
SetEPTxValid (ep_num);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline void usb_lld_write (uint8_t ep_num, void *buf, size_t len)
|
|
|
|
{
|
|
|
|
UserToPMABufferCopy (buf, GetEPTxAddr (ep_num), len);
|
|
|
|
SetEPTxCount (ep_num, len);
|
|
|
|
SetEPTxValid (ep_num);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline void usb_lld_rx_enable (int ep_num)
|
|
|
|
{
|
|
|
|
SetEPRxValid (ep_num);
|
|
|
|
}
|
|
|
|
|
2012-01-16 04:24:31 +00:00
|
|
|
extern inline int usb_lld_rx_data_len (int ep_num)
|
2012-01-16 03:17:45 +00:00
|
|
|
{
|
|
|
|
return GetEPRxCount (ep_num);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern inline void usb_lld_rxcpy (uint8_t *dst,
|
|
|
|
int ep_num, int offset, size_t len)
|
|
|
|
{
|
|
|
|
PMAToUserBufferCopy (dst, GetEPRxAddr (ep_num) + offset, len);
|
|
|
|
}
|