projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make HID device class driver reselect the correct endpoint after the user callbacks...
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
LowLevel
/
Endpoint.h
diff --git
a/LUFA/Drivers/USB/LowLevel/Endpoint.h
b/LUFA/Drivers/USB/LowLevel/Endpoint.h
index
a9ec122
..
4dfa1ef
100644
(file)
--- a/
LUFA/Drivers/USB/LowLevel/Endpoint.h
+++ b/
LUFA/Drivers/USB/LowLevel/Endpoint.h
@@
-33,7
+33,7
@@
*
\r
* Functions, macros and enums related to endpoint management when in USB Device mode. This
\r
* module contains the endpoint management macros, as well as endpoint interrupt and data
\r
*
\r
* Functions, macros and enums related to endpoint management when in USB Device mode. This
\r
* module contains the endpoint management macros, as well as endpoint interrupt and data
\r
- * send/rec
ie
ve functions for various data types.
\r
+ * send/rec
ei
ve functions for various data types.
\r
*
\r
* @{
\r
*/
\r
*
\r
* @{
\r
*/
\r
@@
-331,6
+331,12
@@
* \return The currently selected endpoint's direction, as a ENDPOINT_DIR_* mask.
\r
*/
\r
static inline uint8_t Endpoint_GetEndpointDirection(void);
\r
* \return The currently selected endpoint's direction, as a ENDPOINT_DIR_* mask.
\r
*/
\r
static inline uint8_t Endpoint_GetEndpointDirection(void);
\r
+
\r
+ /** Sets the direction of the currently selected endpoint.
\r
+ *
\r
+ * \param[in] DirectionMask New endpoint direction, as a ENDPOINT_DIR_* mask.
\r
+ */
\r
+ static inline void Endpoint_SetEndpointDirection(uint8_t DirectionMask);
\r
#else
\r
#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)
\r
#define Endpoint_BytesInEndpoint() UEBCX
\r
#else
\r
#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)
\r
#define Endpoint_BytesInEndpoint() UEBCX
\r
@@
-399,6
+405,8
@@
#define Endpoint_ResetDataToggle() MACROS{ UECONX |= (1 << RSTDT); }MACROE
\r
\r
#define Endpoint_GetEndpointDirection() (UECFG0X & ENDPOINT_DIR_IN)
\r
#define Endpoint_ResetDataToggle() MACROS{ UECONX |= (1 << RSTDT); }MACROE
\r
\r
#define Endpoint_GetEndpointDirection() (UECFG0X & ENDPOINT_DIR_IN)
\r
+
\r
+ #define Endpoint_SetEndpointDirection(dir) MACROS{ UECFG0X = ((UECFG0X & ~ENDPOINT_DIR_IN) | dir); }MACROE
\r
#endif
\r
\r
/* Enums: */
\r
#endif
\r
\r
/* Enums: */
\r
@@
-503,12
+511,16
@@
static inline uint16_t Endpoint_Read_Word_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
\r
static inline uint16_t Endpoint_Read_Word_LE(void)
\r
{
\r
static inline uint16_t Endpoint_Read_Word_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
\r
static inline uint16_t Endpoint_Read_Word_LE(void)
\r
{
\r
- uint16_t Data;
\r
+ union
\r
+ {
\r
+ uint16_t Word;
\r
+ uint8_t Bytes[2];
\r
+ } Data;
\r
\r
\r
- Data
= UEDATX;
\r
- Data
|= (((uint16_t)UEDATX) << 8)
;
\r
+ Data
.Bytes[0]
= UEDATX;
\r
+ Data
.Bytes[1] = UEDATX
;
\r
\r
\r
- return Data;
\r
+ return Data
.Word
;
\r
}
\r
\r
/** Reads two bytes from the currently selected endpoint's bank in big endian format, for OUT
\r
}
\r
\r
/** Reads two bytes from the currently selected endpoint's bank in big endian format, for OUT
\r
@@
-521,12
+533,16
@@
static inline uint16_t Endpoint_Read_Word_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
\r
static inline uint16_t Endpoint_Read_Word_BE(void)
\r
{
\r
static inline uint16_t Endpoint_Read_Word_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
\r
static inline uint16_t Endpoint_Read_Word_BE(void)
\r
{
\r
- uint16_t Data;
\r
+ union
\r
+ {
\r
+ uint16_t Word;
\r
+ uint8_t Bytes[2];
\r
+ } Data;
\r
\r
\r
- Data
= (((uint16_t)UEDATX) << 8)
;
\r
- Data
|
= UEDATX;
\r
+ Data
.Bytes[1] = UEDATX
;
\r
+ Data
.Bytes[0]
= UEDATX;
\r
\r
\r
- return Data;
\r
+ return Data
.Word
;
\r
}
\r
\r
/** Writes two bytes to the currently selected endpoint's bank in little endian format, for IN
\r
}
\r
\r
/** Writes two bytes to the currently selected endpoint's bank in little endian format, for IN
\r
@@
-689,9
+705,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 endpoint number with the given endpoint type, direction, bank size
\r
#endif
\r
\r
/** Configures the specified endpoint number with the given endpoint type, direction, bank size
\r
@@
-756,7
+772,7
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Discard_Stream(uint16_t Length _CALLBACK_PARAM);
\r
+ uint8_t Endpoint_Discard_Stream(uint16_t Length _
_
CALLBACK_PARAM);
\r
\r
/** Writes the given number of bytes to the endpoint from the given buffer in little endian,
\r
* sending full packets to the host as needed. The last packet filled is not automatically sent;
\r
\r
/** Writes the given number of bytes to the endpoint from the given buffer in little endian,
\r
* sending full packets to the host as needed. The last packet filled is not automatically sent;
\r
@@
-779,9
+795,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Stream_LE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Stream_LE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE
()
.
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
@@
-791,9
+807,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_EStream_LE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_EStream_LE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE.
\r
+ /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE
()
.
\r
*
\r
* \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
\r
*
\r
*
\r
* \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
\r
*
\r
@@
-805,7
+821,7
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_PStream_LE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_PStream_LE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Writes the given number of bytes to the endpoint from the given buffer in big endian,
\r
* sending full packets to the host as needed. The last packet filled is not automatically sent;
\r
\r
/** Writes the given number of bytes to the endpoint from the given buffer in big endian,
\r
* sending full packets to the host as needed. The last packet filled is not automatically sent;
\r
@@
-828,9
+844,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Stream_BE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Stream_BE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE
()
.
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
@@
-840,9
+856,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_EStream_BE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_EStream_BE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE.
\r
+ /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE
()
.
\r
*
\r
* \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
\r
*
\r
*
\r
* \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.
\r
*
\r
@@
-854,7
+870,7
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_PStream_BE(
void* Buffer, uint16_t Length
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_PStream_BE(
const void* Buffer, uint16_t Length _
_CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Reads the given number of bytes from the endpoint from the given buffer in little endian,
\r
* discarding fully read packets from the host as needed. The last packet is not automatically
\r
\r
/** Reads the given number of bytes from the endpoint from the given buffer in little endian,
\r
* discarding fully read packets from the host as needed. The last packet is not automatically
\r
@@
-877,9
+893,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Read_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Read_Stream_LE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE
()
.
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
@@
-889,7
+905,7
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Read_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_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 endpoint from the given buffer in big endian,
\r
* discarding fully read packets from the host as needed. The last packet is not automatically
\r
\r
/** Reads the given number of bytes from the endpoint from the given buffer in big endian,
\r
* discarding fully read packets from the host as needed. The last packet is not automatically
\r
@@
-912,9
+928,9
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Read_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Read_Stream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE
()
.
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
*
\r
* \ingroup Group_EndpointStreamRW
\r
*
\r
@@
-924,7
+940,7
@@
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Read_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Read_EStream_BE(void* Buffer, uint16_t Length _
_
CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian,
\r
* sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
\r
\r
/** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian,
\r
* sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
\r
@@
-946,7
+962,7
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_Stream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_Stream_LE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** EEPROM buffer source version of Endpoint_Write_Control_Stream_LE.
\r
*
\r
\r
/** EEPROM buffer source version of Endpoint_Write_Control_Stream_LE.
\r
*
\r
@@
-965,9
+981,9
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_EStream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_EStream_LE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE.
\r
+ /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE
()
.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
@@
-986,7
+1002,7
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_PStream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_PStream_LE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in big endian,
\r
* sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
\r
\r
/** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in big endian,
\r
* sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
\r
@@
-1008,9
+1024,9
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_Stream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_Stream_BE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Write_Control_Stream_BE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Write_Control_Stream_BE
()
.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
@@
-1027,9
+1043,9
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_EStream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_EStream_BE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
\r
- /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE.
\r
+ /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE
()
.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
@@
-1048,7
+1064,7
@@
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
*
\r
* \return A value from the \ref Endpoint_ControlStream_RW_ErrorCodes_t enum.
\r
*/
\r
- uint8_t Endpoint_Write_Control_PStream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
+ uint8_t Endpoint_Write_Control_PStream_BE(
const
void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
/** Reads the given number of bytes from the CONTROL endpoint from the given buffer in little endian,
\r
* discarding fully read packets from the host as needed. The device IN acknowledgement is not
\r
\r
/** Reads the given number of bytes from the CONTROL endpoint from the given buffer in little endian,
\r
* discarding fully read packets from the host as needed. The device IN acknowledgement is not
\r
@@
-1072,7
+1088,7
@@
*/
\r
uint8_t Endpoint_Read_Control_Stream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
*/
\r
uint8_t Endpoint_Read_Control_Stream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_LE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_LE
()
.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
@@
-1113,7
+1129,7
@@
*/
\r
uint8_t Endpoint_Read_Control_Stream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
*/
\r
uint8_t Endpoint_Read_Control_Stream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
\r
\r
- /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_BE.
\r
+ /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_BE
()
.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r
*
\r
* \note This function automatically clears the control transfer's status stage. Do not manually attempt
\r
* to clear the status stage when using this routine in a control transaction.
\r