diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2011-02-27 20:38:47 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2011-02-27 20:38:47 +0000 |
commit | c79f6e2586047f66f96089e7f398622ccac80cec (patch) | |
tree | 45af01aeaabaaced63092d4f7572f265432c0965 /LUFA/Drivers/USB/Core/UC3B | |
parent | 04526d284dec7f2b2b2cd3716de979d8d3140198 (diff) | |
download | lufa-c79f6e2586047f66f96089e7f398622ccac80cec.tar.gz lufa-c79f6e2586047f66f96089e7f398622ccac80cec.tar.bz2 lufa-c79f6e2586047f66f96089e7f398622ccac80cec.zip |
Oops - ensure that only the relevant/available interrupts are defined and used on each architecture.
Make all USB driver headers include USBMode.h first, to ensure that the relevant USB mode macros are defined.
Diffstat (limited to 'LUFA/Drivers/USB/Core/UC3B')
-rw-r--r-- | LUFA/Drivers/USB/Core/UC3B/USBController_UC3B.c | 2 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c | 6 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h | 86 |
3 files changed, 62 insertions, 32 deletions
diff --git a/LUFA/Drivers/USB/Core/UC3B/USBController_UC3B.c b/LUFA/Drivers/USB/Core/UC3B/USBController_UC3B.c index 9ae5a27c6..88dbcdaeb 100644 --- a/LUFA/Drivers/USB/Core/UC3B/USBController_UC3B.c +++ b/LUFA/Drivers/USB/Core/UC3B/USBController_UC3B.c @@ -184,7 +184,7 @@ static void USB_Init_Host(void) USB_Host_VBUS_Auto_On();
- USB_INT_Enable(USB_INT_SRPI);
+ USB_INT_Enable(USB_INT_DCONNI);
USB_INT_Enable(USB_INT_BCERRI);
USB_Attach();
diff --git a/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c b/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c index 0603d5c4a..77dbc9f99 100644 --- a/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c +++ b/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c @@ -160,10 +160,10 @@ ISR(USB_GEN_vect) USB_HostState = HOST_STATE_Unattached;
}
- if (USB_INT_HasOccurred(USB_INT_SRPI) && USB_INT_IsEnabled(USB_INT_SRPI))
+ if (USB_INT_HasOccurred(USB_INT_DCONNI) && USB_INT_IsEnabled(USB_INT_DCONNI))
{
- USB_INT_Clear(USB_INT_SRPI);
- USB_INT_Disable(USB_INT_SRPI);
+ USB_INT_Clear(USB_INT_DCONNI);
+ USB_INT_Disable(USB_INT_DCONNI);
EVENT_USB_Host_DeviceAttached();
diff --git a/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h b/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h index e2f96e621..4100a01f7 100644 --- a/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h +++ b/LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h @@ -60,19 +60,24 @@ enum USB_Interrupts_t
{
USB_INT_VBUSTI = 0,
+ #if (defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__))
USB_INT_IDTI = 1,
+ #endif
+ #if (defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__))
USB_INT_WAKEUPI = 2,
USB_INT_SUSPI = 3,
USB_INT_EORSTI = 4,
USB_INT_SOFI = 5,
- USB_INT_HSOFI = 6,
- USB_INT_DCONNI = 7,
- USB_INT_DDISCI = 8,
- USB_INT_RSTI = 9,
- USB_INT_BCERRI = 10,
- USB_INT_VBERRI = 11,
- USB_INT_SRPI = 12,
- USB_INT_RXSTPI = 13,
+ USB_INT_RXSTPI = 6,
+ #endif
+ #if (defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__))
+ USB_INT_HSOFI = 7,
+ USB_INT_DCONNI = 8,
+ USB_INT_DDISCI = 9,
+ USB_INT_RSTI = 10,
+ USB_INT_BCERRI = 11,
+ USB_INT_VBERRI = 12,
+ #endif
};
/* Inline Functions: */
@@ -84,9 +89,12 @@ case USB_INT_VBUSTI:
AVR32_USBB.USBCON.vbuste = true;
break;
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
AVR32_USBB.USBCON.idte = true;
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
AVR32_USBB.UDINTESET.wakeupes = true;
break;
@@ -99,6 +107,11 @@ case USB_INT_SOFI:
AVR32_USBB.UDINTESET.sofes = true;
break;
+ case USB_INT_RXSTPI:
+ // TODO
+ return;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
AVR32_USBB.UHINTESET.hsofies = true;
break;
@@ -117,10 +130,7 @@ case USB_INT_VBERRI:
AVR32_USBB.USBCON.vberre = true;
break;
- case USB_INT_SRPI:
- case USB_INT_RXSTPI:
- // TODO
- return;
+ #endif
}
}
@@ -132,9 +142,12 @@ case USB_INT_VBUSTI:
AVR32_USBB.USBCON.vbuste = false;
break;
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
AVR32_USBB.USBCON.idte = false;
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
AVR32_USBB.UDINTECLR.wakeupec = true;
break;
@@ -147,6 +160,11 @@ case USB_INT_SOFI:
AVR32_USBB.UDINTECLR.sofec = true;
break;
+ case USB_INT_RXSTPI:
+ // TODO
+ return;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
AVR32_USBB.UHINTECLR.hsofiec = true;
break;
@@ -165,10 +183,7 @@ case USB_INT_VBERRI:
AVR32_USBB.USBCON.vberre = false;
break;
- case USB_INT_SRPI:
- case USB_INT_RXSTPI:
- // TODO
- return;
+ #endif
}
}
@@ -180,9 +195,12 @@ case USB_INT_VBUSTI:
AVR32_USBB.USBSTACLR.vbustic = true;
break;
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
AVR32_USBB.USBSTACLR.idtic = true;
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
AVR32_USBB.UDINTCLR.wakeupc = true;
break;
@@ -195,6 +213,11 @@ case USB_INT_SOFI:
AVR32_USBB.UDINTCLR.sofc = true;
break;
+ case USB_INT_RXSTPI:
+ // TODO
+ return;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
AVR32_USBB.UHINTCLR.hsofic = true;
break;
@@ -213,10 +236,7 @@ case USB_INT_VBERRI:
AVR32_USBB.USBSTACLR.vberric = true;
break;
- case USB_INT_SRPI:
- case USB_INT_RXSTPI:
- // TODO
- return;
+ #endif
}
}
@@ -227,8 +247,11 @@ {
case USB_INT_VBUSTI:
return AVR32_USBB.USBCON.vbuste;
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
return AVR32_USBB.USBCON.idte;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
return AVR32_USBB.UDINTE.wakeupe;
case USB_INT_SUSPI:
@@ -237,6 +260,11 @@ return AVR32_USBB.UDINTE.eorste;
case USB_INT_SOFI:
return AVR32_USBB.UDINTE.sofe;
+ case USB_INT_RXSTPI:
+ // TODO
+ return false;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
return AVR32_USBB.UHINTE.hsofie;
case USB_INT_DCONNI:
@@ -249,10 +277,7 @@ return AVR32_USBB.USBCON.bcerre;
case USB_INT_VBERRI:
return AVR32_USBB.USBCON.vberre;
- case USB_INT_SRPI:
- case USB_INT_RXSTPI:
- // TODO
- return false;
+ #endif
}
return false;
@@ -265,8 +290,11 @@ {
case USB_INT_VBUSTI:
return AVR32_USBB.USBSTA.vbusti;
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
return AVR32_USBB.USBSTA.idti;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
return AVR32_USBB.UDINT.wakeup;
case USB_INT_SUSPI:
@@ -275,6 +303,11 @@ return AVR32_USBB.UDINT.eorst;
case USB_INT_SOFI:
return AVR32_USBB.UDINT.sof;
+ case USB_INT_RXSTPI:
+ // TODO
+ return false;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
return AVR32_USBB.UHINT.hsofi;
case USB_INT_DCONNI:
@@ -287,10 +320,7 @@ return AVR32_USBB.USBSTA.bcerri;
case USB_INT_VBERRI:
return AVR32_USBB.USBSTA.vberri;
- case USB_INT_SRPI:
- case USB_INT_RXSTPI:
- // TODO
- return false;
+ #endif
}
return false;
|