I have a question regarding your test application winusb_cs which I use to test my device.
I have modified "InitializeDevice" to send to OUT pipe for bulk transfer also ZERO PACKET by setting property SHORT_PACKET_TERMINATE.
SetPipePolicy
(winUsbHandle,
myDeviceInfo.BulkOutPipe,
Convert.ToUInt32(NativeMethods.POLICY_TYPE.SHORT_PACKET_TERMINATE),
Convert.ToByte(true));
But I never see this packet comming out on USB monitor. My USB device has 64 byte IN/OUT packets lenght.
So according to USB specification when I send 64bytes these should be automatically terminated.
Which packets are terminated? Why this property is not working correctly in WINUSB.
How to send ZLP? Do I have to do it or stack will take care of it?
How device know that transfer is terminated? Should I use ZLP?
Why
RequestToSendDataViaBulkTransfer(bytesToWrite, databuffer, ref bytesWritten, ref success);
sucess is never true? even if transfer is correct.
Sorry I am not expert, maybe you will illuminate me. Thank you very much.