Hi
I have a problem with WinUSB - managed to install WinUSB and access it from a simple executable (WinUsb_HowTo.docx from MS used as starting point).
As device I used OSRFX2 devboard.
But the speed is only ~512 byte/msec which is around 4MBit using the bulk endpoints.
Which is too slow - even if i canot put more packages in every microframe it should be at least 8 packages of 512 bytes/msec not only one. For now I used the blocking mode (no overlapped) - now I want to try the overlapped version.
The sending is quite simple - sending one after another 100,200, 1000 x 512 byte packets with Winusb_WritePipe. It works, I can read out what I send down to the device. The board displays highspeed, winusb report back highspeed, cable is highspeed.
What I don’t know is:
- does this limitation coming from OSRFX2 quad buffer solution
- from their firmware
- do I need to change some parameter with WinUsb_ControlTransfer
Winusb should not be a problem - many people from here stated that WinUSB can support high speed so it should be something else.
What I noticed is that if I don’t read in data, the out buffer fulls up too (that is stated on the board’s manual as well so it’s fine) - for read I used a thread with no sleeps or whatever else, just Winusb_readpipe-s one after another.
Does anybody have experience with this board?
It would be important for me to know that this limitations are coming from my code or from the board itself … Tried on 3 PC’s, one Vista, two XP’s - the result is close in every case. Sending 100x512 or 50x1024 does not make a difference so sending bigger amount does not change much.
The 4Mbit say something for anybody? It’s not lowspeed, is not fullspeed - it’s somewhere in the middle, the timeframe looks like an interrupt mode which works with 1 pkt/msec like the HID one. But this is bulk
thanks,
-Barna Csenteri