22
22
* THE SOFTWARE.
23
23
*/
24
24
25
- #ifndef _TUSB_CONFIG_ESP32_H_
26
- #define _TUSB_CONFIG_ESP32_H_
25
+ #ifndef TUSB_CONFIG_ESP32_H_
26
+ #define TUSB_CONFIG_ESP32_H_
27
27
28
28
#ifdef __cplusplus
29
29
extern "C" {
@@ -43,11 +43,14 @@ extern "C" {
43
43
//--------------------------------------------------------------------+
44
44
// ESP32 out-of-sync
45
45
//--------------------------------------------------------------------+
46
- #ifndef tu_static
47
- #define tu_static static
46
+ #include "esp_idf_version.h"
48
47
48
+ // IDF 4.4.4 and prior is using tinyusb 0.14.0
49
+ #if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL (4 , 4 , 5 )
49
50
#include <stddef.h>
50
51
#include <string.h>
52
+
53
+ #define tu_static static
51
54
static inline int tu_memset_s (void * dest , size_t destsz , int ch , size_t count ) {
52
55
if (count > destsz ) {
53
56
return -1 ;
@@ -63,25 +66,37 @@ static inline int tu_memcpy_s(void *dest, size_t destsz, const void *src,
63
66
memcpy (dest , src , count );
64
67
return 0 ;
65
68
}
69
+
70
+ enum {
71
+ TUSB_EPSIZE_BULK_FS = 64 ,
72
+ TUSB_EPSIZE_BULK_HS = 512 ,
73
+
74
+ TUSB_EPSIZE_ISO_FS_MAX = 1023 ,
75
+ TUSB_EPSIZE_ISO_HS_MAX = 1024 ,
76
+ };
77
+
78
+ enum { TUSB_INDEX_INVALID_8 = 0xFFu };
66
79
#endif
67
80
68
81
#ifndef CFG_TUD_MEM_SECTION
69
82
#define CFG_TUD_MEM_SECTION CFG_TUSB_MEM_SECTION
70
83
#endif
71
84
85
+ #ifndef CFG_TUH_MEM_SECTION
86
+ #define CFG_TUH_MEM_SECTION CFG_TUSB_MEM_SECTION
87
+ #endif
88
+
89
+ #ifndef CFG_TUH_MEM_ALIGN
90
+ #define CFG_TUH_MEM_ALIGN CFG_TUSB_MEM_ALIGN
91
+ #endif
92
+
72
93
#ifndef CFG_TUD_LOG_LEVEL
73
94
#define CFG_TUD_LOG_LEVEL 2
74
95
#endif
75
96
76
- #if 0
77
- //--------------------------------------------------------------------
78
- // COMMON CONFIGURATION
79
- //--------------------------------------------------------------------
80
- #define CFG_TUSB_MCU OPT_MCU_NRF5X
81
-
82
- #define CFG_TUSB_OS OPT_OS_FREERTOS
83
- #define CFG_TUSB_MEM_SECTION
84
- #define CFG_TUSB_MEM_ALIGN __attribute__((aligned(4)))
97
+ // #ifndef CFG_TUH_LOG_LEVEL
98
+ // #define CFG_TUH_LOG_LEVEL 2
99
+ // #endif
85
100
86
101
#ifndef CFG_TUSB_DEBUG
87
102
#define CFG_TUSB_DEBUG 0
@@ -90,27 +105,30 @@ static inline int tu_memcpy_s(void *dest, size_t destsz, const void *src,
90
105
// For selectively disable device log (when > CFG_TUSB_DEBUG)
91
106
// #define CFG_TUD_LOG_LEVEL 3
92
107
93
- #ifdef USE_TINYUSB
94
- // Enable device stack
95
- #define CFG_TUD_ENABLED 1
96
-
97
- // Enable host stack with MAX3421E (host shield)
98
- #define CFG_TUH_ENABLED 1
99
- #define CFG_TUH_MAX3421 1
100
-
101
- #else
102
- #define CFG_TUD_ENABLED 0
103
- #define CFG_TUH_ENABLED 0
104
- #endif
105
-
106
108
//--------------------------------------------------------------------
107
109
// DEVICE CONFIGURATION
108
110
//--------------------------------------------------------------------
109
111
112
+ // device configuration is configured in BSP
113
+ // sdk/include/arduino_tinyusb/include/tusb_config.h
114
+
110
115
//--------------------------------------------------------------------
111
116
// Host Configuration
112
117
//--------------------------------------------------------------------
113
118
119
+ // Enable host stack with MAX3421E (host shield)
120
+ #define CFG_TUH_ENABLED 0
121
+ #define CFG_TUH_MAX_SPEED OPT_MODE_HIGH_SPEED
122
+ #ifndef TUH_OPT_HIGH_SPEED
123
+ #define TUH_OPT_HIGH_SPEED 0
124
+ #endif
125
+
126
+ #define CFG_TUH_MAX3421 1
127
+
128
+ #ifndef CFG_TUH_MAX3421_ENDPOINT_TOTAL
129
+ #define CFG_TUH_MAX3421_ENDPOINT_TOTAL (8 + 4 * (CFG_TUH_DEVICE_MAX - 1))
130
+ #endif
131
+
114
132
// Size of buffer to hold descriptors and other data used for enumeration
115
133
#define CFG_TUH_ENUMERATION_BUFSIZE 256
116
134
@@ -150,8 +168,6 @@ static inline int tu_memcpy_s(void *dest, size_t destsz, const void *src,
150
168
#define CFG_TUH_CDC_LINE_CODING_ON_ENUM \
151
169
{ 115200, CDC_LINE_CONDING_STOP_BITS_1, CDC_LINE_CODING_PARITY_NONE, 8 }
152
170
153
- #endif
154
-
155
171
#ifdef __cplusplus
156
172
}
157
173
#endif
0 commit comments