USBD_OS_EP_LockCreate
Description
Create an OS resource to use as an endpoint lock.
Files
usbd_internal.h/usbd_os.c
Prototype
void USBD_OS_EP_LockCreate (CPU_INT08U dev_nbr, CPU_INT08U ep_ix, USBD_ERR *p_err);
Arguments
dev_nbr
Device number.
ep_ix
Endpoint index.
p_err
Pointer to variable that will receive the return error code from this function.
Returned Value
None.
Callers
Endpoints open functions.
Implementation guidelines
- The purpose of this function is to allocate a lock (mutex or semaphore) for the specified endpoint.
- Typically, the RTOS layer code should create a two-dimensional array to store the lock handlers. The
dev_nbr
andep_ix
are used to index this array. dev_nbr
ranges between 0 andUSBD_CFG_MAX_NBR_DEV
.ep_ix
ranges between 0 andUSBD_CFG_MAX_NBR_EP_OPEN
.- In case the creation fails,
USBD_ERR_OS_SIGNAL_CREATE
should be assigned top_err
. Otherwise,USBD_ERR_NONE
should be assigned top_err
.