GPS Question (Venus GPS module)

Hi all,

I have the following GPS mmodule:

http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=518

Connected to an Arduino Mega with the following code:

 #include <string.h>
 #include <ctype.h>
 #include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

char CharIn;    //character string length 55 chars

void setup() {
  Serial.begin(9600);  // Start serial to host computer
  Serial1.begin(9600);   // Start serial to GPS
}

void loop() {
  Serial1.print("A0 A1 00 09 08 00 00 00 00 00 01 00 00 08 0D 0A");
 
  while ( Serial1.available() > 0 )       // if data is available to read
  {
    CharIn = Serial1.read();
    Serial.print(CharIn);
    delay(300);
    lcd.print(CharIn);
  }
}

I have 2 questions, Firstly...

Is it possible to write to the GPS module such that the serial output is in my desired format rather than having to specify Serial1.print("A0 A1 00 09 08 00 00 00 00 00 01 00 00 08 0D 0A"); ?

Secondly,

All I want to display on the LCD is " 010.2,K Ground speed, Kilometers per hour" from the $GPVTG.

Is it possible to specify somewhere (either in the Arduino code or on the GPS module) that is should only output $GPVTG ?

Using the configuration manual:

I have tried to disable all except the VTG (<0xA0,0xA1>< PL><08>< message body><0x0D,0x0A>) via Serial1.print...

However the output is as follows:

$GPGGA,175514.999,2400.0000,N,12100.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*63
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPGSV,1,1,01,0$GP
$G0$G0$GP,$G*$G0$GP0$GP$GM$GP0$G5$G*$GPN$G9$GP$GPK$G.$G,$GP$GP1$G,$G,$GP0$G.$G9$GP0$G0$G0$GP0$G$G0$GP1$G1$G0$GP*$G5$G,$GPV$G0$G,$GP.$G
$G0$GP0$G1$G0$GP,$G9$G
$GP,$G4$G,$GP2$G0$G,$GG$GP.$G,$G1$GP,$G0$G2$GP0$G
$G0$GP2$G,$G0$GP,$G1$G,$GPG$G0$G0$GP0$G4$GM$GP,$GM$G,$GP0$G6$G1$GP0$G9$GS$GP*$G0$G,$GP$GP2$G,$G5$GP0$G,$G9$GP0$G*$G0$GP0$GG$G2$GP,$G,$G0$GP
$G0$G0$GPP$G3$G.$GP,$GP$G0$GP0$G5$G0$GP0$G9$GP$GP,$G.$G1$GP$GP,$G,$G,$GP0$G.$G.$GP0$G0$G,$GP0$G$GN$GP3$G,$G0$GP*$G5$G0$GPV$G0$G0$GP.$G
$G0$GP0$G,$G0$GPN$G.$G
$GP,$G4$GG$GP2$G0$G,$GG$GP.$G,$G5$GP,$G0$G2$GP,$G0$G0$GP0$GV$G0$GP0$G,$GE$GP3$G0$G0$GP*$G,$G,$GPP$G0$GM$GP.$G
$G6$GP,$GC$GG$GPN$G.$G,$GP.$G2$G,$G72$G0$G,$G9$GP0$G*$G0$GP,$GP$G1$GP1$G1$G0$GP
$G0$G0$GPG$G2$G0$GP,$GG$G0$GP0$G7$G0$GP0$G9$GG$GPK$G0$G,$GP*$G,$G,$G,$GP0$G0$G.$GP0$G0$G0$GP0$G
$GN$GP3$G,$G.$GPN$G0$G,$GPG$G0$G0$GP.$G
$G0$GP,$GC$G0$GPN$G2$G
$GP.$G2$GA$GP3$G0$G,$GG$GP0$G,$G9$GP,$G0$G2$GP0$G0$G0$GP0$G$G0$GP,$G1$G,$GP
$G,$G,$GP0$G*$G,$GPT$GR$GM$GP.$G0$G6$GP0$GV$GG$GPN$G0$G,$GP$GP0$G,$G8$GP0$G0$G9$GP0$G0$G.$GP.$GP$G1$GP1$G1$G0$GP0$G0$G0$GPV$G,$G0$GP,$G$G0$GP,$G8$G0$GP,$G9$GG$GP,$G0$G,$GP
$G,$G,$GA$GP.$G0$G4$GP0$G,$G4$GP0$G
$G,$GP0$GV$G2$GPN$G,$G,$GPP$G0$G.$GP0$G
$G,$GPM$GC$G0$GP,$G.$G
$GP0$G2$GA$GP*$G0$G,$GP$GP0$G,$G0$GP,$G0$G,$GP.$G3$G0$GP0$GS$G1$GP,$G0$G,$GP$G0$G,$GP0$G1$G0$GPT$GP$GM$GP0$GC$G*$GP0$GV$GG$GP,$G0$

Is the first line always transmitted? ($GPGGA,175514.999,2400.0000,N,12100.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*63)

Is the output correct? (I have no way to move the module to see if the velocity >0), if so will I just have to add some code to remove the extra characters?

Many thanks!

Looks ok to me... but I don't know what you asked it to do and did not look...

You don't have to go for a walk... unless you have a very stable signal you will get some "apparent movement" and hence a velocity.

Just wait for a while I suspect that you will have about a 10 meter radius of positions within an hour.

The DOP will tell you after a while .... (Dilution of Position).

We use GPS trackers in our business.... so I see these files a bit.