I'm trying to understand the data-toggle mechanism but I find the spec a little bit confusing. Could someone please explain me the details?
What I (believe to) know at the moment is: 1: If the toggle-bit in a transfer-descriptor is set, then the data1-pid is used, if it isn't set then data0-pid is used. 2: For isochronous transfers there is no alternating, data0-pid is always used. 3: For control transfer the setup-stage begins with a data0-pid and the data-stage with a data1-pid. 4: I must maintain the toggle bit for each established pipe (beside for the iso).
What I don't understand is: 1: What is the default value to start with for interrupt and for bulk? 2: After having started to alter the toggle-bit for interrupt and bulk the bit is just altered all the time or does each new communication start with the default value again? 3: During a control transfer, after the setup-stage and the data-stage there comes the status-stage, what's the correct toggle-bit to start with? Must I just alter the toggle-bit as if the status-stage would be part of the data-stage or do I have to start by zero again (getStatus-request) and the continue the transfer of the status-data with a data1-pid? 4: How do I do a save toggle recovery if something during the transfer went wrong and host and function toggle are out of sync?
Thanks.
CU Alex
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel