usbh:_ptxfe_int, use HPTXSTS, introduce usbhSyncrhonousTransfer
This commit is contained in:
parent
d2269527b7
commit
f5f3c8ffdb
|
@ -301,6 +301,12 @@ extern "C" {
|
|||
}
|
||||
|
||||
/* Synchronous API */
|
||||
usbh_urbstatus_t usbhSyncrhonousTransfer(usbh_ep_t *ep,
|
||||
void *data,
|
||||
uint32_t len,
|
||||
uint32_t *actual_len,
|
||||
systime_t timeout);
|
||||
|
||||
usbh_urbstatus_t usbhBulkTransfer(usbh_ep_t *ep,
|
||||
void *data,
|
||||
uint32_t len,
|
||||
|
|
|
@ -1172,18 +1172,14 @@ static inline void _nptxfe_int(USBHDriver *host) {
|
|||
}
|
||||
|
||||
static inline void _ptxfe_int(USBHDriver *host) {
|
||||
// //TODO: implement
|
||||
// (void)host;
|
||||
// uinfo("PTXFE");
|
||||
|
||||
uint32_t rem;
|
||||
stm32_otg_t *const otg = host->otg;
|
||||
|
||||
rem = _write_packet(&host->ep_active_lists[USBH_EPTYPE_CTRL],
|
||||
otg->HNPTXSTS & HPTXSTS_PTXFSAVL_MASK);
|
||||
rem = _write_packet(&host->ep_active_lists[USBH_EPTYPE_ISO],
|
||||
otg->HPTXSTS & HPTXSTS_PTXFSAVL_MASK);
|
||||
|
||||
rem += _write_packet(&host->ep_active_lists[USBH_EPTYPE_INT],
|
||||
otg->HNPTXSTS & HPTXSTS_PTXFSAVL_MASK);
|
||||
otg->HPTXSTS & HPTXSTS_PTXFSAVL_MASK);
|
||||
|
||||
if (!rem)
|
||||
otg->GINTMSK &= ~GINTMSK_PTXFEM;
|
||||
|
|
|
@ -335,10 +335,19 @@ usbh_urbstatus_t usbhBulkTransfer(usbh_ep_t *ep,
|
|||
uint32_t len,
|
||||
uint32_t *actual_len,
|
||||
systime_t timeout) {
|
||||
osalDbgAssert(ep->type == USBH_EPTYPE_BULK, "wrong ep");
|
||||
|
||||
return usbhSyncrhonousTransfer(ep,data,len,actual_len,timeout);
|
||||
}
|
||||
|
||||
usbh_urbstatus_t usbhSyncrhonousTransfer(usbh_ep_t *ep,
|
||||
void *data,
|
||||
uint32_t len,
|
||||
uint32_t *actual_len,
|
||||
systime_t timeout) {
|
||||
|
||||
osalDbgCheck(ep != NULL);
|
||||
osalDbgCheck((data != NULL) || (len == 0));
|
||||
// osalDbgAssert(ep->type == USBH_EPTYPE_BULK, "wrong ep");
|
||||
|
||||
usbh_urb_t urb;
|
||||
usbhURBObjectInit(&urb, ep, 0, 0, data, len);
|
||||
|
|
Loading…
Reference in New Issue