X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c5eeedd522c12c8b4996594f3c4167393d0af7ff..03ee87b35abdb8b92e8b55ec040fa943f9a6786c:/LUFA/Drivers/USB/HighLevel/USBTask.h diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h index 9138e687f..68d04af66 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.h +++ b/LUFA/Drivers/USB/HighLevel/USBTask.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -35,17 +35,20 @@ #include #include #include - #include #include "../LowLevel/LowLevel.h" - #include "StdRequestType.h" - #include "USBMode.h" #include "Events.h" + #include "StdRequestType.h" #include "StdDescriptors.h" + #include "USBMode.h" + + #if defined(USB_CAN_BE_DEVICE) + #include "../LowLevel/DevChapter9.h" + #endif #if defined(USB_CAN_BE_HOST) #include "../LowLevel/HostChapter9.h" - #endif + #endif /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) @@ -65,7 +68,7 @@ extern volatile bool USB_IsInitialized; /** Structure containing the last received Control request when in Device mode (for use in user-applications - * inside of the \ref EVENT_USB_UnhandledControlPacket() event, or for filling up with a control request to issue when + * inside of the \ref EVENT_USB_Device_UnhandledControlRequest() event, or for filling up with a control request to issue when * in Host mode before calling \ref USB_Host_SendControlRequest(). * * \ingroup Group_USBManagement @@ -73,7 +76,7 @@ extern USB_Request_Header_t USB_ControlRequest; #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__) - #if !defined(HOST_STATE_AS_GPIOR1) || defined(__DOXYGEN__) + #if !defined(HOST_STATE_AS_GPIOR) || defined(__DOXYGEN__) /** Indicates the current host state machine state. When in host mode, this indicates the state * via one of the values of the \ref USB_Host_States_t enum values. * @@ -97,7 +100,7 @@ #else #define _GET_HOST_GPIOR_NAME2(y) GPIOR ## y #define _GET_HOST_GPIOR_NAME(x) _GET_HOST_GPIOR_NAME2(x) - #define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR) + #define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR) #endif #endif @@ -108,7 +111,7 @@ * * This value should not be altered by the user application as it is handled automatically by the * library. The only exception to this rule is if the NO_LIMITED_CONTROLLER_CONNECT token is used - * (see \ref EVENT_USB_Connect() and \ref EVENT_USB_Disconnect() events). + * (see \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events). * * To reduce program size and speed up checks of this global, it can be placed into one of the AVR's * GPIOR hardware registers instead of RAM by defining the DEVICE_STATE_AS_GPIOR token to a value @@ -129,7 +132,7 @@ #else #define _GET_DEVICE_GPIOR_NAME2(y) GPIOR ## y #define _GET_DEVICE_GPIOR_NAME(x) _GET_DEVICE_GPIOR_NAME2(x) - #define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR) + #define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR) #endif #endif @@ -142,12 +145,12 @@ * The USB task must be serviced within 30ms while in device mode, or within 1ms while in host mode. * The task may be serviced at all times, or (for minimum CPU consumption): * - * - In device mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Connect() event - * and disabled again on the firing of the \ref EVENT_USB_Disconnect() event. + * - In device mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Device_Connect() + * event and disabled again on the firing of the \ref EVENT_USB_Device_Disconnect() event. * - * - In host mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_DeviceAttached() - * event and disabled again on the firing of the \ref EVENT_USB_DeviceEnumerationComplete() or - * \ref EVENT_USB_DeviceEnumerationFailed() events. + * - In host mode, it may be disabled at start-up, enabled on the firing of the \ref EVENT_USB_Host_DeviceAttached() + * event and disabled again on the firing of the \ref EVENT_USB_Host_DeviceEnumerationComplete() or + * \ref EVENT_USB_Host_DeviceEnumerationFailed() events. * * If in device mode (only), the control endpoint can instead be managed via interrupts entirely by the library * by defining the INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch. @@ -172,7 +175,9 @@ #endif /* Macros: */ - #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) {USB_HostState = HOST_STATE_WaitForDevice; WaitMSRemaining = duration; PostWaitState = nextstate; } + #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{ USB_HostState = HOST_STATE_WaitForDevice; \ + WaitMSRemaining = (duration); \ + PostWaitState = (nextstate); }MACROE #endif /* Disable C linkage for C++ Compilers: */