Device.h File Reference

#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include "../../../Common/Common.h"
#include "../HighLevel/StdDescriptors.h"
#include "Endpoint.h"

Defines

#define USB_DEVICE_OPT_LOWSPEED   (1 << 0)
#define USB_DEVICE_OPT_FULLSPEED   (0 << 0)
#define USB_Device_SendRemoteWakeup()   MACROS{ UDCON |= (1 << RMWKUP); }MACROE
#define USB_Device_IsRemoteWakeupSent()   ((UDCON & (1 << RMWKUP)) ? false : true)
#define USB_Device_IsUSBSuspended()   ((UDINT & (1 << SUSPI)) ? true : false)

Enumerations

enum  USB_Device_ErrorCodes_t { DEVICE_ERROR_GetDescriptorNotHooked = 0 }

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_IsRemoteWakeupSent (  )     ((UDCON & (1 << RMWKUP)) ? false : true)

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:
StdDescriptors.h for more information on the RMWAKEUP feature and device descriptors.

 
#define USB_Device_IsUSBSuspended (  )     ((UDINT & (1 << SUSPI)) ? true : false)

Indicates if the device is currently suspended by the host. While suspended, the device is to enter a low power state until resumed by the host. While suspended no USB traffic to or from the device can ocurr (except for Remote Wakeup requests).

This macro returns true if the USB communications have been suspended by the host, false otherwise.

#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.

 
#define USB_Device_SendRemoteWakeup (  )     MACROS{ UDCON |= (1 << RMWKUP); }MACROE

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 DevChapter9.h documentation).
See also:
StdDescriptors.h for more information on the RMWAKEUP feature and device descriptors.


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 GetDescriptor() method has not been hooked by the user application.

See also:
StdDescriptors.h for more information on the GetDescriptor() method.


Generated on Mon Feb 9 20:19:00 2009 for LUFA Library by  doxygen 1.5.7.1