#include <avr/io.h>\r
#include <avr/interrupt.h>\r
#include <stdbool.h>\r
- #include <stddef.h>\r
\r
#include "../LowLevel/LowLevel.h"\r
- #include "StdRequestType.h"\r
- #include "USBMode.h"\r
#include "Events.h"\r
+ #include "StdRequestType.h"\r
#include "StdDescriptors.h"\r
+ #include "USBMode.h"\r
+\r
+ #if defined(USB_CAN_BE_DEVICE)\r
+ #include "../LowLevel/DevChapter9.h"\r
+ #endif\r
\r
#if defined(USB_CAN_BE_HOST)\r
#include "../LowLevel/HostChapter9.h"\r
- #endif \r
+ #endif\r
\r
/* Enable C linkage for C++ Compilers: */\r
#if defined(__cplusplus)\r
extern USB_Request_Header_t USB_ControlRequest;\r
\r
#if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)\r
- #if !defined(HOST_STATE_AS_GPIOR1) || defined(__DOXYGEN__)\r
+ #if !defined(HOST_STATE_AS_GPIOR) || defined(__DOXYGEN__)\r
/** Indicates the current host state machine state. When in host mode, this indicates the state\r
* via one of the values of the \ref USB_Host_States_t enum values.\r
*\r
#else\r
#define _GET_HOST_GPIOR_NAME2(y) GPIOR ## y\r
#define _GET_HOST_GPIOR_NAME(x) _GET_HOST_GPIOR_NAME2(x)\r
- #define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR)\r
+ #define USB_HostState _GET_HOST_GPIOR_NAME(HOST_STATE_AS_GPIOR)\r
#endif\r
#endif\r
\r
#else\r
#define _GET_DEVICE_GPIOR_NAME2(y) GPIOR ## y\r
#define _GET_DEVICE_GPIOR_NAME(x) _GET_DEVICE_GPIOR_NAME2(x)\r
- #define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR)\r
+ #define USB_DeviceState _GET_DEVICE_GPIOR_NAME(DEVICE_STATE_AS_GPIOR)\r
#endif\r
#endif\r
\r
#endif\r
\r
/* Macros: */\r
- #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) {USB_HostState = HOST_STATE_WaitForDevice; WaitMSRemaining = duration; PostWaitState = nextstate; }\r
+ #define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{ USB_HostState = HOST_STATE_WaitForDevice; \\r
+ WaitMSRemaining = (duration); \\r
+ PostWaitState = (nextstate); }MACROE\r
#endif\r
\r
/* Disable C linkage for C++ Compilers: */\r