VDrive2 is corrupting the input file

wez

New Member
Hello,

I´m trying to log data to my VDrive2 and have an annoying problem.
When I try to log longer strings of text, the VDrive decides to randomly
corrupt the data in the file. 16 characters per line works OK, but with
30 it sometimes looses data and it even displays data from other files
on the drive!?!

This is what it looks like:


011ABCDEFGHIJKL aaaaaabbbbab
012ABCDEFGHIJKL aaaaaabbbbab
013ABCDEFGHIJKL aaaaaabbbbab
014ABCDEFGHIJKL aaaaaabbbbab
015ABCDEFGHIJKL aaaaaabbbbab
016ABCDEFGHIJKL aaaaaabbbbab
01.02
8.00008,02211,05:58:30,1018ABCDEFGHIJKL aaaaaabbbbab
019ABCDEFGHIJKL aaaaaabbbbab
020ABCDEFGHIJKL aaaaaabbbbab

I am only writing the "011ABCDEFGHIJKL aaaaaabbbbab" text, the other values in the middle is from another textfile on the memorystick.

This is the code line:

hserout 0,("wrf ",$00,$00,$00,$1E,CR,b10,b11,b12,"ABCDEFGHIJKL aaaaaabbbbab",$0A,CR)

Does anyone have any ideas why it behaves this way?

Andreas
 

100317

New Member
Andreas!

I think you need an extra CR on the end of the string.

hserout 0,("wrf ",$00,$00,$00,$1E,CR,b10,b11,b12,"ABCDEFGHIJKL aaaaaabbbbab",$0A,CR)

hserout 0,("wrf ",$00,$00,$00,$1E,CR,b10,b11,b12,"ABCDEFGHIJKL aaaaaabbbbab",$0A,CR,CR)

Then it should work.

Regards,
Hans
 

100317

New Member
Andreas!

I think you need an extra CR on the end of the string.

hserout 0,("wrf ",$00,$00,$00,$1E,CR,b10,b11,b12,"ABCDEFGHIJKL aaaaaabbbbab",$0A,CR)

hserout 0,("wrf ",$00,$00,$00,$1E,CR,b10,b11,b12,"ABCDEFGHIJKL aaaaaabbbbab",$0A,CR,CR)

Then it should work.

Regards,
Hans
 

lewisg

Senior Member
What baud rate are you using to communicate with the vdrive? Sometimes higher baud rates cause unreliable operation.

I think you should be consistent in the style of your control characters.

Currently you have:
$00 - null
$1E - cursor up
CR - carriage return (should be $0D for consistency)
$0A - line feed

Personally I prefer to use the decimal equivalents for these common control characters:
9 - TAB
10 - LF
13 - CR

While I don't have any experience with the vDrive2 my experiences with OpenLog have been very good. You don't have to specify what you are going to write, you just send it.

If you have a link to the syntax the vDrive uses it would be helpful. A quick Google only turns up some examples and the very colorful but less than useful data sheet.
 

wez

New Member
Hi again and thanks for the replies!

Tried the double CR and it worked with 16 characters, but not with 30.

But I just found out something very interesting... the corrupted lines occurs according to a pattern!

With the last tests the magic number seems to be 17...

The corrupted lines are: line number 17,34,51,85,102,119.
Of some reason line 68 is OK, but the errors only occurs every 17th line?!!?
My other test files have the same pattern but with different number of lines in between the errors.

This behavior rules out electric interference since that would be randomly spread...

Below is the whole data stream.

Andreas


000ABCDEFGHIJKL abc1234567890
001ABCDEFGHIJKL abc1234567890
002ABCDEFGHIJKL abc1234567890
003ABCDEFGHIJKL abc1234567890
004ABCDEFGHIJKL abc1234567890
005ABCDEFGHIJKL abc1234567890
006ABCDEFGHIJKL abc1234567890
007ABCDEFGHIJKL abc1234567890
008ABCDEFGHIJKL abc1234567890
009ABCDEFGHIJKL abc1234567890
010ABCDEFGHIJKL abc1234567890
011ABCDEFGHIJKL abc1234567890
012ABCDEFGHIJKL abc1234567890
013ABCDEFGHIJKL abc1234567890
014ABCDEFGHIJKL abc1234567890
015ABCDEFGHIJKL abc1234567890
016ABCDEFGHIJKL abc1234567890
01018ABCDEFGHIJKL abc1234567890
019ABCDEFGHIJKL abc1234567890
020ABCDEFGHIJKL abc1234567890
021ABCDEFGHIJKL abc1234567890
022ABCDEFGHIJKL abc1234567890
023ABCDEFGHIJKL abc1234567890
024ABCDEFGHIJKL abc1234567890
025ABCDEFGHIJKL abc1234567890
026ABCDEFGHIJKL abc1234567890
027ABCDEFGHIJKL abc1234567890
028ABCDEFGHIJKL abc1234567890
029ABCDEFGHIJKL abc1234567890
030ABCDEFGHIJKL abc1234567890
031ABCDEFGHIJKL abc1234567890
032ABCDEFGHIJKL abc1234567890
033ABCDEFGHIJKL abc1234567890
034A035ABCDEFGHIJKL abc1234567890
036ABCDEFGHIJKL abc1234567890
037ABCDEFGHIJKL abc1234567890
038ABCDEFGHIJKL abc1234567890
039ABCDEFGHIJKL abc1234567890
040ABCDEFGHIJKL abc1234567890
041ABCDEFGHIJKL abc1234567890
042ABCDEFGHIJKL abc1234567890
043ABCDEFGHIJKL abc1234567890
044ABCDEFGHIJKL abc1234567890
045ABCDEFGHIJKL abc1234567890
046ABCDEFGHIJKL abc1234567890
047ABCDEFGHIJKL abc1234567890
048ABCDEFGHIJKL abc1234567890
049ABCDEFGHIJKL abc1234567890
050ABCDEFGHIJKL abc1234567890
051ABC052ABCDEFGHIJKL abc1234567890
053ABCDEFGHIJKL abc1234567890
054ABCDEFGHIJKL abc1234567890
055ABCDEFGHIJKL abc1234567890
056ABCDEFGHIJKL abc1234567890
057ABCDEFGHIJKL abc1234567890
058ABCDEFGHIJKL abc1234567890
059ABCDEFGHIJKL abc1234567890
060ABCDEFGHIJKL abc1234567890
061ABCDEFGHIJKL abc1234567890
062ABCDEFGHIJKL abc1234567890
063ABCDEFGHIJKL abc1234567890
064ABCDEFGHIJKL abc1234567890
065ABCDEFGHIJKL abc1234567890
066ABCDEFGHIJKL abc1234567890
067ABCDEFGHIJKL abc1234567890
068ABCDEFGHIJKL abc1234567890
069ABCDEFGHIJKL abc1234567890
070ABCDEFGHIJKL abc1234567890
071ABCDEFGHIJKL abc1234567890
072ABCDEFGHIJKL abc1234567890
073ABCDEFGHIJKL abc1234567890
074ABCDEFGHIJKL abc1234567890
075ABCDEFGHIJKL abc1234567890
076ABCDEFGHIJKL abc1234567890
077ABCDEFGHIJKL abc1234567890
078ABCDEFGHIJKL abc1234567890
079ABCDEFGHIJKL abc1234567890
080ABCDEFGHIJKL abc1234567890
081ABCDEFGHIJKL abc1234567890
082ABCDEFGHIJKL abc1234567890
083ABCDEFGHIJKL abc1234567890
084ABCDEFGHIJKL abc1234567890
085ABCDEFGBCDEFGHIJKL abc12345086ABCDEFGHIJKL abc1234567890
087ABCDEFGHIJKL abc1234567890
088ABCDEFGHIJKL abc1234567890
089ABCDEFGHIJKL abc1234567890
090ABCDEFGHIJKL abc1234567890
091ABCDEFGHIJKL abc1234567890
092ABCDEFGHIJKL abc1234567890
093ABCDEFGHIJKL abc1234567890
094ABCDEFGHIJKL abc1234567890
095ABCDEFGHIJKL abc1234567890
096ABCDEFGHIJKL abc1234567890
097ABCDEFGHIJKL abc1234567890
098ABCDEFGHIJKL abc1234567890
099ABCDEFGHIJKL abc1234567890
100ABCDEFGHIJKL abc1234567890
101ABCDEFGHIJKL abc1234567890
102ABCDEFGHIDEFGHIJKL abc12345103ABCDEFGHIJKL abc1234567890
104ABCDEFGHIJKL abc1234567890
105ABCDEFGHIJKL abc1234567890
106ABCDEFGHIJKL abc1234567890
107ABCDEFGHIJKL abc1234567890
108ABCDEFGHIJKL abc1234567890
109ABCDEFGHIJKL abc1234567890
110ABCDEFGHIJKL abc1234567890
111ABCDEFGHIJKL abc1234567890
112ABCDEFGHIJKL abc1234567890
113ABCDEFGHIJKL abc1234567890
114ABCDEFGHIJKL abc1234567890
115ABCDEFGHIJKL abc1234567890
116ABCDEFGHIJKL abc1234567890
117ABCDEFGHIJKL abc1234567890
118ABCDEFGHIJKL abc1234567890
119ABCDEFGHIJK120ABCDEFGHIJKL abc1234567890
121ABCDEFGHIJKL abc1234567890
122ABCDEFGHIJKL abc1234567890
123ABCDEFGHIJKL abc1234567890
124ABCDEFGHIJKL abc1234567890
125ABCDEFGHIJKL abc1234567890
126ABCDEFGHIJKL abc1234567890
127ABCDEFGHIJKL abc1234567890
128ABCDEFGHIJKL abc1234567890
129ABCDEFGHIJKL abc1234567890
130ABCDEFGHIJKL abc1234567890
 

jtcurneal

Senior Member
I am not familiar with vdrives but,

Maybe your vdrive buffers 16 characters and then writes that data which takes a bit of time.

Maybe a short pause every 16 characters would help.

Joel
 

wez

New Member
FINALLY!!!

The problem seems to have been with an ancient firmware... I upgraded it to the latest firmware and now it seems to be working.
Tonight I will put my energy logger up and running and see how it looks with a couple of thousands of logs :)

Thank you all for your input!
Andreas
 

Technical

Technical Support
Staff member
30 x 17 is 510, so it is probably rolling over a memory page at 512. Seems to be an old firmware bug...

So stick with 16, or possibly use 32 instead, hence avoiding the page memory rollover point (ie use multiples that avoid the page rollover 8, 16, 32 etc.)

As previously pointed out, you need to send a CR after your 30 (or 16 or 32) bytes
 

wez

New Member
That seems likely to be the problem.
Last night I logged over 4000 lines with 30 characters per line there was not any problems.

Thanks again!
 
Top