Revert cancelling a transfer, as the USB endpoint is still locked up

This commit is contained in:
Kristian Sloth Lauszus
2018-06-30 18:25:03 +02:00
parent 409bd01af6
commit b6f59563c7
2 changed files with 4 additions and 8 deletions

View File

@@ -26,12 +26,8 @@ usb_status_t UsbBasicKeyboardAction(void)
if (!UsbCompositeDevice.attach)
return kStatus_USB_Error; // The device is not attached
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy) {
((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy = 0;
return USB_DeviceCancel(((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->handle,
(USB_BASIC_KEYBOARD_ENDPOINT_INDEX & USB_ENDPOINT_NUMBER_MASK) |
USB_DESCRIPTOR_ENDPOINT_ADDRESS_DIRECTION_IN);
}
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy)
return kStatus_USB_Busy; // The previous report has not been sent yet
UsbBasicKeyboardActionCounter++;
SwitchActiveUsbBasicKeyboardReport(); // Switch the active report

View File

@@ -407,12 +407,12 @@ static uint32_t lastMouseUpdateTime;
void UpdateUsbReports(void)
{
UsbReportUpdateCounter++;
/*if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy ||
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy ||
((usb_device_hid_struct_t *)UsbCompositeDevice.mediaKeyboardHandle)->interruptInPipeBusy ||
((usb_device_hid_struct_t *)UsbCompositeDevice.systemKeyboardHandle)->interruptInPipeBusy ||
((usb_device_hid_struct_t *)UsbCompositeDevice.mouseHandle)->interruptInPipeBusy) {
return;
} else */if (Timer_GetElapsedTime(&lastMouseUpdateTime) < USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
} else if (Timer_GetElapsedTime(&lastMouseUpdateTime) < USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
return;
}
Timer_SetCurrentTime(&lastMouseUpdateTime);