Make all USB driver headers include USBMode.h first, to ensure that the relevant USB mode macros are defined.
/* Enums: */
enum USB_Interrupts_t
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__))
USB_INT_VBUSTI = 0,
+ #endif
+ #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,
+ USB_INT_SRPI = 13,
+ #endif
};
/* Inline Functions: */
{
switch (Interrupt)
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
case USB_INT_VBUSTI:
USBCON |= (1 << VBUSTE);
break;
+ #endif
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
USBCON |= (1 << IDTE);
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
UDIEN |= (1 << WAKEUPE);
break;
case USB_INT_SOFI:
UDIEN |= (1 << SOFE);
break;
+ case USB_INT_RXSTPI:
+ UEIENX |= (1 << RXSTPE);
+ break;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
UHIEN |= (1 << HSOFE);
break;
case USB_INT_SRPI:
OTGIEN |= (1 << SRPE);
break;
- case USB_INT_RXSTPI:
- UEIENX |= (1 << RXSTPE);
- break;
+ #endif
}
}
{
switch (Interrupt)
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
case USB_INT_VBUSTI:
USBCON &= ~(1 << VBUSTE);
break;
+ #endif
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
USBCON &= ~(1 << IDTE);
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
UDIEN &= ~(1 << WAKEUPE);
break;
case USB_INT_SOFI:
UDIEN &= ~(1 << SOFE);
break;
+ case USB_INT_RXSTPI:
+ UEIENX &= ~(1 << RXSTPE);
+ break;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
UHIEN &= ~(1 << HSOFE);
break;
case USB_INT_SRPI:
OTGIEN &= ~(1 << SRPE);
break;
- case USB_INT_RXSTPI:
- UEIENX &= ~(1 << RXSTPE);
- break;
+ #endif
}
}
{
switch (Interrupt)
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
case USB_INT_VBUSTI:
USBINT &= ~(1 << VBUSTI);
break;
+ #endif
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
USBINT &= ~(1 << IDTI);
break;
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
UDINT &= ~(1 << WAKEUPI);
break;
case USB_INT_SOFI:
UDINT &= ~(1 << SOFI);
break;
+ case USB_INT_RXSTPI:
+ UEINTX &= ~(1 << RXSTPI);
+ break;
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
UHINT &= ~(1 << HSOFI);
break;
case USB_INT_SRPI:
OTGINT &= ~(1 << SRPI);
break;
- case USB_INT_RXSTPI:
- UEINTX &= ~(1 << RXSTPI);
- break;
+ #endif
}
}
{
switch (Interrupt)
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
case USB_INT_VBUSTI:
return (USBCON & (1 << VBUSTE));
+ #endif
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
return (USBCON & (1 << IDTE));
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
return (UDIEN & (1 << WAKEUPE));
case USB_INT_SUSPI:
return (UDIEN & (1 << EORSTE));
case USB_INT_SOFI:
return (UDIEN & (1 << SOFE));
+ case USB_INT_RXSTPI:
+ return (UEIENX & (1 << RXSTPE));
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
return (UHIEN & (1 << HSOFE));
case USB_INT_DCONNI:
return (OTGIEN & (1 << VBERRE));
case USB_INT_SRPI:
return (OTGIEN & (1 << SRPE));
- case USB_INT_RXSTPI:
- return (UEIENX & (1 << RXSTPE));
- break;
+ #endif
}
return false;
{
switch (Interrupt)
{
+ #if (defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
case USB_INT_VBUSTI:
return (USBINT & (1 << VBUSTI));
+ #endif
+ #if defined(USB_CAN_BE_BOTH)
case USB_INT_IDTI:
return (USBINT & (1 << IDTI));
+ #endif
+ #if defined(USB_CAN_BE_DEVICE)
case USB_INT_WAKEUPI:
return (UDINT & (1 << WAKEUPI));
case USB_INT_SUSPI:
return (UDINT & (1 << EORSTI));
case USB_INT_SOFI:
return (UDINT & (1 << SOFI));
+ case USB_INT_RXSTPI:
+ return (UEINTX & (1 << RXSTPI));
+ #endif
+ #if defined(USB_CAN_BE_HOST)
case USB_INT_HSOFI:
return (UHINT & (1 << HSOFI));
case USB_INT_DCONNI:
return (OTGINT & (1 << VBERRI));
case USB_INT_SRPI:
return (OTGINT & (1 << SRPI));
- case USB_INT_RXSTPI:
- return (UEINTX & (1 << RXSTPI));
+ #endif
}
return false;
/* Includes: */
#include "../../../Common/Common.h"
+ #include "USBMode.h"
#include "HostStandardReq.h"
- #include "USBMode.h"
#include "StdDescriptors.h"
/* Enable C linkage for C++ Compilers: */
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
#include "StdDescriptors.h"\r
#include "USBInterrupt.h"\r
#include "Endpoint.h"\r
/* Includes: */
#include "../../../Common/Common.h"
+ #include "USBMode.h"
#include "StdDescriptors.h"
#include "Events.h"
#include "StdRequestType.h"
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
#include "USBTask.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
#include "USBTask.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
/* Includes: */
#include "../../../Common/Common.h"
+ #include "USBMode.h"
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_USB_DRIVER)
\r
USB_Host_VBUS_Auto_On();\r
\r
- USB_INT_Enable(USB_INT_SRPI);\r
+ USB_INT_Enable(USB_INT_DCONNI);\r
USB_INT_Enable(USB_INT_BCERRI);\r
\r
USB_Attach();\r
USB_HostState = HOST_STATE_Unattached;\r
}\r
\r
- if (USB_INT_HasOccurred(USB_INT_SRPI) && USB_INT_IsEnabled(USB_INT_SRPI))\r
+ if (USB_INT_HasOccurred(USB_INT_DCONNI) && USB_INT_IsEnabled(USB_INT_DCONNI))\r
{\r
- USB_INT_Clear(USB_INT_SRPI);\r
- USB_INT_Disable(USB_INT_SRPI);\r
+ USB_INT_Clear(USB_INT_DCONNI);\r
+ USB_INT_Disable(USB_INT_DCONNI);\r
\r
EVENT_USB_Host_DeviceAttached();\r
\r
enum USB_Interrupts_t\r
{\r
USB_INT_VBUSTI = 0,\r
+ #if (defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__))\r
USB_INT_IDTI = 1,\r
+ #endif\r
+ #if (defined(USB_CAN_BE_DEVICE) || defined(__DOXYGEN__))\r
USB_INT_WAKEUPI = 2,\r
USB_INT_SUSPI = 3,\r
USB_INT_EORSTI = 4,\r
USB_INT_SOFI = 5,\r
- USB_INT_HSOFI = 6,\r
- USB_INT_DCONNI = 7,\r
- USB_INT_DDISCI = 8,\r
- USB_INT_RSTI = 9,\r
- USB_INT_BCERRI = 10,\r
- USB_INT_VBERRI = 11,\r
- USB_INT_SRPI = 12,\r
- USB_INT_RXSTPI = 13,\r
+ USB_INT_RXSTPI = 6,\r
+ #endif\r
+ #if (defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)) \r
+ USB_INT_HSOFI = 7,\r
+ USB_INT_DCONNI = 8,\r
+ USB_INT_DDISCI = 9,\r
+ USB_INT_RSTI = 10,\r
+ USB_INT_BCERRI = 11,\r
+ USB_INT_VBERRI = 12,\r
+ #endif\r
};\r
\r
/* Inline Functions: */\r
case USB_INT_VBUSTI:\r
AVR32_USBB.USBCON.vbuste = true;\r
break;\r
+ #if defined(USB_CAN_BE_BOTH)\r
case USB_INT_IDTI:\r
AVR32_USBB.USBCON.idte = true;\r
break;\r
+ #endif\r
+ #if defined(USB_CAN_BE_DEVICE)\r
case USB_INT_WAKEUPI:\r
AVR32_USBB.UDINTESET.wakeupes = true;\r
break;\r
case USB_INT_SOFI:\r
AVR32_USBB.UDINTESET.sofes = true;\r
break;\r
+ case USB_INT_RXSTPI:\r
+ // TODO\r
+ return;\r
+ #endif\r
+ #if defined(USB_CAN_BE_HOST)\r
case USB_INT_HSOFI:\r
AVR32_USBB.UHINTESET.hsofies = true;\r
break;\r
case USB_INT_VBERRI:\r
AVR32_USBB.USBCON.vberre = true;\r
break;\r
- case USB_INT_SRPI:\r
- case USB_INT_RXSTPI:\r
- // TODO\r
- return;\r
+ #endif\r
}\r
}\r
\r
case USB_INT_VBUSTI:\r
AVR32_USBB.USBCON.vbuste = false;\r
break;\r
+ #if defined(USB_CAN_BE_BOTH)\r
case USB_INT_IDTI:\r
AVR32_USBB.USBCON.idte = false;\r
break;\r
+ #endif\r
+ #if defined(USB_CAN_BE_DEVICE)\r
case USB_INT_WAKEUPI:\r
AVR32_USBB.UDINTECLR.wakeupec = true;\r
break;\r
case USB_INT_SOFI:\r
AVR32_USBB.UDINTECLR.sofec = true;\r
break;\r
+ case USB_INT_RXSTPI:\r
+ // TODO\r
+ return;\r
+ #endif\r
+ #if defined(USB_CAN_BE_HOST)\r
case USB_INT_HSOFI:\r
AVR32_USBB.UHINTECLR.hsofiec = true;\r
break;\r
case USB_INT_VBERRI:\r
AVR32_USBB.USBCON.vberre = false;\r
break;\r
- case USB_INT_SRPI:\r
- case USB_INT_RXSTPI:\r
- // TODO\r
- return;\r
+ #endif\r
}\r
}\r
\r
case USB_INT_VBUSTI:\r
AVR32_USBB.USBSTACLR.vbustic = true;\r
break;\r
+ #if defined(USB_CAN_BE_BOTH)\r
case USB_INT_IDTI:\r
AVR32_USBB.USBSTACLR.idtic = true;\r
break;\r
+ #endif\r
+ #if defined(USB_CAN_BE_DEVICE)\r
case USB_INT_WAKEUPI:\r
AVR32_USBB.UDINTCLR.wakeupc = true;\r
break;\r
case USB_INT_SOFI:\r
AVR32_USBB.UDINTCLR.sofc = true;\r
break;\r
+ case USB_INT_RXSTPI:\r
+ // TODO\r
+ return;\r
+ #endif\r
+ #if defined(USB_CAN_BE_HOST)\r
case USB_INT_HSOFI:\r
AVR32_USBB.UHINTCLR.hsofic = true;\r
break;\r
case USB_INT_VBERRI:\r
AVR32_USBB.USBSTACLR.vberric = true;\r
break;\r
- case USB_INT_SRPI:\r
- case USB_INT_RXSTPI:\r
- // TODO\r
- return;\r
+ #endif\r
}\r
}\r
\r
{\r
case USB_INT_VBUSTI:\r
return AVR32_USBB.USBCON.vbuste;\r
+ #if defined(USB_CAN_BE_BOTH)\r
case USB_INT_IDTI:\r
return AVR32_USBB.USBCON.idte;\r
+ #endif\r
+ #if defined(USB_CAN_BE_DEVICE)\r
case USB_INT_WAKEUPI:\r
return AVR32_USBB.UDINTE.wakeupe;\r
case USB_INT_SUSPI:\r
return AVR32_USBB.UDINTE.eorste;\r
case USB_INT_SOFI:\r
return AVR32_USBB.UDINTE.sofe;\r
+ case USB_INT_RXSTPI:\r
+ // TODO\r
+ return false;\r
+ #endif\r
+ #if defined(USB_CAN_BE_HOST) \r
case USB_INT_HSOFI:\r
return AVR32_USBB.UHINTE.hsofie;\r
case USB_INT_DCONNI:\r
return AVR32_USBB.USBCON.bcerre;\r
case USB_INT_VBERRI:\r
return AVR32_USBB.USBCON.vberre;\r
- case USB_INT_SRPI:\r
- case USB_INT_RXSTPI:\r
- // TODO\r
- return false;\r
+ #endif\r
}\r
\r
return false;\r
{\r
case USB_INT_VBUSTI:\r
return AVR32_USBB.USBSTA.vbusti;\r
+ #if defined(USB_CAN_BE_BOTH)\r
case USB_INT_IDTI:\r
return AVR32_USBB.USBSTA.idti;\r
+ #endif\r
+ #if defined(USB_CAN_BE_DEVICE)\r
case USB_INT_WAKEUPI:\r
return AVR32_USBB.UDINT.wakeup;\r
case USB_INT_SUSPI:\r
return AVR32_USBB.UDINT.eorst;\r
case USB_INT_SOFI:\r
return AVR32_USBB.UDINT.sof;\r
+ case USB_INT_RXSTPI:\r
+ // TODO\r
+ return false;\r
+ #endif\r
+ #if defined(USB_CAN_BE_HOST)\r
case USB_INT_HSOFI:\r
return AVR32_USBB.UHINT.hsofi;\r
case USB_INT_DCONNI:\r
return AVR32_USBB.USBSTA.bcerri;\r
case USB_INT_VBERRI:\r
return AVR32_USBB.USBSTA.vberri;\r
- case USB_INT_SRPI:\r
- case USB_INT_RXSTPI:\r
- // TODO\r
- return false;\r
+ #endif\r
}\r
\r
return false;\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks and Defines: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
\r
/* Includes: */\r
#include "../../../Common/Common.h"\r
+ #include "USBMode.h" \r
\r
/* Preprocessor Checks: */\r
#if !defined(__INCLUDE_FROM_USB_DRIVER)\r
/* Includes: */
#include "../../../Common/Common.h"
+ #include "USBMode.h"
#include "USBController.h"
#include "Events.h"
#include "StdRequestType.h"
#include "StdDescriptors.h"
- #include "USBMode.h"
#if defined(USB_CAN_BE_DEVICE)
#include "DeviceStandardReq.h"