Vinculum VDRIVE2

Hello,
I have issues in order to setup the vdrive2 to my arduino.
Ths is what I have done:

-Pin1 (black) to minus
-Pin2 connected to Pin6
-Pin3 (red) to 5V
-Pin4(RX) to Arduino Pin1 (TX)
-Pin5 (TX) to Arduino Pin0 (RX)
-Set the jumper connecting UART to GND

Connecting the system to USB gives a red/green/red/green flicker of the vdrive. I plugged in my 1GB memory stick (formatted with FAT -not FAT32- under Windows XP).

I uploaded the following script (from playground) expecting VDRive something to do with the memory stick- but nothing happens...

int incomingByte=0;
int fileNumber=1;
int noOfChars;
long int valToWrite;
char activityToLog;
long int x;
long int startLogTime = 0;

void setup() {
      Serial.begin(9600);                    // opens serial port, sets data rate to 9600 bps
        Serial.print("IPA");                  // sets the vdip to use ascii numbers 
                                              //(so I can read them in the code easily!)
        Serial.print(13, BYTE);               // return character to tell vdip its end of message
}

void loop() {              
      if (Serial.available() > 0) {        // read the incoming byte
            incomingByte = Serial.read();

if (incomingByte=='1'){                      // if it receives a 1
  Serial.print("OPW LOG%");                  // open to write creates a file - named
  Serial.print(fileNumber);                  // LOG%1.TXT first time round - .TXT is for the computer
  Serial.print(".TXT");                      // I have used the % sign in the name so I can 
                                             //search the disk for log files that it has created 
                                             //so as not to overwrite any that may be on already
  Serial.print(13, BYTE);                    // return character

}

if (incomingByte=='2'){                      // if it receives a 2
               Serial.print("CLF LOG%");     // it closes the file
               Serial.print(fileNumber);     // LOG%1.TXT
               Serial.print(".TXT");
               Serial.print(13, BYTE);       // return character

      }

if (incomingByte=='3'){                      // if it receives 3
               Serial.print("DIR");          // lists the directory on the memory stick
               Serial.print(13, BYTE);       // which will now include the file LOG%1.TXT
      }                                    


if (incomingByte=='5'){
               activityToLog='P';                  // I will be using different letters to label my time stamps
               valToWrite=millis() - startLogTime; // time since we started logging
               noOfChars=1;
               x=valToWrite;                       // need to copy valToWrite as getting no of characters will consume it
               while (x>= 10){                     // counts the characters in the number
                 noOfChars++;                      // thanks to D Mellis for this bit
                 x/=10;     
               }
               noOfChars +=2;                      //add 2 to the num as will also write the letter P and a return character

               Serial.print("WRF ");               //write to file (file needs to have been opened to write first)
               Serial.print(noOfChars);            //needs to then be told how many characters will be written
               Serial.print(13, BYTE);             //return to say command is finished
               Serial.print(activityToLog);        //followed by the info to write
               Serial.print(valToWrite);
               Serial.print(13, BYTE);             //write a return to the contents of the file (so each entry appears on a new line)
      }

if (incomingByte=='6'){                          
  fileNumber++;                                    //so we can create other files
}

if (incomingByte=='7'){ 
  if (fileNumber>0){                               //and look at previous ones
    fileNumber--;
  }
}

if (incomingByte=='8'){                        
               Serial.print("RD LOG%");            //reads the contents of named file
               Serial.print(fileNumber);           
               Serial.print(".TXT");
               Serial.print(13, BYTE);
      }}


if (incomingByte=='9'){   
  startLogTime=millis();                          // reset timing
}

}

I searched the Internet for something to give me a hint, but failed. :-[ Can someone help me?

I just tied another code to get the data transfer LED to show activity..

int incomingByte=0;
int fileNumber=1;
int noOfChars;
long int valToWrite;
char activityToLog;
long int x;
long int startLogTime = 0;

void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.print("IPA"); // sets the vdip to use ascii numbers
//(so I can read them in the code easily!)
Serial.print(13, BYTE); // return character to tell vdip its end of message
}

void loop() {
Serial.print("OPW LOG"); // open to write creates a file - named
Serial.print(".TXT"); // I have used the % sign in the name so I can
//search the disk for log files that it has created
//so as not to overwrite any that may be on already
Serial.print(13, BYTE); // return character
activityToLog='P'; // I will be using different letters to label my time stamps
valToWrite=millis() - startLogTime; // time since we started logging
noOfChars=1;
x=valToWrite; // need to copy valToWrite as getting no of characters will consume it
while (x>= 10){ // counts the characters in the number
noOfChars++; // thanks to D Mellis for this bit
x/=10;
}
noOfChars +=2; //add 2 to the num as will also write the letter P and a return character

Serial.print("WRF "); //write to file (file needs to have been opened to write first)
Serial.print(noOfChars); //needs to then be told how many characters will be written
Serial.print(13, BYTE); //return to say command is finished
Serial.print(activityToLog); //followed by the info to write
Serial.print(valToWrite);
Serial.print(13, BYTE); //write a return to the contents of the file (so each entry appears on a new line)
}

Honestly speaking- my TX LED on my arduino went crazyand I saw something happening on my serial monitor...but the vdrive still sleeps... :-/

I have worked with the VMUSIC2, a similar device with the addition of a MP3 player from the same people. Tie CTS Pin 6 to GND pin 1 and let pin 2 float. Also every unit I have ever gotten has a very early or low functioning firmware burned in and I must put the proper .FTD file in the USB stick root so that it will update the firmware to something that will recognize the commands I use. The .FTD file and utilities to modify it are on the Vinculum website.

Sorry I can't help you more as I never had a VDRIVE2 but I think if you investigate along the lines I suggest you might find some joy.

EE: What happened to the LED when pluggin in the Memory Stick?

My LED in the front panel basically shows nothing besided a red/green/red/green flash when putting 5V/ Ground to it..

the led flashes red and green for a few seconds when it first sees a new ftb file. After that it just flashes green a few times when it is powered up.

it also spits out >D:\ or maybe a short message if the USB stick is not installed even without talking to it.

Hi,
I am still druggeling with the VDRIVE2. I cannot get ANY reaction from that &%§**?) piece of hardware >:(

Can someone lead me to a simple piece os sample code simply writing a useless number onto the stick? This would help as a starting point.

I appreciate any help!