Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson).
This commit is contained in:
parent
4a09da2098
commit
3803976534
23 changed files with 157 additions and 67 deletions
|
@ -210,10 +210,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
/* Clear the endpoint data */
|
||||
Endpoint_ClearSetupOUT();
|
||||
|
||||
/* Wait until the host is ready to receive the request confirmation */
|
||||
/* Acknowledge status stage */
|
||||
while (!(Endpoint_IsSetupINReady()));
|
||||
|
||||
/* Handshake the request by sending an empty IN packet */
|
||||
Endpoint_ClearSetupIN();
|
||||
}
|
||||
|
||||
|
@ -228,6 +226,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
|
||||
/* Send the flag to the host */
|
||||
Endpoint_ClearSetupIN();
|
||||
|
||||
/* Acknowledge status stage */
|
||||
while (!(Endpoint_IsSetupOUTReceived()));
|
||||
Endpoint_ClearSetupOUT();
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -242,7 +244,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
/* Set or clear the flag depending on what the host indicates that the current Protocol should be */
|
||||
UsingReportProtocol = (wValue != 0x0000);
|
||||
|
||||
/* Send an empty packet to acknowedge the command */
|
||||
/* Acknowledge status stage */
|
||||
while (!(Endpoint_IsSetupINReady()));
|
||||
Endpoint_ClearSetupIN();
|
||||
}
|
||||
|
||||
|
@ -258,7 +261,8 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
/* Get idle period in MSB */
|
||||
IdleCount = (wValue >> 8);
|
||||
|
||||
/* Send an empty packet to acknowedge the command */
|
||||
/* Acknowledge status stage */
|
||||
while (!(Endpoint_IsSetupINReady()));
|
||||
Endpoint_ClearSetupIN();
|
||||
}
|
||||
|
||||
|
@ -273,6 +277,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
|
|||
|
||||
/* Send the flag to the host */
|
||||
Endpoint_ClearSetupIN();
|
||||
|
||||
/* Acknowledge status stage */
|
||||
while (!(Endpoint_IsSetupOUTReceived()));
|
||||
Endpoint_ClearSetupOUT();
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue