forked from mirror/qmk_firmware
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
This commit is contained in:
@@ -98,9 +98,9 @@ uint8_t Endpoint_WaitUntilReady(void)
|
||||
else if (Endpoint_IsStalled())
|
||||
return ENDPOINT_READYWAIT_EndpointStalled;
|
||||
|
||||
if (FrameElapsed)
|
||||
if (USB_INT_HasOccurred(USB_INT_HSOFI))
|
||||
{
|
||||
FrameElapsed = false;
|
||||
USB_INT_Clear(USB_INT_HSOFI);
|
||||
|
||||
if (!(TimeoutMSRem--))
|
||||
return ENDPOINT_READYWAIT_Timeout;
|
||||
|
||||
@@ -214,9 +214,9 @@ uint8_t USB_Host_WaitMS(uint8_t MS)
|
||||
|
||||
while (MS)
|
||||
{
|
||||
if (FrameElapsed)
|
||||
if (USB_INT_HasOccurred(USB_INT_HSOFI))
|
||||
{
|
||||
FrameElapsed = false;
|
||||
USB_INT_Clear(USB_INT_HSOFI);
|
||||
MS--;
|
||||
}
|
||||
|
||||
@@ -259,9 +259,9 @@ static void USB_Host_ResetDevice(void)
|
||||
USB_Host_ResetBus();
|
||||
while (!(USB_Host_IsBusResetComplete()));
|
||||
|
||||
USB_Host_ResumeBus();
|
||||
|
||||
FrameElapsed = false;
|
||||
USB_Host_ResumeBus();
|
||||
|
||||
USB_INT_Clear(USB_INT_HSOFI);
|
||||
|
||||
for (uint8_t MSRem = 10; MSRem != 0; MSRem--)
|
||||
{
|
||||
@@ -270,10 +270,9 @@ static void USB_Host_ResetDevice(void)
|
||||
looked for - if it is found within 10ms, the device is still
|
||||
present. */
|
||||
|
||||
if (FrameElapsed)
|
||||
if (USB_INT_HasOccurred(USB_INT_HSOFI))
|
||||
{
|
||||
FrameElapsed = false;
|
||||
|
||||
USB_INT_Clear(USB_INT_HSOFI);
|
||||
USB_INT_Clear(USB_INT_DDISCI);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -38,8 +38,6 @@ volatile uint8_t USB_CurrentMode = USB_MODE_NONE;
|
||||
volatile uint8_t USB_Options;
|
||||
#endif
|
||||
|
||||
volatile bool FrameElapsed;
|
||||
|
||||
void USB_Init(
|
||||
#if defined(USB_CAN_BE_BOTH)
|
||||
const uint8_t Mode
|
||||
@@ -152,8 +150,6 @@ void USB_ResetInterface(void)
|
||||
USB_INT_DisableAllInterrupts();
|
||||
USB_INT_ClearAllInterrupts();
|
||||
|
||||
FrameElapsed = false;
|
||||
|
||||
USB_IsConnected = false;
|
||||
|
||||
#if defined(USB_CAN_BE_HOST)
|
||||
|
||||
@@ -350,9 +350,6 @@
|
||||
return USB_MODE_HOST;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* External Variables: */
|
||||
extern volatile bool FrameElapsed;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -94,9 +94,9 @@ uint8_t Pipe_WaitUntilReady(void)
|
||||
else if (!(USB_IsConnected))
|
||||
return PIPE_READYWAIT_DeviceDisconnected;
|
||||
|
||||
if (FrameElapsed)
|
||||
if (USB_INT_HasOccurred(USB_INT_HSOFI))
|
||||
{
|
||||
FrameElapsed = false;
|
||||
USB_INT_Clear(USB_INT_HSOFI);
|
||||
|
||||
if (!(TimeoutMSRem--))
|
||||
return PIPE_READYWAIT_Timeout;
|
||||
|
||||
Reference in New Issue
Block a user