LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
USBController.h File Reference
#include "../../../Common/Common.h"
#include "USBMode.h"
#include "Events.h"
#include "USBTask.h"
#include "USBInterrupt.h"
#include "Host.h"
#include "OTG.h"
#include "Pipe.h"
#include "HostStandardReq.h"
#include "PipeStream.h"
#include "Device.h"
#include "Endpoint.h"
#include "DeviceStandardReq.h"
#include "EndpointStream.h"

Go to the source code of this file.

Macros

#define USB_STREAM_TIMEOUT_MS   100
 
Endpoint Direction Masks
#define ENDPOINT_DIR_MASK   0x80
 
#define ENDPOINT_DIR_OUT   0x00
 
#define ENDPOINT_DIR_IN   0x80
 
Endpoint/Pipe Type Masks
#define EP_TYPE_MASK   0x03
 
#define EP_TYPE_CONTROL   0x00
 
#define EP_TYPE_ISOCHRONOUS   0x01
 
#define EP_TYPE_BULK   0x02
 
#define EP_TYPE_INTERRUPT   0x03
 
USB Controller Option Masks
#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)
 

Enumerations

enum  USB_Modes_t { USB_MODE_None = 0, USB_MODE_Device = 1, USB_MODE_Host = 2, USB_MODE_UID = 3 }
 

Functions

static PRAGMA_ALWAYS_INLINE bool USB_VBUS_GetStatus (void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE
 Determines if the VBUS line is currently high (i.e. the USB host is supplying power).
 
static PRAGMA_ALWAYS_INLINE void USB_Detach (void) ATTR_ALWAYS_INLINE
 
static PRAGMA_ALWAYS_INLINE void USB_Attach (void) ATTR_ALWAYS_INLINE
 
void USB_Init (uint8_t corenum, uint8_t mode)
 
void USB_Disable (uint8_t corenum, uint8_t mode)
 
void USB_ResetInterface (uint8_t corenum, uint8_t mode)
 

Variables

volatile uint8_t USB_CurrentMode []
 
volatile uint8_t USB_Options