Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources
This commit is contained in:
43
sdk/lib/misc/rtt/rt_sem.c
Normal file
43
sdk/lib/misc/rtt/rt_sem.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "rtthread.h"
|
||||
|
||||
rt_err_t rt_sem_init(rt_sem_t sem, const char *name, rt_uint32_t value, rt_uint8_t flag)
|
||||
{
|
||||
return os_sema_init(sem, value);
|
||||
}
|
||||
|
||||
rt_err_t rt_sem_detach(rt_sem_t sem)
|
||||
{
|
||||
return os_sema_del(sem);
|
||||
}
|
||||
|
||||
rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag)
|
||||
{
|
||||
struct rt_semaphore *sem = os_malloc(sizeof(struct rt_semaphore));
|
||||
if (sem) {
|
||||
os_sema_init(sem, value);
|
||||
}
|
||||
return sem;
|
||||
}
|
||||
|
||||
rt_err_t rt_sem_delete(rt_sem_t sem)
|
||||
{
|
||||
os_sema_del(sem);
|
||||
os_free(sem);
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
rt_err_t rt_sem_take(rt_sem_t sem, rt_int32_t time)
|
||||
{
|
||||
return (os_sema_down(sem, time) == 1) ? RT_EOK : RT_ERROR;
|
||||
}
|
||||
|
||||
rt_err_t rt_sem_trytake(rt_sem_t sem)
|
||||
{
|
||||
return (os_sema_down(sem, 0) == 1) ? RT_EOK : RT_ERROR;
|
||||
}
|
||||
|
||||
rt_err_t rt_sem_release(rt_sem_t sem)
|
||||
{
|
||||
return os_sema_up(sem);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user