projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added stdio.h stream examples for the virtual CDC UART in the CDC host demos.
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
LowLevel
/
Pipe.h
diff --git
a/LUFA/Drivers/USB/LowLevel/Pipe.h
b/LUFA/Drivers/USB/LowLevel/Pipe.h
index
1057ec8
..
7178ab7
100644
(file)
--- a/
LUFA/Drivers/USB/LowLevel/Pipe.h
+++ b/
LUFA/Drivers/USB/LowLevel/Pipe.h
@@
-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/rec
ie
ve functions
\r
+ * module contains the pipe management macros, as well as pipe interrupt and data send/rec
ei
ve functions
\r
* for various data types.
\r
*
\r
* @{
\r
* for various data types.
\r
*
\r
* @{
\r
@@
-124,7
+124,7
@@
*/
\r
#define PIPE_TOKEN_IN (1 << PTOKEN0)
\r
\r
*/
\r
#define PIPE_TOKEN_IN (1 << PTOKEN0)
\r
\r
- /** Token mask for \ref Pipe_ConfigurePipe(). This sets the pipe as a
IN
token (for non-CONTROL type pipes),
\r
+ /** Token mask for \ref Pipe_ConfigurePipe(). This sets the pipe as a
OUT
token (for non-CONTROL type pipes),
\r
* indicating that the pipe data will flow from host to device.
\r
*/
\r
#define PIPE_TOKEN_OUT (2 << PTOKEN0)
\r
* indicating that the pipe data will flow from host to device.
\r
*/
\r
#define PIPE_TOKEN_OUT (2 << PTOKEN0)
\r
@@
-292,6
+292,12
@@
/** 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
@@
-445,6
+451,8
@@
#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
@@
-749,9
+757,9
@@
\r
/* Function Prototypes: */
\r
#if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
\r
\r
/* Function Prototypes: */
\r
#if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
\r
- #define _CALLBACK_PARAM , StreamCallbackPtr_t Callback
\r
+ #define _
_
CALLBACK_PARAM , StreamCallbackPtr_t Callback
\r
#else
\r
#else
\r
- #define _
CALLBACK_PARAM
\r
+ #define _
_CALLBACK_PARAM
\r
#endif
\r
\r
/** Configures the specified pipe number with the given pipe type, token, target endpoint number in the
\r
#endif
\r
\r
/** Configures the specified pipe number with the given pipe type, token, target endpoint number in the
\r
@@
-797,11
+805,11
@@
/** 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
@@
-823,7
+831,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Discard_Stream(uint16_t Length _CALLBACK_PARAM);
\r
+ uint8_t Pipe_Discard_Stream(uint16_t Length _
_
CALLBACK_PARAM);
\r
\r
/** Writes the given number of bytes to the pipe from the given buffer in little endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
\r
/** Writes the given number of bytes to the pipe from the given buffer in little endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
@@
-846,7
+854,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_Stream_LE(void* Buffer, uint16_t Length _
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_Stream_LE(void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** EEPROM buffer source version of \ref Pipe_Write_Stream_LE().
\r
*
\r
\r
/** EEPROM buffer source version of \ref Pipe_Write_Stream_LE().
\r
*
\r
@@
-858,7
+866,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_EStream_LE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
\r
*
\r
\r
/** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
\r
*
\r
@@
-872,7
+880,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_PStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_PStream_LE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Writes the given number of bytes to the pipe from the given buffer in big endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
\r
/** Writes the given number of bytes to the pipe from the given buffer in big endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
@@
-895,7
+903,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_Stream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** EEPROM buffer source version of \ref Pipe_Write_Stream_BE().
\r
*
\r
\r
/** EEPROM buffer source version of \ref Pipe_Write_Stream_BE().
\r
*
\r
@@
-907,7
+915,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_EStream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** FLASH buffer source version of \ref Pipe_Write_Stream_BE().
\r
*
\r
\r
/** FLASH buffer source version of \ref Pipe_Write_Stream_BE().
\r
*
\r
@@
-921,7
+929,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Write_PStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Write_PStream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Reads the given number of bytes from the pipe into the given buffer in little endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
\r
/** Reads the given number of bytes from the pipe into the given buffer in little endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
@@
-944,7
+952,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** EEPROM buffer source version of \ref Pipe_Read_Stream_LE().
\r
*
\r
\r
/** EEPROM buffer source version of \ref Pipe_Read_Stream_LE().
\r
*
\r
@@
-956,7
+964,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Read_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Read_EStream_LE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Reads the given number of bytes from the pipe into the given buffer in big endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
\r
/** Reads the given number of bytes from the pipe into the given buffer in big endian,
\r
* sending full packets to the device as needed. The last packet filled is not automatically sent;
\r
@@
-979,7
+987,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** EEPROM buffer source version of \ref Pipe_Read_Stream_BE().
\r
*
\r
\r
/** EEPROM buffer source version of \ref Pipe_Read_Stream_BE().
\r
*
\r
@@
-991,7
+999,7
@@
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Pipe_Read_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Pipe_Read_EStream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/* Private Interface - For use in library only: */
\r
#if !defined(__DOXYGEN__)
\r
\r
/* Private Interface - For use in library only: */
\r
#if !defined(__DOXYGEN__)
\r