Skip to content

Commit 59843ea

Browse files
committed
Add USB Video Driver support and fix build with latest IDF master
1 parent a97b6d7 commit 59843ea

File tree

6 files changed

+169
-168
lines changed

6 files changed

+169
-168
lines changed

components/arduino_tinyusb/Kconfig.projbuild

+35-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ menu "Arduino TinyUSB"
5959

6060
config TINYUSB_MSC_BUFSIZE
6161
int "MSC Buffer size"
62-
default 64
62+
range 512 4096
63+
default 512
6364
depends on TINYUSB_MSC_ENABLED
6465
help
6566
MSC Buffer size
@@ -123,6 +124,39 @@ menu "Arduino TinyUSB"
123124

124125
endmenu
125126

127+
menu "VIDEO driver"
128+
depends on TINYUSB_ENABLED
129+
130+
config TINYUSB_VIDEO_ENABLED
131+
bool "Enable USB VIDEO TinyUSB driver"
132+
default y
133+
help
134+
Enable USB VIDEO TinyUSB driver.
135+
136+
config TINYUSB_DESC_VIDEO_STRING
137+
string "VIDEO Device String"
138+
default "Espressif VIDEO Device"
139+
depends on TINYUSB_VIDEO_ENABLED
140+
help
141+
Specify name of the VIDEO device
142+
143+
config TINYUSB_VIDEO_STREAMING_BUFSIZE
144+
int "VIDEO streaming endpoint size"
145+
range 64 4096
146+
default 256
147+
depends on TINYUSB_VIDEO_ENABLED
148+
help
149+
VIDEO streaming endpoint size
150+
151+
config TINYUSB_VIDEO_STREAMING_IFS
152+
int "Number of VIDEO streaming interfaces"
153+
range 1 3
154+
default 1
155+
depends on TINYUSB_VIDEO_ENABLED
156+
help
157+
The number of VIDEO streaming interfaces
158+
endmenu
159+
126160
menu "DFU Runtime driver"
127161
depends on TINYUSB_ENABLED
128162

components/arduino_tinyusb/include/tusb_config.h

+9
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ extern "C" {
5252
# define CONFIG_TINYUSB_MIDI_ENABLED 0
5353
#endif
5454

55+
#ifndef CONFIG_TINYUSB_VIDEO_ENABLED
56+
# define CONFIG_TINYUSB_VIDEO_ENABLED 0
57+
#endif
58+
5559
#ifndef CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED
5660
# define CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED 0
5761
#endif
@@ -99,6 +103,7 @@ extern "C" {
99103
#define CFG_TUD_MSC CONFIG_TINYUSB_MSC_ENABLED
100104
#define CFG_TUD_HID CONFIG_TINYUSB_HID_ENABLED
101105
#define CFG_TUD_MIDI CONFIG_TINYUSB_MIDI_ENABLED
106+
#define CFG_TUD_VIDEO CONFIG_TINYUSB_VIDEO_ENABLED
102107
#define CFG_TUD_CUSTOM_CLASS CONFIG_TINYUSB_CUSTOM_CLASS_ENABLED
103108
#define CFG_TUD_DFU_RUNTIME CONFIG_TINYUSB_DFU_RT_ENABLED
104109
#define CFG_TUD_VENDOR CONFIG_TINYUSB_VENDOR_ENABLED
@@ -117,6 +122,10 @@ extern "C" {
117122
#define CFG_TUD_MIDI_RX_BUFSIZE CONFIG_TINYUSB_MIDI_RX_BUFSIZE
118123
#define CFG_TUD_MIDI_TX_BUFSIZE CONFIG_TINYUSB_MIDI_TX_BUFSIZE
119124

125+
// The number of video streaming interfaces and endpoint size
126+
#define CFG_TUD_VIDEO_STREAMING CONFIG_TINYUSB_VIDEO_STREAMING_IFS
127+
#define CFG_TUD_VIDEO_STREAMING_EP_BUFSIZE CONFIG_TINYUSB_VIDEO_STREAMING_BUFSIZE
128+
120129
// VENDOR FIFO size of TX and RX
121130
#define CFG_TUD_VENDOR_RX_BUFSIZE CONFIG_TINYUSB_VENDOR_RX_BUFSIZE
122131
#define CFG_TUD_VENDOR_TX_BUFSIZE CONFIG_TINYUSB_VENDOR_TX_BUFSIZE

sdkconfig.esp32

+35-70
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ CONFIG_BOOTLOADER_WDT_TIME_MS=9000
6363
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
6464
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
6565
# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
66+
CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
6667
# end of Bootloader config
6768

6869
#
@@ -82,7 +83,9 @@ CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
8283
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
8384
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
8485
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
86+
CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
8587
CONFIG_ESPTOOLPY_FLASHMODE="dio"
88+
# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
8689
# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set
8790
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
8891
# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
@@ -263,10 +266,9 @@ CONFIG_APPTRACE_LOCK_ENABLE=y
263266
# Bluetooth
264267
#
265268
CONFIG_BT_ENABLED=y
266-
CONFIG_BT_CTRL_ESP32=y
267269

268270
#
269-
# Bluetooth controller(ESP32 Dual Mode Bluetooth)
271+
# Bluetooth controller
270272
#
271273
# CONFIG_BTDM_CTRL_MODE_BLE_ONLY is not set
272274
# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set
@@ -318,37 +320,9 @@ CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y
318320
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
319321
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
320322
CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
321-
# end of Bluetooth controller(ESP32 Dual Mode Bluetooth)
322-
323-
CONFIG_BT_CTRL_MODE_EFF=1
324-
CONFIG_BT_CTRL_BLE_MAX_ACT=10
325-
CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=10
326-
CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0
327-
CONFIG_BT_CTRL_PINNED_TO_CORE=0
328-
CONFIG_BT_CTRL_HCI_TL=1
329-
CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30
330-
CONFIG_BT_CTRL_HW_CCA_EFF=0
331-
CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=0
332-
CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
333-
CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
334-
CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
335-
CONFIG_BT_CTRL_BLE_SCAN_DUPL=y
336-
CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0
337-
CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100
338-
339-
#
340-
# MODEM SLEEP Options
341-
#
342-
# end of MODEM SLEEP Options
343-
344-
CONFIG_BT_CTRL_SLEEP_MODE_EFF=0
345-
CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0
346-
CONFIG_BT_CTRL_HCI_TL_EFF=1
347-
348-
#
349-
# MODEM SLEEP Options
350-
#
351-
# end of MODEM SLEEP Options
323+
CONFIG_BTDM_RESERVE_DRAM=0xdb5c
324+
CONFIG_BTDM_CTRL_HLI=y
325+
# end of Bluetooth controller
352326

353327
CONFIG_BT_BLUEDROID_ENABLED=y
354328
# CONFIG_BT_NIMBLE_ENABLED is not set
@@ -371,7 +345,7 @@ CONFIG_BT_HFP_CLIENT_ENABLE=y
371345
# CONFIG_BT_HFP_AG_ENABLE is not set
372346
CONFIG_BT_HFP_AUDIO_DATA_PATH_PCM=y
373347
# CONFIG_BT_HFP_AUDIO_DATA_PATH_HCI is not set
374-
# CONFIG_BT_HID_HOST_ENABLED is not set
348+
# CONFIG_BT_HID_ENABLED is not set
375349
CONFIG_BT_SSP_ENABLED=y
376350
CONFIG_BT_BLE_ENABLED=y
377351
CONFIG_BT_GATTS_ENABLE=y
@@ -396,10 +370,7 @@ CONFIG_BT_SMP_ENABLE=y
396370
# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set
397371
CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
398372
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
399-
CONFIG_BT_RESERVE_DRAM=0xdb5c
400373
# end of Bluedroid Options
401-
402-
CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
403374
# end of Bluetooth
404375

405376
# CONFIG_BLE_MESH is not set
@@ -424,6 +395,12 @@ CONFIG_COAP_LOG_DEFAULT_LEVEL=0
424395
CONFIG_ADC_DISABLE_DAC=y
425396
# end of ADC configuration
426397

398+
#
399+
# MCPWM configuration
400+
#
401+
# CONFIG_MCPWM_ISR_IN_IRAM is not set
402+
# end of MCPWM configuration
403+
427404
#
428405
# SPI configuration
429406
#
@@ -479,6 +456,7 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
479456
CONFIG_ESP_TLS_USING_MBEDTLS=y
480457
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
481458
# CONFIG_ESP_TLS_SERVER is not set
459+
# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
482460
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
483461
# CONFIG_ESP_TLS_INSECURE is not set
484462
# end of ESP-TLS
@@ -707,6 +685,8 @@ CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
707685
# Sleep Config
708686
#
709687
CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
688+
# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set
689+
# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set
710690
# end of Sleep Config
711691
# end of Hardware Settings
712692

@@ -721,6 +701,12 @@ CONFIG_ESP_IPC_ISR_ENABLE=y
721701
#
722702
# LCD and Touch Panel
723703
#
704+
705+
#
706+
# LCD Peripheral Configuration
707+
#
708+
CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
709+
# end of LCD Peripheral Configuration
724710
# end of LCD and Touch Panel
725711

726712
#
@@ -786,6 +772,7 @@ CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
786772
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
787773
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
788774
# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
775+
CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y
789776
# end of ESP System Settings
790777

791778
#
@@ -907,6 +894,8 @@ CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
907894
CONFIG_FMB_TIMER_PORT_ENABLED=y
908895
CONFIG_FMB_TIMER_GROUP=0
909896
CONFIG_FMB_TIMER_INDEX=0
897+
CONFIG_FMB_MASTER_TIMER_GROUP=0
898+
CONFIG_FMB_MASTER_TIMER_INDEX=0
910899
# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
911900
# end of Modbus configuration
912901

@@ -947,6 +936,8 @@ CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
947936
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
948937
CONFIG_FREERTOS_DEBUG_OCDAWARE=y
949938
# CONFIG_FREERTOS_FPU_IN_ISR is not set
939+
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
940+
# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
950941
# end of FreeRTOS
951942

952943
#
@@ -1011,6 +1002,7 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
10111002
#
10121003
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
10131004
# CONFIG_LWIP_NETIF_API is not set
1005+
# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
10141006
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
10151007
# CONFIG_LWIP_L2_TO_L3_COPY is not set
10161008
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
@@ -1035,6 +1027,7 @@ CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
10351027
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
10361028
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
10371029
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
1030+
CONFIG_LWIP_DHCP_OPTIONS_LEN=68
10381031

10391032
#
10401033
# DHCP server
@@ -1049,7 +1042,6 @@ CONFIG_LWIP_IPV6=y
10491042
# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
10501043
CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
10511044
# CONFIG_LWIP_IPV6_FORWARD is not set
1052-
CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=0
10531045
# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
10541046
CONFIG_LWIP_NETIF_LOOPBACK=y
10551047
CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
@@ -1127,7 +1119,8 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
11271119
#
11281120
# SNTP
11291121
#
1130-
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
1122+
CONFIG_LWIP_SNTP_MAX_SERVERS=1
1123+
# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
11311124
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
11321125
# end of SNTP
11331126

@@ -1290,6 +1283,8 @@ CONFIG_MDNS_TASK_AFFINITY=0x0
12901283
CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
12911284
# CONFIG_MDNS_STRICT_MODE is not set
12921285
CONFIG_MDNS_TIMER_PERIOD_MS=100
1286+
# CONFIG_MDNS_NETWORKING_SOCKET is not set
1287+
CONFIG_MDNS_MULTIPLE_INSTANCE=y
12931288
# end of mDNS
12941289

12951290
#
@@ -1474,6 +1469,7 @@ CONFIG_WL_SECTOR_SIZE=4096
14741469
#
14751470
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
14761471
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
1472+
# CONFIG_WIFI_PROV_BLE_BONDING is not set
14771473
# end of Wi-Fi Provisioning Manager
14781474

14791475
#
@@ -1510,37 +1506,6 @@ CONFIG_DSP_MAX_FFT_SIZE_4096=y
15101506
CONFIG_DSP_MAX_FFT_SIZE=4096
15111507
# end of DSP Library
15121508

1513-
# CONFIG_C_IMPL is not set
1514-
CONFIG_XTENSA_IMPL=y
1515-
1516-
#
1517-
# ESP-FACE Configuration
1518-
#
1519-
CONFIG_MTMN_LITE_QUANT=y
1520-
# CONFIG_MTMN_LITE_FLOAT is not set
1521-
# CONFIG_MTMN_HEAVY_QUANT is not set
1522-
# CONFIG_FRMN is not set
1523-
CONFIG_MFN56_1X=y
1524-
# CONFIG_MFN56_2X is not set
1525-
# CONFIG_MFN56_3X is not set
1526-
# CONFIG_MFN56_4X is not set
1527-
1528-
#
1529-
# Object Detection
1530-
#
1531-
# CONFIG_DETECT_WITH_LANDMARK is not set
1532-
# end of Object Detection
1533-
1534-
#
1535-
# Pose Estimation
1536-
#
1537-
CONFIG_HD_NANO1=y
1538-
# CONFIG_HD_LITE1 is not set
1539-
CONFIG_HP_NANO1=y
1540-
# CONFIG_HP_LITE1 is not set
1541-
# end of Pose Estimation
1542-
# end of ESP-FACE Configuration
1543-
15441509
#
15451510
# Camera configuration
15461511
#

0 commit comments

Comments
 (0)