Defines | |
#define | USB_OTG_SRP_VBUS (1 << SRPSEL) |
#define | USB_OTG_STP_DATA 0 |
Functions | |
static void | USB_OTG_Device_RequestHNP (void) ATTR_ALWAYS_INLINE |
static void | USB_OTG_Device_CancelHNPRequest (void) ATTR_ALWAYS_INLINE |
static bool | USB_OTG_Device_IsSendingHNP (void) ATTR_ALWAYS_INLINE |
static void | USB_OTG_Device_InitiateSRP (const uint8_t SRPTypeMask) ATTR_ALWAYS_INLINE |
static void | USB_OTG_Host_AcceptHNP (void) ATTR_ALWAYS_INLINE |
static void | USB_OTG_Host_RejectHNP (void) ATTR_ALWAYS_INLINE |
static bool | USB_OTG_Host_IsHNPReceived (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE |
This module contains macros for embedded USB hosts with dual role On The Go capabilities, for managing role exchange. OTG is a way for two USB dual role devices to talk to one another directly without fixed device/host roles.
#define USB_OTG_SRP_VBUS (1 << SRPSEL) |
Mask for the VBUS pulsing method of SRP, supported by some OTG devices.
#define USB_OTG_STP_DATA 0 |
Mask for the Data + pulsing method of SRP, supported by some OTG devices.
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.
[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.
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 not currently sending a HNP request.
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.