Просмотр исходного кода

rename CFG_TUSB_OS_TASK_PRIO to CFG_TUD_TASK_PRIO, TUC_DEVICE_STACKSIZE to CFG_TUD_TASK_STACKSIZE

hathach 8 лет назад
Родитель
Сommit
e7d7cb222a

+ 1 - 1
doxygen/configuration.txt

@@ -20,7 +20,7 @@
 
 #define CFG_TUSB_MCU          ///< Select one of the supported MCU, the value must be from \ref group_mcu
 #define CFG_TUSB_OS           ///< Select one of the supported RTOS, the value must be from \ref group_supported_os.
-#define CFG_TUSB_OS_TASK_PRIO ///< If \ref CFG_TUSB_OS is configured to use a real RTOS (other than OPT_OS_NONE). This determines the priority of the usb stack task.
+#define CFG_TUD_TASK_PRIO ///< If \ref CFG_TUSB_OS is configured to use a real RTOS (other than OPT_OS_NONE). This determines the priority of the usb stack task.
 
 //--------------------------------------------------------------------+
 // HOST CONFIGURATION

+ 1 - 1
doxygen/getting_started.md

@@ -35,7 +35,7 @@ It is relatively simple to incorporate tinyusb to your (existing) project
 1. Copy core folder **tinyusb** to your project. Let's say it is *your_project/tinyusb*
 2. Add all the .c in the core folder to your project settings (uvproj, ewp, makefile)
 3. Add *your_project/tinysb* to your include path. Also make sure your current include path also contains the configuration file tusb_config.h. Or you could simply put the tusb_config.h into the tinyusb folder as well.
-4. Make sure all required macros are all defined properly in tusb_config.h (configure file in demo application is sufficient, but you need to add a few more such as CFG_TUSB_MCU, CFG_TUSB_OS, CFG_TUSB_OS_TASK_PRIO since they are passed by IDE/compiler to maintain a unique configure for all demo projects).
+4. Make sure all required macros are all defined properly in tusb_config.h (configure file in demo application is sufficient, but you need to add a few more such as CFG_TUSB_MCU, CFG_TUSB_OS, CFG_TUD_TASK_PRIO since they are passed by IDE/compiler to maintain a unique configure for all demo projects).
 5. If you use the device stack, make sure you have created/modified usb descriptors for your own need. Ultimately you need to fill out required pointers in tusbd_descriptor_pointers for that stack to work.
 6. Add tusb_init() call to your reset initialization code.
 7. Implement all enabled classes's callbacks.

+ 1 - 1
examples/device/device_virtual_com/src/tusb_config.h

@@ -69,7 +69,7 @@
 #define CFG_TUSB_DEBUG                    2
 
 //#define CFG_TUSB_OS                   OPT_OS_NONE // be passed from IDE/command line for easy project switching
-//#define CFG_TUSB_OS_TASK_PRIO         0            // be passed from IDE/command line for easy project switching
+//#define CFG_TUD_TASK_PRIO         0            // be passed from IDE/command line for easy project switching
 
 //--------------------------------------------------------------------+
 // USB RAM PLACEMENT

+ 1 - 1
examples/device/nrf52840/src/tusb_config.h

@@ -69,7 +69,7 @@
 #define CFG_TUSB_DEBUG                    2
 
 #define CFG_TUSB_OS                       OPT_OS_NONE // be passed from IDE/command line for easy project switching
-//#define CFG_TUSB_OS_TASK_PRIO         0              // be passed from IDE/command line for easy project switching
+//#define CFG_TUD_TASK_PRIO         0              // be passed from IDE/command line for easy project switching
 
 //--------------------------------------------------------------------+
 // USB RAM PLACEMENT

+ 6 - 6
examples/obsolete/device/device_freertos/.cproject

@@ -33,7 +33,7 @@
 								<option id="gnu.c.compiler.option.preprocessor.def.symbols.371325215" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
 									<listOptionValue builtIn="false" value="__REDLIB__"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC13UXX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_LPCXPRESSO1347"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
@@ -132,7 +132,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC11UXX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_LPCXPRESSO11U68"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -226,7 +226,7 @@
 								<option id="gnu.c.compiler.option.preprocessor.def.symbols.211439980" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
 									<listOptionValue builtIn="false" value="__REDLIB__"/>
 									<listOptionValue builtIn="false" value="__USE_CMSIS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
 									<listOptionValue builtIn="false" value="CORE_M4"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC43XX"/>
@@ -333,7 +333,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC175X_6X "/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_LPCXPRESSO1769"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -431,7 +431,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC43XX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_NGX4330"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -530,7 +530,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC11UXX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_LPCXPRESSO11U14"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>

+ 1 - 1
examples/obsolete/device/src/app_os_prio.h

@@ -55,7 +55,7 @@
 #endif
 
 enum {
-  STANDARD_APP_TASK_PRIO     = LOWER_PRIO(CFG_TUSB_OS_TASK_PRIO),  // Application Task is lower than usb system task
+  STANDARD_APP_TASK_PRIO     = LOWER_PRIO(CFG_TUD_TASK_PRIO),  // Application Task is lower than usb system task
   LED_BLINKING_APP_TASK_PRIO = LOWER_PRIO(STANDARD_APP_TASK_PRIO), // Blinking task is lower than normal task
 
   KEYBOARD_APP_TASK_PRIO     = STANDARD_APP_TASK_PRIO,

+ 1 - 1
examples/obsolete/device/src/tusb_config.h

@@ -69,7 +69,7 @@
 #define CFG_TUSB_DEBUG            2
 
 //#define CFG_TUSB_OS                   OPT_OS_NONE // be passed from IDE/command line for easy project switching
-//#define CFG_TUSB_OS_TASK_PRIO         0            // be passed from IDE/command line for easy project switching
+//#define CFG_TUD_TASK_PRIO         0            // be passed from IDE/command line for easy project switching
 
 
 /*------------------------------------------------------------------*/

+ 4 - 4
examples/obsolete/host/host_freertos/.cproject

@@ -38,7 +38,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC43XX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_NGX4330"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -137,7 +137,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC43XX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_EA4357"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=configMAX_PRIORITIES-5"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=configMAX_PRIORITIES-5"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -308,7 +308,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC175X_6X"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_LPCXPRESSO1769"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>
@@ -425,7 +425,7 @@
 									<listOptionValue builtIn="false" value="CFG_TUSB_MCU=OPT_MCU_LPC43XX"/>
 									<listOptionValue builtIn="false" value="BOARD=BOARD_MCB4300"/>
 									<listOptionValue builtIn="false" value="CFG_TUSB_OS=OPT_OS_FREERTOS"/>
-									<listOptionValue builtIn="false" value="CFG_TUSB_OS_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
+									<listOptionValue builtIn="false" value="CFG_TUD_TASK_PRIO=(configMAX_PRIORITIES-5)"/>
 									<listOptionValue builtIn="false" value="DEBUG"/>
 									<listOptionValue builtIn="false" value="__CODE_RED"/>
 									<listOptionValue builtIn="false" value="__MULTICORE_NONE"/>

+ 1 - 1
examples/obsolete/host/src/app_os_prio.h

@@ -64,7 +64,7 @@
 #endif
 
 enum {
-  STANDARD_APP_TASK_PRIO     = LOWER_PRIO(CFG_TUSB_OS_TASK_PRIO),  // Application Task is lower than usb system task
+  STANDARD_APP_TASK_PRIO     = LOWER_PRIO(CFG_TUD_TASK_PRIO),  // Application Task is lower than usb system task
   LED_BLINKING_APP_TASK_PRIO = LOWER_PRIO(STANDARD_APP_TASK_PRIO), // Blinking task is lower than normal task
 
   KEYBOARD_APP_TASK_PRIO     = STANDARD_APP_TASK_PRIO,

+ 1 - 1
examples/obsolete/host/src/tusb_config.h

@@ -69,7 +69,7 @@
 #define CFG_TUSB_DEBUG                  2
 
 //#define CFG_TUSB_OS                   OPT_OS_NONE // defined using eclipse build
-//#define CFG_TUSB_OS_TASK_PRIO         0            // defined using eclipse build
+//#define CFG_TUD_TASK_PRIO         0            // defined using eclipse build
 
 //--------------------------------------------------------------------+
 // USB RAM PLACEMENT

+ 14 - 34
tinyusb/device/usbd.c

@@ -55,7 +55,6 @@ typedef struct {
   tusb_error_t (* open)(uint8_t rhport, tusb_desc_interface_t const * desc_intf, uint16_t* p_length);
   tusb_error_t (* control_request_st) (uint8_t rhport, tusb_control_request_t const *);
   tusb_error_t (* xfer_cb) (uint8_t rhport, uint8_t ep_addr, tusb_event_t, uint32_t);
-//  void (* routine)(void);
   void (* sof)(uint8_t rhport);
   void (* close) (uint8_t);
 } usbd_class_driver_t;
@@ -87,7 +86,6 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .open                    = hidd_open,
         .control_request_st = hidd_control_request_st,
         .xfer_cb                 = hidd_xfer_cb,
-//        .routine                 = NULL,
         .sof                     = NULL,
         .close                   = hidd_close
     },
@@ -100,7 +98,6 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .open                    = mscd_open,
         .control_request_st = mscd_control_request_st,
         .xfer_cb                 = mscd_xfer_cb,
-//        .routine                 = NULL,
         .sof                     = NULL,
         .close                   = mscd_close
     },
@@ -113,7 +110,6 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .open                    = cdcd_open,
         .control_request_st = cdcd_control_request_st,
         .xfer_cb                 = cdcd_xfer_cb,
-//        .routine                 = NULL,
         .sof                     = cdcd_sof,
         .close                   = cdcd_close
     },
@@ -180,12 +176,12 @@ typedef struct ATTR_ALIGNED(4)
 
 VERIFY_STATIC(sizeof(usbd_task_event_t) <= 12, "size is not correct");
 
-#ifndef TUC_DEVICE_STACKSIZE
-#define TUC_DEVICE_STACKSIZE 150
+#ifndef CFG_TUD_TASK_STACKSIZE
+#define CFG_TUD_TASK_STACKSIZE 150
 #endif
 
-#ifndef CFG_TUSB_OS_TASK_PRIO
-#define CFG_TUSB_OS_TASK_PRIO 0
+#ifndef CFG_TUD_TASK_PRIO
+#define CFG_TUD_TASK_PRIO 0
 #endif
 
 
@@ -215,7 +211,7 @@ tusb_error_t usbd_init (void)
   _usbd_ctrl_sem = osal_semaphore_create(1, 0);
   VERIFY(_usbd_q, TUSB_ERROR_OSAL_SEMAPHORE_FAILED);
 
-  osal_task_create(usbd_task, "usbd", TUC_DEVICE_STACKSIZE, NULL, CFG_TUSB_OS_TASK_PRIO);
+  osal_task_create(usbd_task, "usbd", CFG_TUD_TASK_STACKSIZE, NULL, CFG_TUD_TASK_PRIO);
 
   //------------- Descriptor Check -------------//
   TU_ASSERT(tusbd_descriptor_pointers.p_device != NULL && tusbd_descriptor_pointers.p_configuration != NULL, TUSB_ERROR_DESCRIPTOR_CORRUPTED);
@@ -250,37 +246,20 @@ static tusb_error_t usbd_main_st(void)
 
   OSAL_SUBTASK_BEGIN
 
-  tusb_error_t error;
-  error = TUSB_ERROR_NONE;
+  tusb_error_t err;
+  err = TUSB_ERROR_NONE;
 
   memclr_(&event, sizeof(usbd_task_event_t));
 
-#if 1
-  osal_queue_receive(_usbd_q, &event, OSAL_TIMEOUT_WAIT_FOREVER, &error);
-  STASK_ASSERT_ERR(error);
-#else
-  enum { ROUTINE_INTERVAL_MS = 10 };
-  osal_queue_receive(_usbd_q, &event, ROUTINE_INTERVAL_MS, &error);
-  if ( error != TUSB_ERROR_NONE )
-  {
-    // time out, run class routine then
-    if ( error == TUSB_ERROR_OSAL_TIMEOUT)
-    {
-      for (uint8_t class_code = TUSB_CLASS_AUDIO; class_code < USBD_CLASS_DRIVER_COUNT; class_code++)
-      {
-        if ( usbd_class_drivers[class_code].routine ) usbd_class_drivers[class_code].routine();
-      }
-    }
-
-    STASK_RETURN(error);
-  }
-#endif
+  osal_queue_receive(_usbd_q, &event, OSAL_TIMEOUT_WAIT_FOREVER, &err);
 
   if ( USBD_EVENTID_SETUP_RECEIVED == event.event_id )
   {
-    STASK_INVOKE( proc_control_request_st(event.rhport, &event.setup_received), error );
-  }else if (USBD_EVENTID_XFER_DONE == event.event_id)
+    STASK_INVOKE( proc_control_request_st(event.rhport, &event.setup_received), err );
+  }
+  else if (USBD_EVENTID_XFER_DONE == event.event_id)
   {
+    // TODO only call respective interface callback
     // Call class handling function. Those doest not own the endpoint should check and return
     for (uint8_t class_code = TUSB_CLASS_AUDIO; class_code < USBD_CLASS_DRIVER_COUNT; class_code++)
     {
@@ -289,7 +268,8 @@ static tusb_error_t usbd_main_st(void)
         usbd_class_drivers[class_code].xfer_cb( event.rhport, event.xfer_done.ep_addr, (tusb_event_t) event.sub_event_id, event.xfer_done.xferred_byte);
       }
     }
-  }else if (USBD_EVENTID_SOF == event.event_id)
+  }
+  else if (USBD_EVENTID_SOF == event.event_id)
   {
     for (uint8_t class_code = TUSB_CLASS_AUDIO; class_code < USBD_CLASS_DRIVER_COUNT; class_code++)
     {

+ 3 - 3
tinyusb/host/usbh.c

@@ -42,8 +42,8 @@
 
 #define _TINY_USB_SOURCE_FILE_
 
-#ifndef CFG_TUSB_OS_TASK_PRIO
-#define CFG_TUSB_OS_TASK_PRIO 0
+#ifndef CFG_TUD_TASK_PRIO
+#define CFG_TUD_TASK_PRIO 0
 #endif
 
 //--------------------------------------------------------------------+
@@ -150,7 +150,7 @@ tusb_error_t usbh_init(void)
   enum_queue_hdl = osal_queue_create( ENUM_QUEUE_DEPTH, sizeof(uint32_t) );
   TU_ASSERT(enum_queue_hdl, TUSB_ERROR_OSAL_QUEUE_FAILED);
 
-  osal_task_create(usbh_enumeration_task, "usbh", 200, NULL, CFG_TUSB_OS_TASK_PRIO);
+  osal_task_create(usbh_enumeration_task, "usbh", 200, NULL, CFG_TUD_TASK_PRIO);
 
   //------------- Semaphore, Mutex for Control Pipe -------------//
   for(uint8_t i=0; i<CFG_TUSB_HOST_DEVICE_MAX+1; i++) // including address zero

+ 2 - 2
tinyusb/tusb_option.h

@@ -134,8 +134,8 @@
 #define CFG_TUSB_OS OPT_OS_NONE
 #endif
 
-#if (CFG_TUSB_OS != OPT_OS_NONE) && !defined (CFG_TUSB_OS_TASK_PRIO)
-  #error CFG_TUSB_OS_TASK_PRIO need to be defined (hint: use the highest if possible)
+#if (CFG_TUSB_OS != OPT_OS_NONE) && !defined (CFG_TUD_TASK_PRIO)
+  #error CFG_TUD_TASK_PRIO need to be defined (hint: use the highest if possible)
 #endif
 
 //#ifndef CFG_TUSB_CONFIGURATION_MAX