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

move MCU define to tusb_option.h, fix the ATTR with USB RAM
hack: add delay before the very first xfer when enumerating (finalize later
after reading USB 2.0 specs)

hathach 13 лет назад
Родитель
Сommit
ef850984da
6 измененных файлов с 17 добавлено и 15 удалено
  1. 0 1
      demos/host/.project
  2. 1 3
      demos/host/keyboard_app.c
  3. 1 3
      demos/host/mouse_app.c
  4. 7 0
      tinyusb/host/usbh.c
  5. 0 7
      tinyusb/mcu_capacity.h
  6. 8 1
      tinyusb/tusb_option.h

+ 0 - 1
demos/host/.project

@@ -3,7 +3,6 @@
 	<name>host</name>
 	<comment></comment>
 	<projects>
-		<project>tinyusb</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>

+ 1 - 3
demos/host/keyboard_app.c

@@ -46,9 +46,7 @@
 //--------------------------------------------------------------------+
 // INTERNAL OBJECT & FUNCTION DECLARATION
 //--------------------------------------------------------------------+
-//TUSB_CFG_ATTR_USBRAM
-__attribute__ ((section(".data.$RAM3"))) // TODO hack for USB RAM
-tusb_keyboard_report_t keyboard_report;
+tusb_keyboard_report_t keyboard_report TUSB_CFG_ATTR_USBRAM;
 
 //--------------------------------------------------------------------+
 // IMPLEMENTATION

+ 1 - 3
demos/host/mouse_app.c

@@ -46,9 +46,7 @@
 //--------------------------------------------------------------------+
 // INTERNAL OBJECT & FUNCTION DECLARATION
 //--------------------------------------------------------------------+
-//TUSB_CFG_ATTR_USBRAM
-__attribute__ ((section(".data.$RAM3"))) // TODO hack for USB RAM
-tusb_mouse_report_t mouse_report;
+tusb_mouse_report_t mouse_report TUSB_CFG_ATTR_USBRAM;
 
 //--------------------------------------------------------------------+
 // IMPLEMENTATION

+ 7 - 0
tinyusb/host/usbh.c

@@ -273,6 +273,13 @@ OSAL_TASK_DECLARE(usbh_enumeration_task)
   TASK_ASSERT_STATUS( usbh_pipe_control_open(0, 8) );
   usbh_devices[0].state = TUSB_DEVICE_STATE_ADDRESSED;
 
+#ifndef _TEST_
+  // TODO finalize delay after reset, hack delay 100 ms, otherwise speed is detected as LOW in most cases
+  volatile uint32_t delay_us = 10000;
+  delay_us *= (SystemCoreClock / 1000000) / 3;
+  while(delay_us--);
+#endif
+
   //------------- Get first 8 bytes of device descriptor to get Control Endpoint Size -------------//
   OSAL_SUBTASK_INVOKED_AND_WAIT(
     usbh_control_xfer_subtask(

+ 0 - 7
tinyusb/mcu_capacity.h

@@ -51,13 +51,6 @@
 #ifndef _TUSB_MCU_CAPACITY_H_
 #define _TUSB_MCU_CAPACITY_H_
 
-#define MCU_LPC13UXX    1
-#define MCU_LPC11UXX    2
-#define MCU_LPC43XX     3
-#define MCU_LPC18XX     4
-#define MCU_LPC175X_6X  5
-#define MCU_LPC177X_8X  6
-
 #ifdef __cplusplus
  extern "C" {
 #endif

+ 8 - 1
tinyusb/tusb_option.h

@@ -59,9 +59,16 @@
 #define TUSB_VERSION_NAME   "alpha"
 #define TUSB_VERSION        XSTRING_(TUSB_VERSION_YEAR) "." XSTRING_(TUSB_VERSION_MONTH)
 
+#define MCU_LPC13UXX    1
+#define MCU_LPC11UXX    2
+#define MCU_LPC43XX     3
+#define MCU_LPC18XX     4
+#define MCU_LPC175X_6X  5
+#define MCU_LPC177X_8X  6
+
 /// define this symbol will make tinyusb look for external configure file
-#include "tusb_config.h"
 #include "mcu_capacity.h"
+#include "tusb_config.h"
 
 //--------------------------------------------------------------------+
 // CONTROLLER