USBD_PHDC_Rd
Description
Read PHDC data. This function is blocking.
Files
usbd_phdc.h / usbd_phdc.c
Prototype
CPU_INT08U USBD_PHDC_Rd (CPU_INT08U class_nbr, void *p_buf, CPU_INT16U buf_len, CPU_INT16U timeout, USBD_ERR *p_err);
Arguments
class_nbr
PHDC instance number.
p_buf
Pointer to buffer that will contain opaque data from metadata message preamble.
buf_len
Opaque data buffer length in octets.
timeout
Timeout in milliseconds.
p_err
Pointer to variable that will receive the return error code from this function.
USBD_ERR_NONE
USBD_ERR_INVALID_CLASS_STATE
USBD_ERR_INVALID_ARG
USBD_ERR_NULL_PTR
USBD_ERR_RX
USBD_ERR_DEV_INVALID_NBR
USBD_ERR_EP_INVALID_NBR
USBD_ERR_DEV_INVALID_STATE
USBD_ERR_EP_INVALID_TYPE
USBD_OS_ERR_TIMEOUT
USBD_OS_ERR_ABORT
USBD_OS_ERR_FAIL
Returned Value
Number of octets received, if no error(s).
0, otherwise.
Callers
Application.
Notes / Warnings
USBD_PHDC_Rd()
should always be called afterUSBD_PHDC_PreambleRd()
if metadata message preambles are enabled by the host.- Application should ensure that the length of the buffer provided is large enough to accommodate the incoming transfer. Otherwise, synchronization with metadata preambles might be lost.
- If host enable preamble while application is pending on this function, the call will immediately return with error ‘
USBD_OS_ERR_ABORT
’.