mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-19 06:40:45 +00:00
change osal_semaphore_wait to return bool
This commit is contained in:
parent
5f7d7a34f5
commit
1d3583785f
@ -83,7 +83,7 @@ typedef void (*osal_task_func_t)( void * );
|
|||||||
* osal_semaphore_def_t, osal_semaphore_t
|
* osal_semaphore_def_t, osal_semaphore_t
|
||||||
* osal_semaphore_t osal_semaphore_create(osal_semaphore_def_t* semdef)
|
* osal_semaphore_t osal_semaphore_create(osal_semaphore_def_t* semdef)
|
||||||
* bool osal_semaphore_post(osal_semaphore_t sem_hdl, bool in_isr)
|
* bool osal_semaphore_post(osal_semaphore_t sem_hdl, bool in_isr)
|
||||||
* void osal_semaphore_wait(osal_semaphore_t sem_hdl, uint32_t msec, uint32_t *p_error)
|
* bool osal_semaphore_wait(osal_semaphore_t sem_hdl, uint32_t msec)
|
||||||
* void osal_semaphore_reset(osal_semaphore_t const sem_hdl)
|
* void osal_semaphore_reset(osal_semaphore_t const sem_hdl)
|
||||||
*
|
*
|
||||||
* Mutex
|
* Mutex
|
||||||
|
@ -107,10 +107,10 @@ static inline bool osal_semaphore_post(osal_semaphore_t sem_hdl, bool in_isr)
|
|||||||
return in_isr ? xSemaphoreGiveFromISR(sem_hdl, NULL) : xSemaphoreGive(sem_hdl);
|
return in_isr ? xSemaphoreGiveFromISR(sem_hdl, NULL) : xSemaphoreGive(sem_hdl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline tusb_error_t osal_semaphore_wait(osal_semaphore_t sem_hdl, uint32_t msec)
|
static inline bool osal_semaphore_wait (osal_semaphore_t sem_hdl, uint32_t msec)
|
||||||
{
|
{
|
||||||
uint32_t const ticks = (msec == OSAL_TIMEOUT_WAIT_FOREVER) ? portMAX_DELAY : pdMS_TO_TICKS(msec);
|
uint32_t const ticks = (msec == OSAL_TIMEOUT_WAIT_FOREVER) ? portMAX_DELAY : pdMS_TO_TICKS(msec);
|
||||||
return (xSemaphoreTake(sem_hdl, ticks) ? TUSB_ERROR_NONE : TUSB_ERROR_OSAL_TIMEOUT);
|
return xSemaphoreTake(sem_hdl, ticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void osal_semaphore_reset(osal_semaphore_t const sem_hdl)
|
static inline void osal_semaphore_reset(osal_semaphore_t const sem_hdl)
|
||||||
|
@ -96,15 +96,15 @@ static inline void osal_semaphore_reset(osal_semaphore_t sem_hdl)
|
|||||||
sem_hdl->count = 0;
|
sem_hdl->count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline tusb_error_t osal_semaphore_wait(osal_semaphore_t sem_hdl, uint32_t msec)
|
// TODO blocking for now
|
||||||
|
static inline bool osal_semaphore_wait (osal_semaphore_t sem_hdl, uint32_t msec)
|
||||||
{
|
{
|
||||||
(void) msec;
|
(void) msec;
|
||||||
|
|
||||||
// TODO blocking for now
|
|
||||||
while (sem_hdl->count == 0) { }
|
while (sem_hdl->count == 0) { }
|
||||||
sem_hdl->count--;
|
sem_hdl->count--;
|
||||||
|
|
||||||
return TUSB_ERROR_NONE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
Loading…
x
Reference in New Issue
Block a user