aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-06-08 07:34:16 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-06-08 07:34:16 +0000
commitac70ddd0a1c412bb54def48e53caaebd0b5c9c61 (patch)
treea36501a89cb67ffffd278d94ae4b6519b1d60af9 /LUFA/Drivers
parent33a018474913701fa9ef8e962acf58accd1184d2 (diff)
downloadlufa-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.c4
-rw-r--r--LUFA/Drivers/USB/LowLevel/Host.c15
-rw-r--r--LUFA/Drivers/USB/LowLevel/LowLevel.c4
-rw-r--r--LUFA/Drivers/USB/LowLevel/LowLevel.h3
-rw-r--r--LUFA/Drivers/USB/LowLevel/Pipe.c4
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;