Revert cancelling a transfer, as the USB endpoint is still locked up
This commit is contained in:
@@ -26,12 +26,8 @@ usb_status_t UsbBasicKeyboardAction(void)
|
|||||||
if (!UsbCompositeDevice.attach)
|
if (!UsbCompositeDevice.attach)
|
||||||
return kStatus_USB_Error; // The device is not attached
|
return kStatus_USB_Error; // The device is not attached
|
||||||
|
|
||||||
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy) {
|
if (((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy)
|
||||||
((usb_device_hid_struct_t *)UsbCompositeDevice.basicKeyboardHandle)->interruptInPipeBusy = 0;
|
return kStatus_USB_Busy; // The previous report has not been sent yet
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
UsbBasicKeyboardActionCounter++;
|
UsbBasicKeyboardActionCounter++;
|
||||||
SwitchActiveUsbBasicKeyboardReport(); // Switch the active report
|
SwitchActiveUsbBasicKeyboardReport(); // Switch the active report
|
||||||
|
|||||||
@@ -407,12 +407,12 @@ static uint32_t lastMouseUpdateTime;
|
|||||||
void UpdateUsbReports(void)
|
void UpdateUsbReports(void)
|
||||||
{
|
{
|
||||||
UsbReportUpdateCounter++;
|
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.mediaKeyboardHandle)->interruptInPipeBusy ||
|
||||||
((usb_device_hid_struct_t *)UsbCompositeDevice.systemKeyboardHandle)->interruptInPipeBusy ||
|
((usb_device_hid_struct_t *)UsbCompositeDevice.systemKeyboardHandle)->interruptInPipeBusy ||
|
||||||
((usb_device_hid_struct_t *)UsbCompositeDevice.mouseHandle)->interruptInPipeBusy) {
|
((usb_device_hid_struct_t *)UsbCompositeDevice.mouseHandle)->interruptInPipeBusy) {
|
||||||
return;
|
return;
|
||||||
} else */if (Timer_GetElapsedTime(&lastMouseUpdateTime) < USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
|
} else if (Timer_GetElapsedTime(&lastMouseUpdateTime) < USB_BASIC_KEYBOARD_INTERRUPT_IN_INTERVAL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Timer_SetCurrentTime(&lastMouseUpdateTime);
|
Timer_SetCurrentTime(&lastMouseUpdateTime);
|
||||||
|
|||||||
Reference in New Issue
Block a user