On Mon, 14 Feb 2005, Juan Pablo Pertierra wrote:
>
> Hello,
>
> So, right now my full speed device transfers information from
> isochronous IN endpoints just fine, but I noticed that the maximum
> frame count for ReadIsochPipeAsync() is 1000. How exactly should I
> organize my function calls in order for the transfer to be continous,
> without skipping any frames and wasting bandwidth for reads that last
> more than 1000 frames?
>
> It seems that the trick would be to calculate when the current
> ReadIsochPipeAsync call will be done(i.e. add 1000 to the start frame
> if 1000 frames are requested read), and then schedule the next call
> based on that somewhere in the middle of a read. Am i missing
> something here?
No, what you describe is exactly correct. You don't have the schedule the
call in the middle of a read either - you can always have say 4 read calls
outstanding, and when one finishes, you just restart it at the next
calculated start frame.
> Also, in high speed mode, how does one account for more than one
> transaction in a single microframe? Should the framelist simply
> contain a frReqCount that is >1023?
Hmmm, not sure about the terminology there, but I believe the framelist in
high speed mode describes microframes, or whatever you call the thing that
there are 8 of in the old 1ms frame. So each one is no more than 1024
bytes. Not quite sure how that affects the 'start frame' numbering 'tho.
> Thanks,
> Juan
Disclaimer: Please take this reply with a pinch of salt, I'm not 100%
sure of these answers. About 95% for the first and 75% for the second...
so worth an email anyway :)
{P^/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden
This email sent to email@hidden