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 "OTG.h"
#include "Pipe.h"
#include "../HighLevel/HostStandardReq.h"
#include "../HighLevel/PipeStream.h"
#include "Device.h"
#include "Endpoint.h"
#include "../HighLevel/DeviceStandardReq.h"
#include "../HighLevel/EndpointStream.h"
#include "../HighLevel/Events.h"
#include "../HighLevel/HostStandardReq.h"
#include "../HighLevel/PipeStream.h"
#include "../HighLevel/DeviceStandardReq.h"
#include "../HighLevel/EndpointStream.h"
Defines | |
#define | USB_STREAM_TIMEOUT_MS 100 |
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) |
Endpoint/Pipe Type Masks | |
#define | EP_TYPE_CONTROL 0x00 |
#define | EP_TYPE_ISOCHRONOUS 0x01 |
#define | EP_TYPE_BULK 0x02 |
#define | EP_TYPE_INTERRUPT 0x03 |
Enumerations | |
enum | USB_Modes_t { USB_MODE_None = 0, USB_MODE_Device = 1, USB_MODE_Host = 2, USB_MODE_UID = 3 } |
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 |
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.