X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/110711598af766ef5da7aaf183d0c4886beb8fb7..5cae54154506176d64a581c5b3d9550c901b570c:/LUFA/Drivers/USB/Core/USBController.h diff --git a/LUFA/Drivers/USB/Core/USBController.h b/LUFA/Drivers/USB/Core/USBController.h index 3190957c1..7702b74d6 100644 --- a/LUFA/Drivers/USB/Core/USBController.h +++ b/LUFA/Drivers/USB/Core/USBController.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2013. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -18,7 +18,7 @@ advertising or publicity pertaining to distribution of the software without specific, written prior permission. - The author disclaim all warranties with regard to this + The author disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, indirect or consequential damages or any damages @@ -50,7 +50,7 @@ /* Includes: */ #include "../../../Common/Common.h" - #include "USBMode.h" + #include "USBMode.h" /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) @@ -68,17 +68,35 @@ /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's * direction for comparing with the \c ENDPOINT_DIR_* masks. */ - #define ENDPOINT_DIR_MASK 0x80 + #define ENDPOINT_DIR_MASK 0x80 /** Endpoint address direction mask for an OUT direction (Host to Device) endpoint. This may be ORed with * the index of the address within a device to obtain the full endpoint address. */ - #define ENDPOINT_DIR_OUT 0x00 + #define ENDPOINT_DIR_OUT 0x00 /** Endpoint address direction mask for an IN direction (Device to Host) endpoint. This may be ORed with * the index of the address within a device to obtain the full endpoint address. */ - #define ENDPOINT_DIR_IN 0x80 + #define ENDPOINT_DIR_IN 0x80 + //@} + + /** \name Pipe Direction Masks */ + //@{ + /** Pipe direction mask, for masking against pipe addresses to retrieve the pipe's + * direction for comparing with the \c PIPE_DIR_* masks. + */ + #define PIPE_DIR_MASK 0x80 + + /** Endpoint address direction mask for an OUT direction (Host to Device) endpoint. This may be ORed with + * the index of the address within a device to obtain the full endpoint address. + */ + #define PIPE_DIR_OUT 0x00 + + /** Endpoint address direction mask for an IN direction (Device to Host) endpoint. This may be ORed with + * the index of the address within a device to obtain the full endpoint address. + */ + #define PIPE_DIR_IN 0x80 //@} /** \name Endpoint/Pipe Type Masks */ @@ -113,13 +131,27 @@ #define EP_TYPE_INTERRUPT 0x03 //@} + /* Enums: */ + /** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the + * user application via \ref USB_CurrentMode. + */ + enum USB_Modes_t + { + USB_MODE_None = 0, /**< Indicates that the controller is currently not initialized in any specific USB mode. */ + USB_MODE_Device = 1, /**< Indicates that the controller is currently initialized in USB Device mode. */ + USB_MODE_Host = 2, /**< Indicates that the controller is currently initialized in USB Host mode. */ + USB_MODE_UID = 3, /**< Indicates that the controller should determine the USB mode from the UID pin of the + * USB connector. + */ + }; + /* Architecture Includes: */ #if (ARCH == ARCH_AVR8) #include "AVR8/USBController_AVR8.h" #elif (ARCH == ARCH_UC3) #include "UC3/USBController_UC3.h" #elif (ARCH == ARCH_XMEGA) - #include "XMEGA/USBController_XMEGA.h" + #include "XMEGA/USBController_XMEGA.h" #endif /* Disable C linkage for C++ Compilers: */