Re: OvlK_Wait() fails for iso EP poll rate >1ms

Børge Strand-Bergesen <[email protected]>
Newsgroups gmane.comp.lib.libusb.devel.windows
Message-ID <CAE9Na6HHiT364RVeV-MK8w3Sqcbg6b-MguYNHNc7AQxAJ9QH8A@mail.gmail.com>
Thanks Travis.

Then I'll bury this issue. Pity, really. That poor scheduler doesn't
need to do all this work.

It works, but I need to tell users they must use a powerfull computer
to pull it off.


Have a good weekend!

Best,
Børge


On Fri, Aug 22, 2014 at 4:45 PM, Travis <[email protected]> wrote:
> Greetings,
>
> This is a windows limitation.  For high speed ISO, bInterval can be only
> 1,2,3, or 4.
>   http://msdn.microsoft.com/en-us/library/windows/hardware/hh406225%28v=vs.85%29.aspx
>
> Back in early beta I standardize on "INT, UINT, PINT, PUINT" for 32bit
> types.  Understand that long's are also 32 bit types in C/C++.
> Microsoft has a habit of making a mess with all of these.
>
> Regards,
> Travis
>
> On 8/22/2014 6:47 AM, Børge Strand-Bergesen wrote:
>> Hi guys,
>>
>> I'm working on a USB ASIO driver based on libusbK. It uses an
>> isochronous IN endpont for a feedback from the Device. Descriptor dump
>> is attached.
>>
>> The ASIO driver fails when the IN endpoint's poll rate becomes >1ms.
>> (See w5.txt line 220.) Rapid polling isn't needed in the application,
>> and I'd like to make it slower.
>>
>> Values of 4 and below work as expected in libusbK and mimic what I see
>> in Linux. 4 gives 1ms polling rate, 3->1/2ms, 2->1/4ms etc. But on
>> Linux I also have 5->2ms, 6->4ms, 7->8ms, 8->16ms. (Testing on OS X
>> roughly tracks what I see on Linux, but with fewer transitions. There
>> may be bugs in the descriptors which cause libusbK and OS X to
>> misunderstand them in different ways, where Linux seems to be OK.)
>>
>> What seems to happen is a failure in OvlK_Wait(). When called,
>> GetLastErrorInternal(); returns 00000057h.
>>
>> The calling code is line 138 of:
>> https://github.com/nikkov/Win-Widget/blob/experimental/uaclib/UsbDevice.h
>>
>> I use the latest libusbK 3.0.7.0 which I downloaded, linked to and
>> installed today. The built .dll is a 32-bit application. My system is
>> Win7-64.
>>
>> One thing I notice is that OvlK_Wait() parameter TransferredLength is
>> now PUINT. In the ASIO driver code it was PULONG for a while, but I
>> believe I have fixed that in all of the code now.
>>
>> I hope you can help me out with this issue. I hope device performance
>> will be better on weaker computers with slower polling.
>>
>> Let me know if you need more details about my system.
>>
>>
>> Thanks,
>> Børge
>>
>>
>> ------------------------------------------------------------------------------
>> Slashdot TV.
>> Video for Nerds.  Stuff that matters.
>> http://tv.slashdot.org/
>>
>>
>> _______________________________________________
>> Libusb-win32-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds.  Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> Libusb-win32-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Libusb-win32-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.