thanks for getting back so quick
version 1
void loop()
{
while(mySerial.available()) // While there is data on the RX pin...
{
int c = mySerial.read(); // load the data into a variable...
Serial.print(c);
if(gps.encode(c)) // if there is a new valid sentence...
{
getgps(gps); // then grab the data.
}
}
}
gives me this
367180717165444915448504849464848484453495050151494815255447844484850485646495051514487444944485444501515044154484654447744525646154447715044484844444436464949574436718071716544495215250481464648484844534950501514948152544478444848504856461535051155448744494448534452151177441544846544477445256465215077444448484444525748545148367180717165444952152504815446484848445349505015149481525444784448485048564615250511534487444944485444504650445248465344774452564652150774415048484449444244445350805550505136445248534444465036718071716544495248504818246484848445349505015149481524944784448485048561514950153534487444944485444501515044154484653447744525646154447744444848444444484953485042
version 2
void loop()
{
while(mySerial.available()) // While there is data on the RX pin...
{
int c = mySerial.read(); // load the data into a variable...
if(gps.encode(c)) // if there is a new valid sentence...
{
Serial.print(c);
getgps(gps); // then grab the data.
}
}
}
gives me this
13Lat/Long: 51.36850, -2.13534
Date: 0/0/2000 Time: 14:3:54.0
No. of Sats: 7
Altitude (meters): 36.00
Course (degrees): 1000.00
Speed(mph): -1.00
http://maps.google.com/maps?q=51.36849975,+-2.13533997
im guessing that the 13 at the very start is the value of c, and that this is the ammound of sentences?
on a side note, when i tried this example found on the playground
/*
Example code for connecting a Parallax GPS module to the Arduino
Igor Gonz?lez Mart?n. 05-04-2007
igor.gonzalez.martin@gmail.com
English translation by djmatic 19-05-2007
Listen for the $GPRMC string and extract the GPS location data from this.
Display the result in the Arduino's serial monitor.
*/
#include <string.h>
#include <ctype.h>
int ledPin = 13; // LED test pin
int rxPin = 0; // RX PIN
int txPin = 1; // TX TX
int byteGPS=-1;
char linea[300] = "";
char comandoGPR[7] = "$GPRMC";
int cont=0;
int bien=0;
int conta=0;
int indices[13];
void setup() {
pinMode(ledPin, OUTPUT); // Initialize LED pin
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
Serial.begin(4800);
for (int i=0;i<300;i++){ // Initialize a buffer for received data
linea[i]=' ';
}
}
void loop() {
digitalWrite(ledPin, HIGH);
byteGPS=Serial.read(); // Read a byte of the serial port
if (byteGPS == -1) { // See if the port is empty yet
delay(100);
} else {
linea[conta]=byteGPS; // If there is serial port data, it is put in the buffer
conta++;
Serial.print(byteGPS, BYTE);
if (byteGPS==13){ // If the received byte is = to 13, end of transmission
digitalWrite(ledPin, LOW);
cont=0;
bien=0;
for (int i=1;i<7;i++){ // Verifies if the received command starts with $GPR
if (linea[i]==comandoGPR[i-1]){
bien++;
}
}
if(bien==6){ // If yes, continue and process the data
for (int i=0;i<300;i++){
if (linea[i]==','){ // check for the position of the "," separator
indices[cont]=i;
cont++;
}
if (linea[i]=='*'){ // ... and the "*"
indices[12]=i;
cont++;
}
}
Serial.println(""); // ... and write to the serial port
Serial.println("");
Serial.println("---------------");
for (int i=0;i<12;i++){
switch(i){
case 0 :Serial.print("Time in UTC (HhMmSs): ");break;
case 1 :Serial.print("Status (A=OK,V=KO): ");break;
case 2 :Serial.print("Latitude: ");break;
case 3 :Serial.print("Direction (N/S): ");break;
case 4 :Serial.print("Longitude: ");break;
case 5 :Serial.print("Direction (E/W): ");break;
case 6 :Serial.print("Velocity in knots: ");break;
case 7 :Serial.print("Heading in degrees: ");break;
case 8 :Serial.print("Date UTC (DdMmAa): ");break;
case 9 :Serial.print("Magnetic degrees: ");break;
case 10 :Serial.print("(E/W): ");break;
case 11 :Serial.print("Mode: ");break;
case 12 :Serial.print("Checksum: ");break;
}
for (int j=indices[i];j<(indices[i+1]-1);j++){
Serial.print(linea[j+1]);
}
Serial.println("");
}
Serial.println("---------------");
}
conta=0; // Reset the buffer
for (int i=0;i<300;i++){ //
linea[i]=' ';
}
}
}
}
it finds the date, however this is not using tinygps. not sure if this helps or if im barking up the wrong tree??
thanks