mirror of
https://github.com/hathach/tinyusb.git
synced 2025-04-17 08:45:13 +00:00
got interrupt endpoint working
This commit is contained in:
parent
d4d7d35afb
commit
fa62d5abc9
@ -1 +1 @@
|
||||
Subproject commit ee20881ac8abc515df5e0cfe8851c7c21c47a0ef
|
||||
Subproject commit 92268187f3b0490a43d139ed2cb598b06258011f
|
@ -167,8 +167,45 @@ bool hcd_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const
|
||||
{
|
||||
rhport = RHPORT_PIO(rhport);
|
||||
|
||||
usb_device[0].event = EVENT_NONE;
|
||||
usb_device[0].address = dev_addr;
|
||||
usb_device_t *device = &usb_device[0];
|
||||
|
||||
static uint8_t ep_id_idx; // TODO remove later
|
||||
|
||||
if (ep_desc->bEndpointAddress == 0)
|
||||
{
|
||||
device->event = EVENT_NONE;
|
||||
device->address = dev_addr;
|
||||
|
||||
ep_id_idx = 0;
|
||||
}else if (ep_desc->bmAttributes.xfer == TUSB_XFER_INTERRUPT) // only support interrupt endpoint
|
||||
{
|
||||
endpoint_t *ep = NULL;
|
||||
for ( int ep_pool_idx = 0; ep_pool_idx < PIO_USB_EP_POOL_CNT; ep_pool_idx++ )
|
||||
{
|
||||
if ( ep_pool[ep_pool_idx].ep_num == 0 )
|
||||
{
|
||||
ep = &ep_pool[ep_pool_idx];
|
||||
device->endpoint_id[ep_id_idx] = ep_pool_idx + 1;
|
||||
ep_id_idx++;
|
||||
|
||||
ep->data_id = 0;
|
||||
ep->ep_num = ep_desc->bEndpointAddress;
|
||||
ep->interval = ep_desc->bInterval;
|
||||
ep->interval_counter = 0;
|
||||
ep->size = (uint8_t) tu_edpt_packet_size(ep_desc);
|
||||
ep->attr = EP_ATTR_INTERRUPT;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// TU_LOG1_INT(device->connected);
|
||||
// TU_LOG1_INT(device->root);
|
||||
// TU_LOG1_INT(device->is_root);
|
||||
// TU_LOG1_INT(device->is_fullspeed);
|
||||
//
|
||||
// TU_LOG1_INT(ep_id_idx);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user