mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 11:21:23 +00:00
usb: Correct latencies for HID gadgets
This commit is contained in:
parent
604ec4416d
commit
d3c318d0c9
2 changed files with 8 additions and 4 deletions
|
@ -429,7 +429,7 @@ static usb_cfg_hid_descr_t usb_configuration_descriptor_hid_jc =
|
||||||
.endpoint[0].bEndpointAddress = 0x81, // USB_EP_ADDR_BULK_IN.
|
.endpoint[0].bEndpointAddress = 0x81, // USB_EP_ADDR_BULK_IN.
|
||||||
.endpoint[0].bmAttributes = USB_EP_TYPE_INTR,
|
.endpoint[0].bmAttributes = USB_EP_TYPE_INTR,
|
||||||
.endpoint[0].wMaxPacketSize = 0x200,
|
.endpoint[0].wMaxPacketSize = 0x200,
|
||||||
.endpoint[0].bInterval = 4, // 4ms on FS, 8ms on HS.
|
.endpoint[0].bInterval = 4, // 8ms on HS.
|
||||||
|
|
||||||
/* Endpoint descriptor structure EP1 OUT */
|
/* Endpoint descriptor structure EP1 OUT */
|
||||||
.endpoint[1].bLength = 7,
|
.endpoint[1].bLength = 7,
|
||||||
|
@ -437,7 +437,7 @@ static usb_cfg_hid_descr_t usb_configuration_descriptor_hid_jc =
|
||||||
.endpoint[1].bEndpointAddress = 0x01, // USB_EP_ADDR_BULK_OUT.
|
.endpoint[1].bEndpointAddress = 0x01, // USB_EP_ADDR_BULK_OUT.
|
||||||
.endpoint[1].bmAttributes = USB_EP_TYPE_INTR,
|
.endpoint[1].bmAttributes = USB_EP_TYPE_INTR,
|
||||||
.endpoint[1].wMaxPacketSize = 0x200,
|
.endpoint[1].wMaxPacketSize = 0x200,
|
||||||
.endpoint[1].bInterval = 4 // 4ms on FS, 8ms on HS.
|
.endpoint[1].bInterval = 4 // 8ms on HS.
|
||||||
};
|
};
|
||||||
|
|
||||||
static u8 usb_vendor_string_descriptor_hid[22] =
|
static u8 usb_vendor_string_descriptor_hid[22] =
|
||||||
|
@ -498,7 +498,7 @@ static usb_cfg_hid_descr_t usb_configuration_descriptor_hid_touch =
|
||||||
.endpoint[0].bEndpointAddress = 0x81, // USB_EP_ADDR_BULK_IN.
|
.endpoint[0].bEndpointAddress = 0x81, // USB_EP_ADDR_BULK_IN.
|
||||||
.endpoint[0].bmAttributes = USB_EP_TYPE_INTR,
|
.endpoint[0].bmAttributes = USB_EP_TYPE_INTR,
|
||||||
.endpoint[0].wMaxPacketSize = 0x200,
|
.endpoint[0].wMaxPacketSize = 0x200,
|
||||||
.endpoint[0].bInterval = 4, // 4ms on FS, 8ms on HS.
|
.endpoint[0].bInterval = 3, // 4ms on HS.
|
||||||
|
|
||||||
/* Endpoint descriptor structure EP1 OUT */
|
/* Endpoint descriptor structure EP1 OUT */
|
||||||
.endpoint[1].bLength = 7,
|
.endpoint[1].bLength = 7,
|
||||||
|
@ -506,7 +506,7 @@ static usb_cfg_hid_descr_t usb_configuration_descriptor_hid_touch =
|
||||||
.endpoint[1].bEndpointAddress = 0x01, // USB_EP_ADDR_BULK_OUT.
|
.endpoint[1].bEndpointAddress = 0x01, // USB_EP_ADDR_BULK_OUT.
|
||||||
.endpoint[1].bmAttributes = USB_EP_TYPE_INTR,
|
.endpoint[1].bmAttributes = USB_EP_TYPE_INTR,
|
||||||
.endpoint[1].wMaxPacketSize = 0x200,
|
.endpoint[1].wMaxPacketSize = 0x200,
|
||||||
.endpoint[1].bInterval = 4 // 4ms on FS, 8ms on HS.
|
.endpoint[1].bInterval = 3 // 4ms on HS.
|
||||||
};
|
};
|
||||||
|
|
||||||
usb_desc_t usb_gadget_ums_descriptors =
|
usb_desc_t usb_gadget_ums_descriptors =
|
||||||
|
|
|
@ -962,11 +962,15 @@ static void _usbd_handle_get_descriptor(bool *transmit_data, void **descriptor,
|
||||||
{
|
{
|
||||||
tmp->endpoint[0].wMaxPacketSize = 0x200;
|
tmp->endpoint[0].wMaxPacketSize = 0x200;
|
||||||
tmp->endpoint[1].wMaxPacketSize = 0x200;
|
tmp->endpoint[1].wMaxPacketSize = 0x200;
|
||||||
|
tmp->endpoint[0].bInterval = usbd_otg->gadget == USB_GADGET_HID_GAMEPAD ? 4 : 3; // 8ms : 4ms.
|
||||||
|
tmp->endpoint[1].bInterval = usbd_otg->gadget == USB_GADGET_HID_GAMEPAD ? 4 : 3; // 8ms : 4ms.
|
||||||
}
|
}
|
||||||
else // Full speed. 64 bytes.
|
else // Full speed. 64 bytes.
|
||||||
{
|
{
|
||||||
tmp->endpoint[0].wMaxPacketSize = 0x40;
|
tmp->endpoint[0].wMaxPacketSize = 0x40;
|
||||||
tmp->endpoint[1].wMaxPacketSize = 0x40;
|
tmp->endpoint[1].wMaxPacketSize = 0x40;
|
||||||
|
tmp->endpoint[0].bInterval = usbd_otg->gadget == USB_GADGET_HID_GAMEPAD ? 8 : 4; // 8ms : 4ms.
|
||||||
|
tmp->endpoint[1].bInterval = usbd_otg->gadget == USB_GADGET_HID_GAMEPAD ? 8 : 4; // 8ms : 4ms.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*descriptor = usbd_otg->desc->cfg;
|
*descriptor = usbd_otg->desc->cfg;
|
||||||
|
|
Loading…
Reference in a new issue