diff options
author | Dean Camera <[email protected]> | 2009-06-08 07:34:16 +0000 |
---|---|---|
committer | Dean Camera <[email protected]> | 2009-06-08 07:34:16 +0000 |
commit | ac70ddd0a1c412bb54def48e53caaebd0b5c9c61 (patch) | |
tree | a36501a89cb67ffffd278d94ae4b6519b1d60af9 /LUFA | |
parent | 33a018474913701fa9ef8e962acf58accd1184d2 (diff) | |
download | qmk_firmware-ac70ddd0a1c412bb54def48e53caaebd0b5c9c61.tar.gz qmk_firmware-ac70ddd0a1c412bb54def48e53caaebd0b5c9c61.zip |
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
Diffstat (limited to 'LUFA')
-rw-r--r-- | LUFA/ChangeLog.txt | 5 | ||||
-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 |
6 files changed, 15 insertions, 20 deletions
diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 94e8da087e..f65c62aeed 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -5,13 +5,14 @@ */
========== TODO: ===========
- - Fix bootloaders - make compatible with smaller USB AVRS (USB_IsConnected, RAMPZ)
+ - Fix bootloaders - make compatible with smaller USB AVRS (USB_IsConnected)
- Document new device class drivers
- Made new host class drivers
- Document new host class drivers
- Convert Host mode demos to class drivers
- Convert Host mode demos to schedulerless
- Add standardized descriptor names to class driver structures, controlled by USE_NONSTANDARD_DESCRIPTOR_NAMES
+ - Device demos error if endpoint config fail
============================
/** \page Page_ChangeLog Project Changelog
@@ -20,6 +21,8 @@ *
* - Removed psuedo-scheduler, dynamic memory block allocator from the library (no longer needed and not used respectively)
* - Added new class drivers and matching demos to the library for rapid application development
+ * - Added incomplete device and host mode demos for later enhancement
+ * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed
*
*
* \section Sec_ChangeLog090605 Version 090605
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.c b/LUFA/Drivers/USB/LowLevel/Endpoint.c index d02071bbd5..fd97b75c1d 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 02a1c2171c..5f3eeb8e87 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 82705db966..16a50ac8f2 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 4279ca3159..41b0ff5f67 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 720da17723..3c493fe5a0 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;
|