aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Core/UC3B
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-02-27 20:38:47 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-02-27 20:38:47 +0000
commitc79f6e2586047f66f96089e7f398622ccac80cec (patch)
tree45af01aeaabaaced63092d4f7572f265432c0965 /LUFA/Drivers/USB/Core/UC3B
parent04526d284dec7f2b2b2cd3716de979d8d3140198 (diff)
downloadlufa-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.c2
-rw-r--r--LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.c6
-rw-r--r--LUFA/Drivers/USB/Core/UC3B/USBInterrupt_UC3B.h86
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;