Replies: 2 comments
-
I have now added an artificial delay to the MAX3421 interrupt using an internal HW timer. |
Beta Was this translation helpful? Give feedback.
-
I agree that current implementation retry too often too fast, maybe we should only limit 1 NAK per endpoint per usb frame (1ms). PR is welcome. |
Beta Was this translation helpful? Give feedback.
-
I examined the CPU and USB usage on my host with STM32F401 (ARM M4 CPU 84 MHz) and MAX3421 (SPI 21 MHz).
With a CDC ACM device I saw that the CPU, SPI and USB are mostly busy handling the input stream endpoint.
The endpoint responds with NAK because there is no new data, and
handle_xfer_done()
inhcd_max3421.c
causes the same stream to be repeated immediately (no other stream is pending).This behavior largely utilizes the CPU with NAK-triggered interrupts.
Wouldn't a delay before a repetition make sense?
Beta Was this translation helpful? Give feedback.
All reactions