USBD_OS_EP_SignalPend

USBD_OS_EP_SignalPend

Description

Waits for a signal/semaphore to become available.

Files

usbd_internal.h/usbd_os.c

Prototype

void USBD_OS_EP_SignalPend (CPU_INT08U dev_nbr, CPU_INT08U ep_ix, CPU_INT16U timeout_ms, USBD_ERR *p_err);



Arguments

dev_nbr

Device number.

ep_ix

Endpoint index.

timeout_ms

Timeout in milliseconds.

p_err

Pointer to variable that will receive the return error code from this function.

Returned Value

None.

Callers

Endpoints Rx/Tx functions.

Implementation guidelines

  1. A call to this function should pend on the signal / semaphore associated to the specified endpoint.

  2. Following table describes the error codes that should be assigned to p_err depending on the operation result.

Table - Error code for pend operations

Operation result

Error code

No error.

USBD_ERR_NONE

Pend timeout

USBD_ERR_OS_TIMEOUT

Pend aborted

USBD_ERR_OS_ABORT

Pend failed for any other reason

USBD_ERR_OS_FAIL