libftdi Archives

Subject: Re: ftdi.read_data

From: d.rodomonti <d.rodomonti@xxxxxx>
To: <libftdi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 5 Jun 2015 15:12:01 +0200
Hi all,

I am not able to understand where is the problem with the python sw that I wrote, so I decide to convert it in C++ using directly the d2xx library provided by FTDI and I have no more the problem discussed. The two code are quite the same excepted for the following action performed before each read action:
 ftStatus = FT_GetQueueStatus(ftHandle[0], &dwRxSize);
 :
 :
 ftStatus = FT_Read(ftHandle[0], pcBufRead, dwRxSize, &dwBytesRead);

maybe something similar is already performed with ftdi.read_data command, but this is the only difference that I found.
Is it possible that I didn't install properly the library?
Have you some explanation to this strange behavior?

Thank you in advance for your support.


On 03.06.2015 13:08, d.rodomonti wrote:
Thank you Roger for yours tips.

The system is up and running, but the sw part is developed in visual basic (and I don't like it). My target is to write a light sw version in python following the vb code as template, but probably I missed some parts.

I let you know when I will understand the problem.

On 03.06.2015 12:51, Rogier Wolff wrote:
On Wed, Jun 03, 2015 at 12:45:38PM +0200, d.rodomonti wrote:
The data are provide to the 245 by a NIOS controller that implements
a sort of hand shake protocol.
Sort of? Does it, or does it not check for the "RXNE" (or whatever it
is called signal?

Even if in tests is mostly works, you must account on that hardware
side that the software migth decide to do something else for a while,
and then the buffer fills. The '245 handles that situation gracefully
and will let your hardware know when it is no longer possible to
accept data.

    Roger.

On 03.06.2015 12:40, Rogier Wolff wrote:
On Tue, Jun 02, 2015 at 11:50:06AM +0200, d.rodomonti wrote:

ret = ftdi.usb_open(ftdic, 0x0403, 0x6001)
ret = ftdi.usb_reset(ftdic)
ret = ftdi.usb_purge_buffers(ftdic)
ret = ftdi.set_baudrate(ftdic, 115200)
ret = ftdi.set_line_property(ftdic, ftdi.BITS_8 , ftdi.STOP_BIT_1,
ftdi.NONE)
ret = ftdi.setflowctrl(ftdic,ftdi.SIO_DISABLE_FLOW_CTRL)
How are you putting data into the '245?

You are setting a baud rate and "disable flow control" which do not
really make sense for a '245 chip.

    Roger.


--
--

Davide Rodomonti


LOEP (Linac and Operations/ Electric Power System)


Tel. +49-6159-71-1905

BR2 2.107


GSI Helmholtzzentrum für Schwerionenforschung GmbH

Planckstraße 1
64291 Darmstadt
www.gsi.de


Gesellschaft mit beschränkter Haftung
Sitz der Gesellschaft: Darmstadt
Handelsregister: Amtsgericht Darmstadt, HRB 1528

Geschäftsführung:
Ursula Weyrich
Professor Dr. Karlheinz Langanke

Vorsitzender des Aufsichtsrates: St Dr. Georg Schütte
Stellvertreter: Ministerialdirigent Dr. Rolf Bernhardt



--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to
libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx



--
--

Davide Rodomonti

LOEP (Linac and Operations/ Electric Power System)

Tel. +49-6159-71-1905

BR2 2.107

GSI Helmholtzzentrum für Schwerionenforschung GmbH

Planckstraße 1
64291 Darmstadt
www.gsi.de


Gesellschaft mit beschränkter Haftung
Sitz der Gesellschaft: Darmstadt
Handelsregister: Amtsgericht Darmstadt, HRB 1528

Geschäftsführung:
Ursula Weyrich
Professor Dr. Karlheinz Langanke

Vorsitzender des Aufsichtsrates: St Dr. Georg Schütte
Stellvertreter: Ministerialdirigent Dr. Rolf Bernhardt


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
Current Thread