From 6564580c3d9319b02a7a58958b75672e82478162 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 2 Apr 2019 16:18:36 +0700 Subject: [PATCH] clean up --- README.md | 2 ++ src/osal/osal.h | 50 +++++++++++++++++++--------------------- src/osal/osal_freertos.h | 5 +++- src/osal/osal_none.h | 11 +++++++-- 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 888e73f5..e1551019 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ TinyUSB is an open-source cross-platform USB Host/Device stack for embedded syst ## Device Stack +Support suspend, resume, remote wakeup with auto generated descritpors + - Human Interface Device (HID): Keyboard, Mouse, Generic - Communication Class (CDC) - Mass Storage Class (MSC) diff --git a/src/osal/osal.h b/src/osal/osal.h index d6c33de3..cdeaa297 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 973a1854..215f7bca 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 d1d365bb..02106417 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