You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using the examples/usb/isochronous_count.py but substituting the memory-like USBIsochronousInEndpoint endpoint for a stream-like USBIsochronousStreamInEndpoint.
This is USB2 high speed, with 3 packets per microframe. frame_finished simply never goes off.
Without frame_finished, isochronous endpoints can't be made to synchronise with the USB frame if their transactions are greater than 1k byte.
data_requested is behaving itself, at least the docs say it strobes at the top of a packet.
Digging a bit deeper, I can see the bytes_left_in_packet counter is behaving itself, but bytes_left_in_frame is being reset to its user-specified value at the top of every packet instead of every frame
bytes_left_in_frame is reset during interface.tokenizer.new_frame signal, suggesting the tokenizer is going off on every packet instead of every frame or even microframe.