| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
USB On The Go (OTG) Management (AVR8)
USB On The Go (OTG) Management

USB OTG definitions for the AVR8 microcontrollers. More...

## Macros
#define | USB_OTG_SRP_VBUS (1 << SRPSEL)
#define | USB_OTG_STP_DATA 0

## Functions
static void | USB_OTG_Device_CancelHNPRequest (void) ATTR_ALWAYS_INLINE
static void | USB_OTG_Device_InitiateSRP (const uint8_t SRPTypeMask) ATTR_ALWAYS_INLINE
static bool | USB_OTG_Device_IsSendingHNP (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void | USB_OTG_Device_RequestHNP (void) ATTR_ALWAYS_INLINE
static void | USB_OTG_Host_AcceptHNP (void) ATTR_ALWAYS_INLINE
static bool | USB_OTG_Host_IsHNPReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void | USB_OTG_Host_RejectHNP (void) ATTR_ALWAYS_INLINE

## Detailed Description

Architecture specific USB OTG definitions for the Atmel 8-bit AVR microcontrollers.

## Macro Definition Documentation

#define USB_OTG_SRP_VBUS (1 << SRPSEL)

Mask for the VBUS pulsing method of SRP, supported by some OTG devices.

See also
  USB_OTG_Device_InitiateSRP().

#define USB_OTG_STP_DATA 0

Mask for the Data + pulsing method of SRP, supported by some OTG devices.

See also
  USB_OTG_Device_InitiateSRP().

## Function Documentation

static void USB_OTG_Device_CancelHNPRequest | ( | void |  | ) |
| inline static

Cancel a Host Negotiation Protocol request. This stops a pending HNP request to the other connected device.

static void USB_OTG_Device_InitiateSRP | ( | const uint8_t | SRPTypeMask | ) |
| inline static

Initiates a Session Request Protocol request. Most OTG devices turn off VBUS when the USB interface is not in use, to conserve power. Sending a SRP to a USB OTG device running in host mode indicates that VBUS should be applied and a session started.

There are two different methods of sending a SRP - either pulses on the VBUS line, or by pulsing the Data + line via the internal pull-up resistor.

Parameters

  [in] | SRPTypeMask | Mask indicating the type of SRP to use, either USB_OTG_SRP_VBUS or USB_OTG_STP_DATA.

static bool USB_OTG_Device_IsSendingHNP | ( | void |  | ) |
| inline static

Determines if the device is currently sending a HNP to an attached host.

Returns
  Boolean `true` if currently sending a HNP to the other connected device, `false` otherwise

static void USB_OTG_Device_RequestHNP | ( | void |  | ) |
| inline static

Initiate a Host Negotiation Protocol request. This indicates to the other connected device that the device wishes to change device/host roles.

static void USB_OTG_Host_AcceptHNP | ( | void |  | ) |
| inline static

Accepts a HNP from a connected device, indicating that both devices should exchange device/host roles.

static bool USB_OTG_Host_IsHNPReceived | ( | void |  | ) |
| inline static

Indicates if the connected device is currently sending a HNP request.

Returns
  Boolean `true` if a HNP is currently being issued by the connected device, `false` otherwise.

static void USB_OTG_Host_RejectHNP | ( | void |  | ) |
| inline static

Rejects a HNP from a connected device, indicating that both devices should remain in their current device/host roles.