@@ -318,5 +318,41 @@ menu "TinyUSB Stack"
318318 range 0 2
319319 help
320320 Setting value greater than 0 will enable TinyUSB Vendor specific feature.
321+
322+ config TINYUSB_VENDOR_RX_BUFSIZE
323+ depends on (TINYUSB_VENDOR_COUNT > 0)
324+ int "Vendor specific FIFO size of RX channel"
325+ default 512 if IDF_TARGET_ESP32P4
326+ default 64
327+ range 0 32768
328+ help
329+ This buffer size defines maximum data length in bytes that you can receive at once.
330+
331+ Note: Unlike other USB classes, the vendor class supports setting buffer sizes to 0
332+ to disable internal buffering. When disabled, RX data goes directly to tud_vendor_rx_cb(),
333+ the tud_vendor_read() function is not available and application must handle data in the callback.
334+
335+ config TINYUSB_VENDOR_TX_BUFSIZE
336+ depends on (TINYUSB_VENDOR_COUNT > 0)
337+ int "Vendor specific FIFO size of TX channel"
338+ default 512 if IDF_TARGET_ESP32P4
339+ default 64
340+ range 0 32768
341+ help
342+ This buffer size defines maximum data length in bytes that you can transmit at once.
343+
344+ Note: Unlike other USB classes, the vendor class supports setting buffer sizes to 0
345+ to disable internal buffering. When disabled, tud_vendor_write() bypasses internal software FIFO.
346+
347+ config TINYUSB_VENDOR_EPSIZE
348+ depends on (TINYUSB_VENDOR_COUNT > 0)
349+ int "Vendor specific Endpoint buffer size"
350+ default 512 if IDF_TARGET_ESP32P4
351+ default 64
352+ range 64 32768
353+ help
354+ This low layer buffer has the most significant impact on performance. Set to 8192 for best performance.
355+ Sizes above 8192 bytes bring only little performance improvement.
356+
321357 endmenu # "Vendor Specific Interface"
322358endmenu # "TinyUSB Stack"
0 commit comments