Ver Fonte

clean up

hathach há 7 anos atrás
pai
commit
6564580c3d
4 ficheiros alterados com 39 adições e 29 exclusões
  1. 2 0
      README.md
  2. 24 26
      src/osal/osal.h
  3. 4 1
      src/osal/osal_freertos.h
  4. 9 2
      src/osal/osal_none.h

+ 2 - 0
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)

+ 24 - 26
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

+ 4 - 1
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)
 {

+ 9 - 2
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