VDIP not robust?

Hi,
I use a Mega to drive a VDIP. I am collecting some data with the arduino and ut the into a buffer valls Pstring. Pstring counts the bytes to be send as well. The calculation works pretty well- I counted the bytes by hand…

So I send the message (around 360 bytes) every 2,5 seconds to the VDIP which works pretty fine.

But sometimes- and I do not know when and why- the VDIP ignores some data sent but writes CLF… and OPW… to the stick until the number of bytes received as announced . I checked the CTS and no buffer overflow is shown. The failure occurs sometimes after 10 lines up to every 250 lines of recorded data.

It looks something like that:
data,data,data,data,data,data,data,data,data,data
data,data,data,data,data,data,data,data,data,data
data,data,data,data,data,data,da*(here it stops)*
CLF Filename.csv
data,data,data,data,data,data,data,data,data,data

May do I send too many data to get a robust recording? What is the limit?

P.S. Sorry not putting any code into the text , but this is a quite branched 1000 lines code…

I use a Mega to drive a VDIP.

Sorry but can you explain what a VDIP actually is?

You could be sending it too much data so it's buffer overflows and ignores what you sent it. Just a guess as I don't know what one is.

VDIP: Neat little device that "talks" in ASCII commands over serial link on one side, and "talks" to USB thumbrives (etc?) on the other side... dealing with all the nasty file system issues in between. So... to over simplify... you can say, with a stream of ASCII....

Open "MyFile" Write "123" Close "MyFile"

And then move the thumbdrive to a "big" computer, and find a file called MyFile, containing "123"

Thanks, it sounds like my initial guess was close to the mark then. :)

Yeah Mike, but the problem is that he's doing what the datasheet says to avoid buffer overflows - when you see CTS active, stop transmitting until it goes low.

I've had the same problem. The Vinculum (the IC that the VDIP and others are built around) doesn't seem to behave the way the datasheet says.

Upgrading the appropriate firmware to the latest version may help. It improved the behavior of the device back when I was playing with it, but didn't completely solve the problem.

I ended up putting a delay after every byte transferred to the VDIP. That delay was experimentally changed until no failures were observed. That got it working for the relatively low logging rate I needed for that project, but abysmally slow compared to what the device should be able to handle. After that project I shelved the VDIP and haven't touched it since. I keep hoping someone will figure out the trick to make it work, because it's a good idea (if it would work as advertised).

-j