summaryrefslogtreecommitdiff
path: root/src/osal
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-04-02 16:18:36 +0700
committerhathach <[email protected]>2019-04-02 16:23:13 +0700
commit6564580c3d9319b02a7a58958b75672e82478162 (patch)
tree5c629e1fd7243412b3e7725db0fae84112d01ae6 /src/osal
parent2c1072c0aba48a2e6cbe93118c286b7999b0db43 (diff)
clean up
Diffstat (limited to 'src/osal')
-rw-r--r--src/osal/osal.h50
-rw-r--r--src/osal/osal_freertos.h5
-rw-r--r--src/osal/osal_none.h11
3 files changed, 37 insertions, 29 deletions
diff --git a/src/osal/osal.h b/src/osal/osal.h
index d6c33de3f..cdeaa2974 100644
--- a/src/osal/osal.h
+++ b/src/osal/osal.h
@@ -34,7 +34,6 @@
/** \addtogroup group_osal
* @{ */
-#include "tusb_option.h"
#include "common/tusb_common.h"
enum
@@ -48,34 +47,33 @@ enum
typedef void (*osal_task_func_t)( void * );
+//--------------------------------------------------------------------+
+// OSAL Porting API
+//--------------------------------------------------------------------+
+#if 0
+void osal_task_delay(uint32_t msec);
+
+//------------- Semaphore -------------//
+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_wait (osal_semaphore_t sem_hdl, uint32_t msec);
+
+void osal_semaphore_reset(osal_semaphore_t sem_hdl); // TODO removed
+
+//------------- Mutex -------------//
+osal_mutex_t osal_mutex_create(osal_mutex_def_t* mdef);
+bool osal_mutex_lock (osal_mutex_t sem_hdl, uint32_t msec);
+bool osal_mutex_unlock(osal_mutex_t mutex_hdl);
+
+//------------- Queue -------------//
+osal_queue_t osal_queue_create(osal_queue_def_t* qdef);
+bool osal_queue_receive(osal_queue_t const qhdl, void* data);
+bool osal_queue_send(osal_queue_t const qhdl, void const * data, bool in_isr);
+#endif
+
#if CFG_TUSB_OS == OPT_OS_NONE
#include "osal_none.h"
#else
- /* RTOS Porting API
- *
- * Task
- * void osal_task_delay(uint32_t msec)
- *
- * Queue
- * osal_queue_def_t, osal_queue_t
- * osal_queue_t osal_queue_create(osal_queue_def_t* qdef)
- * osal_queue_receive (osal_queue_t const queue_hdl, void *p_data, uint32_t msec, uint32_t *p_error)
- * bool osal_queue_send(osal_queue_t const queue_hdl, void const * data, bool in_isr)
- *
- * Semaphore
- * osal_semaphore_def_t, osal_semaphore_t
- * 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_wait(osal_semaphore_t sem_hdl, uint32_t msec)
- * void osal_semaphore_reset(osal_semaphore_t const sem_hdl)
- *
- * Mutex
- * osal_mutex_t
- * osal_mutex_create(osal_mutex_def_t* mdef)
- * bool osal_mutex_unlock(osal_mutex_t mutex_hdl)
- * void osal_mutex_lock(osal_mutex_t mutex_hdl, uint32_t msec, uint32_t *p_error)
- */
-
#if CFG_TUSB_OS == OPT_OS_FREERTOS
#include "osal_freertos.h"
#elif CFG_TUSB_OS == OPT_OS_MYNEWT
diff --git a/src/osal/osal_freertos.h b/src/osal/osal_freertos.h
index 973a18546..215f7bcad 100644
--- a/src/osal/osal_freertos.h
+++ b/src/osal/osal_freertos.h
@@ -83,7 +83,10 @@ static inline osal_mutex_t osal_mutex_create(osal_mutex_def_t* mdef)
return xSemaphoreCreateMutexStatic(mdef);
}
-#define osal_mutex_lock osal_semaphore_wait
+static inline bool osal_mutex_lock (osal_mutex_t mutex_hdl, uint32_t msec)
+{
+ return osal_semaphore_wait(mutex_hdl, msec);
+}
static inline bool osal_mutex_unlock(osal_mutex_t mutex_hdl)
{
diff --git a/src/osal/osal_none.h b/src/osal/osal_none.h
index d1d365bbe..021064171 100644
--- a/src/osal/osal_none.h
+++ b/src/osal/osal_none.h
@@ -95,8 +95,15 @@ static inline osal_mutex_t osal_mutex_create(osal_mutex_def_t* mdef)
return mdef;
}
-#define osal_mutex_lock osal_semaphore_wait
-#define osal_mutex_unlock(_mutex_hdl) osal_semaphore_post(_mutex_hdl, false)
+static inline bool osal_mutex_lock (osal_mutex_t mutex_hdl, uint32_t msec)
+{
+ return osal_semaphore_wait(mutex_hdl, msec);
+}
+
+static inline bool osal_mutex_unlock(osal_mutex_t mutex_hdl)
+{
+ return osal_semaphore_post(mutex_hdl, false);
+}
//--------------------------------------------------------------------+
// QUEUE API