FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Author Topic: Difference betweenen synchronus and asynchronus ReadPipe functions.  (Read 13975 times)

atom1477

  • Newbie
  • *
  • Posts: 8
    • View Profile

As I understand, synchronus WritePipe is blocking function.
Instead, asynchronus WritePipeAsync is non-blocking functions which begin a transfer and then return immediately (and also setting FT_IO_PENDING / FT_IO_INCOMPLETE status).
So there must be such a buffer inside the D3xx DLL. FIFO buffer I guess.

But what about ReadPipe functions?
I expected it would be buffer (FIFO) in receive part of D3xx DLL.
So when I call ReadPipe function, I expect to read all previous received data. Regardless of whether I use ReadPipe or ReadPipeAsync function.
But I have some issues with it.
When I use ReadPipe, I lost some data. As I see, ReadPipe reads only new packets. It waits for new packet. All packet between this and previous function call, will be lost.
Maybe I should use ReadPipeAsyns function? Is this non-blocking function? And returns all previous received packets?
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 896
    • View Profile
Re: Difference betweenen synchronus and asynchronus ReadPipe functions.
« Reply #1 on: December 10, 2018, 02:48:30 PM »

Hello,

Please may I ask you to have a look at AN_379 - D3XX Programmers Guide, which is available here:

https://www.ftdichip.com/Support/Documents/ProgramGuides/AN_379%20D3xx%20Programmers%20Guide.pdf

This should provide some further information on the functions and help with your question.

If you are still having problems please may I ask you to contact email support with a screenshot of your

Regards,
FTDI Community
Logged

atom1477

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Difference betweenen synchronus and asynchronus ReadPipe functions.
« Reply #2 on: December 10, 2018, 06:18:36 PM »

Of course I read Programmers Guide.
But this version (seems to be better):
https://www.ftdichip.com/Support/Documents/AppNotes/AN_407%20D3xx%20.NET%20Programmers%20Guide.pdf
Unfortunately, it does not answer my questions. It does not tell if there are FIFO buffers inside DLL, or whether PipeReadAsync is non-blocking, and able to read past data (buffered data from previous packets).
« Last Edit: December 10, 2018, 06:21:09 PM by atom1477 »
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 896
    • View Profile
Re: Difference betweenen synchronus and asynchronus ReadPipe functions.
« Reply #3 on: December 11, 2018, 09:23:52 AM »

Hi,

Thanks for getting back. It looks like my previous message was cut short.

What I meant to say was please contact private support with a screenshot of your FT60X chip Configurator Programmer. You can contact private support on suport1@ftdichip.com.

Regards,
FTDI Community.
Logged

atom1477

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Difference betweenen synchronus and asynchronus ReadPipe functions.
« Reply #4 on: December 11, 2018, 01:05:44 PM »

I asking here because of this:
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 896
    • View Profile
Re: Difference betweenen synchronus and asynchronus ReadPipe functions.
« Reply #5 on: December 11, 2018, 04:36:25 PM »

Hello,

Apologies the email address is support1@ftdichip.com.

Thanks,
FTDI Community
Logged