Matthias,

I think I had a lot of similar issues. Did you try to use usb_reset() right
after ftdi_usb_open().  It fixed all problems for me.

Grzegorz Cieslewski

On Thu, Jun 18, 2009 at 3:47 AM, Matthias Nagl <[email protected]> wrote:

> Hello Thomas,
>
> thanks for the reply. I also tried to poll in a thread that is independent
> of
> other parts of my program but in this case the read-function seems not to
> return after several new bytes (the number is smaller than the buffer size)
> were received by the FT-chip. It returns the waiting bytes only after new
> data
> has been sent to the chip.
>
> Is the "correct" solution to reduce the size of the buffer passed to the
> read
> function in this way:
> unsigned char buffer;
> int ftdi_read_data(&ftdi, buffer, 1);
>
> or is there a more elegant/better way?
>
> Greetings
>
> Matthias
>
> Am Donnerstag 18 Juni 2009 09:27:23 schrieb Thomas Jarosch:
> > Hello Matthias,
> >
> > On Wednesday, 17. June 2009 22:33:37 Matthias Nagl wrote:
> > > I'm using libftdi to communicate with an AVR (via FT232R). To receive
> > > bytes sent from the µC I am currently polling the FT with repeated
> calls
> > > of ftdi_read_data() in a loop. However this method often doesn't notice
> > > new bytes available before I send something downstream. Another problem
> > > is that it blocks the calling thread which is also responsible for
> > > sending commands (a nonblocking read function would be better in my
> > > case).
> > >
> > > Is there a method to poll for the number of available bytes like
> > > FT_GetStatus in the official D2XX-Driver? Or is there even an event
> > > driven method (I think the ideal solution would be a callback-function,
> > > that is automatically called after a newline has been received). As I
> > > don't see any suitable methods I assume that this feature is not
> > > available in libftdi (yet?). So my question is if it is possible /
> makes
> > > sense considering the abilities of the FT hardware.
> >
> > AFAIK the D2XX-Driver uses threads to constantly poll the device
> > for data in the background. So it's very easy to check for
> > available bytes in the internal buffer.
> >
> > Maybe the new libusb 1.x API could be of help,
> > though I haven't checked that yet.
> >
> > Cheers,
> > Thomas
> >
> >
> > --
> > libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
> > To unsubscribe send a mail to
> [email protected]<libftdi%[email protected]>
>
>
> --
> libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
> To unsubscribe send a mail to 
> [email protected]<libftdi%[email protected]>
>
>


-- 
=====================================================
Grzegorz Cieslewski
Research Assistant
High-performance Computing & Simulation (HCS) Research Laboratory
University of Florida, Dept. of Electrical and Computer Engineering
330 Benton Hall, Gainesville, FL, 32611-6200
Phone: (352) 392-9041
Email: [email protected]
Web: www.hcs.ufl.edu
=====================================================


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]   

Reply via email to