Added INVERTED_VBUS_ENABLE_LINE and NO_AUTO_VBUS_MANAGEMENT compile time options (thanks to Opendous Inc.).
This commit is contained in:
parent
252bd7bb2c
commit
a677254026
7 changed files with 41 additions and 0 deletions
|
|
@ -79,6 +79,11 @@ void USB_Host_ProcessNextHostState(void)
|
|||
USB_OTGPAD_On();
|
||||
USB_Host_VBUS_Auto_Enable();
|
||||
USB_Host_VBUS_Auto_On();
|
||||
|
||||
#if defined(NO_AUTO_VBUS_MANAGEMENT)
|
||||
USB_Host_VBUS_Manual_Enable();
|
||||
USB_Host_VBUS_Manual_On();
|
||||
#endif
|
||||
|
||||
USB_HostState = HOST_STATE_Powered_WaitForConnect;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,6 +64,10 @@
|
|||
#error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
|
||||
#endif
|
||||
|
||||
#if defined(INVERTED_VBUS_ENABLE_LINE) && !defined(NO_AUTO_VBUS_MANAGEMENT)
|
||||
#error The INVERTED_VBUS_ENABLE_LINE compile option requires NO_AUTO_VBUS_MANAGEMENT for the AVR8 architecture.
|
||||
#endif
|
||||
|
||||
/* Public Interface - May be used in end-application: */
|
||||
/* Macros: */
|
||||
/** Indicates the fixed USB device address which any attached device is enumerated to when in
|
||||
|
|
@ -310,7 +314,11 @@
|
|||
static inline void USB_Host_VBUS_Manual_On(void) ATTR_ALWAYS_INLINE;
|
||||
static inline void USB_Host_VBUS_Manual_On(void)
|
||||
{
|
||||
#if defined(INVERTED_VBUS_ENABLE_LINE)
|
||||
PORTE &= ~(1 << 7);
|
||||
#else
|
||||
PORTE |= (1 << 7);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void USB_Host_VBUS_Auto_Off(void) ATTR_ALWAYS_INLINE;
|
||||
|
|
@ -322,7 +330,11 @@
|
|||
static inline void USB_Host_VBUS_Manual_Off(void) ATTR_ALWAYS_INLINE;
|
||||
static inline void USB_Host_VBUS_Manual_Off(void)
|
||||
{
|
||||
#if defined(INVERTED_VBUS_ENABLE_LINE)
|
||||
PORTE |= (1 << 7);
|
||||
#else
|
||||
PORTE &= ~(1 << 7);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void USB_Host_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
|
||||
|
|
|
|||
|
|
@ -80,6 +80,11 @@ void USB_Host_ProcessNextHostState(void)
|
|||
USB_Host_VBUS_Auto_Enable();
|
||||
USB_Host_VBUS_Auto_On();
|
||||
|
||||
#if defined(NO_AUTO_VBUS_MANAGEMENT)
|
||||
USB_Host_VBUS_Manual_Enable();
|
||||
USB_Host_VBUS_Manual_On();
|
||||
#endif
|
||||
|
||||
USB_HostState = HOST_STATE_Powered_WaitForConnect;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -134,6 +134,10 @@ void USB_ResetInterface(void)
|
|||
}
|
||||
else if (USB_CurrentMode == USB_MODE_Host)
|
||||
{
|
||||
#if defined(INVERTED_VBUS_ENABLE_LINE)
|
||||
AVR32_USBB.USBCON.vbuspol = true;
|
||||
#endif
|
||||
|
||||
#if defined(USB_CAN_BE_HOST)
|
||||
AVR32_USBB.USBCON.uimod = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue