[prev in list] [next in list] [prev in thread] [next in thread]
List: libftdi
Subject: Re: [Patch][RFC]read with timeout
From: Thomas Heller <theller () ctypes ! org>
Date: 2012-05-29 14:37:52
Message-ID: 4FC4DF40.7060802 () ctypes ! org
[Download RAW message or body]
Am 29.05.2012 15:46, schrieb Thomas Jarosch:
> Hi Thomas,
>
> On Monday, 21. May 2012 20:27:01 Thomas Heller wrote:
>> The behaviour of the ftdi_read_data function is not so well defined
>> (IMO, no offense intended). It loops calling usb_bulk_read(), collects
>> all the data, until the requested number of bytes have been transfered;
>> but it also returns when the usb_bulk_read() call didn't return any
>> data.
>>
>> For my application, I would prefer the behaviour of the original FTDI
>> d2xx dll: the read() call returns when either the requested number of
>> bytes have been transferred or when the read-timeout has expired.
>>
>> Here is a patch which implements a ftdi_read_data_timeout() function
>> that also has this behaviour. The patch only works on Windows since
>> it GetTickCount() api call.
>>
>> Is it worth to consider this extension for the official repository?
>
> Well, if we ever want something like this, it should be cross platform :)
Would ftime(3) be cross platform enough? Or should we use
gettimeofday(2) on non-windows?
> ftdi_read_data() was implemented to act like the posix read() function.
Ok. I would prefer supplying the timeout value in the actual
read_timeout() call (however it is named), but the alternative of
course would be to have the timeout value set as a state in the
ftdi_context structure.
> Your new code still needs to wait for the libusb_bulk_transfer to time out.
> What value did you configure for the "usb_read_timeout"?
I used the default of 5 seconds. But, IIRC, I have never seen this
long timeout happening.
Thanks,
Thomas
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@developer.intra2net.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic