Device Management
[USB - LUFA/Drivers/USB/USB.h]


Defines

#define USB_DEVICE_OPT_LOWSPEED   (1 << 0)
#define USB_DEVICE_OPT_FULLSPEED   (0 << 0)

Enumerations

enum  USB_Device_ErrorCodes_t { DEVICE_ERROR_GetDescriptorNotHooked = 0 }

Functions

static void USB_Device_SendRemoteWakeup (void)
static bool USB_Device_IsRemoteWakeupSent (void)
static bool USB_Device_IsUSBSuspended (void)

Variables

volatile bool USB_IsSuspended
uint8_t USB_ConfigurationNumber
bool USB_RemoteWakeupEnabled
bool USB_CurrentlySelfPowered

Detailed Description

USB Device mode related macros and enums. This module contains macros and enums which are used when the USB controller is initialized in device mode.

Define Documentation

#define USB_DEVICE_OPT_FULLSPEED   (0 << 0)

Mask for the Options parameter of the USB_Init() function. This indicates that the USB interface should be initialized in full speed (12Mb/s) mode.

#define USB_DEVICE_OPT_LOWSPEED   (1 << 0)

Mask for the Options parameter of the USB_Init() function. This indicates that the USB interface should be initialized in low speed (1.5Mb/s) mode.

Note:
Low Speed mode is not available on all USB AVR models.

Restrictions apply on the number, size and type of endpoints which can be used when running in low speed mode -- refer to the USB 2.0 standard.


Enumeration Type Documentation

Enum for the ErrorCode parameter of the USB_DeviceError event.

See also:
Events.h for more information on this event.
Enumerator:
DEVICE_ERROR_GetDescriptorNotHooked  Indicates that the USB_GetDescriptor() method has not been hooked by the user application.

See also:
USB Descriptors for more information on the USB_GetDescriptor() method.


Function Documentation

static bool USB_Device_IsRemoteWakeupSent ( void   )  [inline, static]

Indicates if a Remote Wakeup request is being sent to the host. This returns true if a remote wakeup is currently being sent, false otherwise.

This can be used in conjunction with the USB_Device_IsUSBSuspended() macro to determine if a sent RMWAKEUP request was accepted or rejected by the host.

Note:
This macro should only be used if the device has indicated to the host that it supports the Remote Wakeup feature in the device descriptors.
See also:
USB Descriptors for more information on the RMWAKEUP feature and device descriptors.
Returns:
Boolean true if no Remote Wakeup request is currently being sent, false otherwise

static bool USB_Device_IsUSBSuspended ( void   )  [inline, static]

Indicates if the device is currently suspended by the host. Whilst suspended, the device is to enter a low power state until resumed by the host. No USB traffic to or from the device can occur (except for Remote Wakeup requests) during suspension by the host.

Returns:
Boolean true if the USB communications have been suspended by the host, false otherwise.

static void USB_Device_SendRemoteWakeup ( void   )  [inline, static]

Sends a Remote Wakeup request to the host. This signals to the host that the device should be taken out of suspended mode, and communications should resume.

Typically, this is implemented so that HID devices (mice, keyboards, etc.) can wake up the host computer when the host has suspended all USB devices to enter a low power state.

Note:
This macro should only be used if the device has indicated to the host that it supports the Remote Wakeup feature in the device descriptors, and should only be issued if the host is currently allowing remote wakeup events from the device (i.e., the USB_RemoteWakeupEnabled flag is set).
See also:
USB Descriptors for more information on the RMWAKEUP feature and device descriptors.


Variable Documentation

Indicates the currently set configuration number of the device. USB devices may have several different configurations which the host can select between; this indicates the currently selected value, or 0 if no configuration has been selected.

If a device has only one single configuration, the token USE_SINGLE_DEVICE_CONFIGURATION may be defined in the project makefile and passed to the compiler using the -D switch. This optimize for a single configuration, saving a small amount of space in the resulting compiled binary.

Note:
This variable should be treated as read-only in the user application, and never manually changed in value.

Indicates if the device is currently being powered by its own power supply, rather than being powered by the host's USB supply. This flag should remain cleared if the device does not support self powered mode, as indicated in the device descriptors.

volatile bool USB_IsSuspended

Indicates if the USB interface is currently suspended by the host when in device mode. When suspended, the device should consume minimal power, and cannot communicate to the host. If Remote Wakeup is supported by the device and USB_RemoteWakeupEnabled is true, suspension can be terminated by the device by issuing a Remote Wakeup request.

Note:
This global is only present if the user application can be a USB device.

This variable should be treated as read-only in the user application, and never manually changed in value.

Indicates if the host is currently allowing the device to issue remote wakeup events. If this flag is cleared, the device should not issue remote wakeup events to the host.

Note:
This variable should be treated as read-only in the user application, and never manually changed in value.


Generated on Sun May 10 15:26:14 2009 for LUFA Library by  doxygen 1.5.7.1