Defines | Enumerations | Functions | Variables

USBController.h File Reference

USB low level USB controller definitions. More...

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdbool.h>
#include "../HighLevel/USBMode.h"
#include "../../../Common/Common.h"
#include "../HighLevel/Events.h"
#include "../HighLevel/USBTask.h"
#include "USBInterrupt.h"
#include "Host.h"
#include "Pipe.h"
#include "OTG.h"
#include "../HighLevel/HostStandardReq.h"
#include "Device.h"
#include "Endpoint.h"
#include "../HighLevel/DeviceStandardReq.h"
#include "../HighLevel/Events.h"
#include "../HighLevel/HostStandardReq.h"
#include "../HighLevel/DeviceStandardReq.h"

Defines

#define USB_MODE_NONE   0
#define USB_MODE_DEVICE   1
#define USB_MODE_HOST   2
#define USB_MODE_UID   3
#define USB_OPT_REG_DISABLED   (1 << 1)
#define USB_OPT_REG_ENABLED   (0 << 1)
#define USB_OPT_MANUAL_PLL   (1 << 2)
#define USB_OPT_AUTO_PLL   (0 << 2)
#define EP_TYPE_CONTROL   0x00
#define EP_TYPE_ISOCHRONOUS   0x01
#define EP_TYPE_BULK   0x02
#define EP_TYPE_INTERRUPT   0x03
#define USB_STREAM_TIMEOUT_MS   100

Enumerations

enum  USB_InitErrorCodes_t { USB_INITERROR_NoUSBModeSpecified = 0 }

Functions

static bool USB_VBUS_GetStatus (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
static void USB_Detach (void) ATTR_ALWAYS_INLINE
static void USB_Attach (void) ATTR_ALWAYS_INLINE
void USB_Init (const uint8_t Mode, const uint8_t Options)
void USB_ShutDown (void)
void USB_ResetInterface (void)

Variables

volatile uint8_t USB_CurrentMode
volatile uint8_t USB_Options

Detailed Description

This file contains structures, function prototypes and macros related to the low level configuration of the USB controller, to start, stop and reset the USB library core.

Note:
This file should not be included directly. It is automatically included as needed by the USB driver dispatch header located in LUFA/Drivers/USB/USB.h.