diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-06-08 07:34:16 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-06-08 07:34:16 +0000 |
commit | ac70ddd0a1c412bb54def48e53caaebd0b5c9c61 (patch) | |
tree | a36501a89cb67ffffd278d94ae4b6519b1d60af9 /LUFA/Drivers | |
parent | 33a018474913701fa9ef8e962acf58accd1184d2 (diff) | |
download | lufa-ac70ddd0a1c412bb54def48e53caaebd0b5c9c61.tar.gz lufa-ac70ddd0a1c412bb54def48e53caaebd0b5c9c61.tar.bz2 lufa-ac70ddd0a1c412bb54def48e53caaebd0b5c9c61.zip |
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
Diffstat (limited to 'LUFA/Drivers')
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Endpoint.c | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Host.c | 15 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/LowLevel.c | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/LowLevel.h | 3 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Pipe.c | 4 |
5 files changed, 11 insertions, 19 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.c b/LUFA/Drivers/USB/LowLevel/Endpoint.c index d02071bbd..fd97b75c1 100644 --- a/LUFA/Drivers/USB/LowLevel/Endpoint.c +++ b/LUFA/Drivers/USB/LowLevel/Endpoint.c @@ -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;
diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c index 02a1c2171..5f3eeb8e8 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.c +++ b/LUFA/Drivers/USB/LowLevel/Host.c @@ -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;
}
diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.c b/LUFA/Drivers/USB/LowLevel/LowLevel.c index 82705db96..16a50ac8f 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.c +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.c @@ -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)
diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.h b/LUFA/Drivers/USB/LowLevel/LowLevel.h index 4279ca315..41b0ff5f6 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.h +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.h @@ -350,9 +350,6 @@ return USB_MODE_HOST;
}
#endif
-
- /* External Variables: */
- extern volatile bool FrameElapsed;
#endif
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c index 720da1772..3c493fe5a 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.c +++ b/LUFA/Drivers/USB/LowLevel/Pipe.c @@ -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;
|