Add information on the new MouseHostDevice dual role demo to the library documentatio...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Pipe.h
index 1057ec8..39e95cc 100644 (file)
@@ -32,7 +32,7 @@
  *  @defgroup Group_PipeManagement Pipe Management\r
  *\r
  *  This module contains functions, macros and enums related to pipe management when in USB Host mode. This\r
  *  @defgroup Group_PipeManagement Pipe Management\r
  *\r
  *  This module contains functions, macros and enums related to pipe management when in USB Host mode. This\r
- *  module contains the pipe management macros, as well as pipe interrupt and data send/recieve functions\r
+ *  module contains the pipe management macros, as well as pipe interrupt and data send/receive functions\r
  *  for various data types.\r
  *\r
  *  @{\r
  *  for various data types.\r
  *\r
  *  @{\r
                                /** Freezes the selected pipe, preventing it from communicating with an attached device. */\r
                                static inline void Pipe_Freeze(void);\r
 \r
                                /** Freezes the selected pipe, preventing it from communicating with an attached device. */\r
                                static inline void Pipe_Freeze(void);\r
 \r
+                               /** Determines if the currently selected pipe is frozen, and not able to accept data.\r
+                                *\r
+                                *  \return Boolean true if the currently selected pipe is frozen, false otherwise\r
+                                */\r
+                               static inline bool Pipe_IsFrozen(void);\r
+                               \r
                                /** Clears the master pipe error flag. */\r
                                static inline void Pipe_ClearError(void);\r
                                \r
                                /** Clears the master pipe error flag. */\r
                                static inline void Pipe_ClearError(void);\r
                                \r
                                #define Pipe_Unfreeze()                MACROS{ UPCONX &= ~(1 << PFREEZE); }MACROE\r
 \r
                                #define Pipe_Freeze()                  MACROS{ UPCONX |= (1 << PFREEZE); }MACROE\r
                                #define Pipe_Unfreeze()                MACROS{ UPCONX &= ~(1 << PFREEZE); }MACROE\r
 \r
                                #define Pipe_Freeze()                  MACROS{ UPCONX |= (1 << PFREEZE); }MACROE\r
+                               \r
+                               #define Pipe_IsFrozen()                ((UPCONX & (1 << PFREEZE)) ? true : false)\r
 \r
                                #define Pipe_ClearError()              MACROS{ UPINTX &= ~(1 << PERRI); }MACROE\r
 \r
 \r
                                #define Pipe_ClearError()              MACROS{ UPINTX &= ~(1 << PERRI); }MACROE\r
 \r
                        /** Determines if a pipe has been bound to the given device endpoint address. If a pipe which is bound to the given\r
                         *  endpoint is found, it is automatically selected.\r
                         *\r
                        /** Determines if a pipe has been bound to the given device endpoint address. If a pipe which is bound to the given\r
                         *  endpoint is found, it is automatically selected.\r
                         *\r
-                        *  \param EndpointAddress Address of the endpoint within the attached device to check\r
+                        *  \param[in] EndpointAddress Address of the endpoint within the attached device to check\r
                         *\r
                         *  \return Boolean true if a pipe bound to the given endpoint address is found, false otherwise\r
                         */\r
                         *\r
                         *  \return Boolean true if a pipe bound to the given endpoint address is found, false otherwise\r
                         */\r
-                       bool Pipe_IsEndpointBound(uint8_t EndpointAddress);\r
+                       bool Pipe_IsEndpointBound(const uint8_t EndpointAddress);\r
                \r
                        /** Reads and discards the given number of bytes from the pipe, discarding fully read packets from the host\r
                         *  as needed. The last packet is not automatically discarded once the remaining bytes has been read; the\r
                \r
                        /** Reads and discards the given number of bytes from the pipe, discarding fully read packets from the host\r
                         *  as needed. The last packet is not automatically discarded once the remaining bytes has been read; the\r