em-408 GPS Module...

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

em-408 GPS Module...

Post by freedom »

Hi I bought the EM 408 module lat year and have now bought an Adafruit GPSShield v1.1, is there any way to wire this up ??
Don't mind doing it myself, but the board only comes with EM 406 + EB 85 connections…
Why no EM 408 ??

What can I do ?

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

The tutorial is applicable to any module that has Tx, Rx, VCC and Gnd connections. http://www.ladyada.net/make/gpsshield/wiring.html
Check the 408 specs to find the pinouts: http://www.usglobalsat.com/store/downlo ... 408_ug.pdf

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:The tutorial is applicable to any module that has Tx, Rx, VCC and Gnd connections. http://www.ladyada.net/make/gpsshield/wiring.html
Check the 408 specs to find the pinouts: http://www.usglobalsat.com/store/downlo ... 408_ug.pdf
Thank you so much, that is wonderful just what I need.
Is it also possible to stck on top of this unit ?
by getting the larger pins with sockets on the top ?

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

That you will have to determine by experimentation. I don't have a 408 module here to check.

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:The tutorial is applicable to any module that has Tx, Rx, VCC and Gnd connections. http://www.ladyada.net/make/gpsshield/wiring.html
Check the 408 specs to find the pinouts: http://www.usglobalsat.com/store/downlo ... 408_ug.pdf
Thanks One thing the tutorial shows VCC but the module has both a PWR and and on/ off input… which one do I connect to which ?

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:That you will have to determine by experimentation. I don't have a 408 module here to check.
I am getting an error.
core.a(main.cpp.o): In function `main':
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `setup'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `loop'

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

What code are you trying to use?

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:What code are you trying to use?
This
http://www.ladyada.net/make/gpsshield/gpstest.html

with arduino 1.0 so no new serial just the in built.

Thanks.

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

Post the full text of the sketch you are using. The compiler is telling you that it can't find your setup and loop functions.
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `setup'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `loop'

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:Post the full text of the sketch you are using. The compiler is telling you that it can't find your setup and loop functions.
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `setup'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `loop'
[Edit - moderator - use the 'code' button when submitting code]

Code: Select all

// A simple sketch to read GPS data and parse the $GPRMC string 
// see http://www.ladyada.net/make/gpsshield for more info

// If using Arduino IDE prior to version 1.0,
// make sure to install SoftwareSerial from Mikal Hart
// http://arduiniana.org/libraries/SoftwareSerial/
#if ARDUINO >= 100
 #include "Arduino.h"
 #include "SoftwareSerial.h"
#else
 #include "WProgram.h"
 #include "SoftwareSerial.h"
#endif

// Use pins 2 and 3 to talk to the GPS. 2 is the TX pin, 3 is the RX pin
#if ARDUINO >= 100
SoftwareSerial mySerial = SoftwareSerial(2, 3);
#else
SoftwareSerial mySerial = SoftwareSerial(2, 3);
#endif

// Use pin 4 to control power to the GPS
#define powerpin 4

// Set the GPSRATE to the baud rate of the GPS module. Most are 4800
// but some are 38400 or other. Check the datasheet!
#define GPSRATE 4800
//#define GPSRATE 38400

// The buffer size that will hold a GPS sentence. They tend to be 80 characters long
// so 90 is plenty.
#define BUFFSIZ 90 // plenty big


// global variables
char buffer[BUFFSIZ];        // string buffer for the sentence
char *parseptr;              // a character pointer for parsing
char buffidx;                // an indexer into the buffer

// The time, date, location data, etc.
uint8_t hour, minute, second, year, month, date;
uint32_t latitude, longitude;
uint8_t groundspeed, trackangle;
char latdir, longdir;
char status;

void setup() 
{ 
  if (powerpin) {
    pinMode(powerpin, OUTPUT);
  }
  
  // Use the pin 13 LED as an indicator
  pinMode(13, OUTPUT);
  
  // connect to the serial terminal at 9600 baud
  Serial.begin(9600);
  
  // connect to the GPS at the desired rate
  mySerial.begin(GPSRATE);
   
  // prints title with ending line break 
  Serial.println("GPS parser"); 
 
   digitalWrite(powerpin, LOW);         // pull low to turn on!
} 
 
uint32_t parsedecimal(char *str) {
  uint32_t d = 0;
  
  while (str[0] != 0) {
   if ((str[0] > '9') || (str[0] < '0'))
     return d;
   d *= 10;
   d += str[0] - '0';
   str++;
  }
  return d;
}

void readline(void) {
  char c;
  
  buffidx = 0; // start at begninning
  while (1) {
      c=mySerial.read();
      if (c == -1)
        continue;
      Serial.print(c);
      if (c == '\n')
        continue;
      if ((buffidx == BUFFSIZ-1) || (c == '\r')) {
        buffer[buffidx] = 0;
        return;
      }
      buffer[buffidx++]= c;
  }
}
 
void loop() 
{ 
  uint32_t tmp;
  
  Serial.print("\n\rRead: ");
  readline();
  
  // check if $GPRMC (global positioning fixed data)
  if (strncmp(buffer, "$GPRMC",6) == 0) {
    
    // hhmmss time data
    parseptr = buffer+7;
    tmp = parsedecimal(parseptr); 
    hour = tmp / 10000;
    minute = (tmp / 100) % 100;
    second = tmp % 100;
    
    parseptr = strchr(parseptr, ',') + 1;
    status = parseptr[0];
    parseptr += 2;
    
    // grab latitude & long data
    // latitude
    latitude = parsedecimal(parseptr);
    if (latitude != 0) {
      latitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      latitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',') + 1;
    // read latitude N/S data
    if (parseptr[0] != ',') {
      latdir = parseptr[0];
    }
    
    //Serial.println(latdir);
    
    // longitude
    parseptr = strchr(parseptr, ',')+1;
    longitude = parsedecimal(parseptr);
    if (longitude != 0) {
      longitude *= 10000;
      parseptr = strchr(parseptr, '.')+1;
      longitude += parsedecimal(parseptr);
    }
    parseptr = strchr(parseptr, ',')+1;
    // read longitude E/W data
    if (parseptr[0] != ',') {
      longdir = parseptr[0];
    }
    

    // groundspeed
    parseptr = strchr(parseptr, ',')+1;
    groundspeed = parsedecimal(parseptr);

    // track angle
    parseptr = strchr(parseptr, ',')+1;
    trackangle = parsedecimal(parseptr);


    // date
    parseptr = strchr(parseptr, ',')+1;
    tmp = parsedecimal(parseptr); 
    date = tmp / 10000;
    month = (tmp / 100) % 100;
    year = tmp % 100;
    
    Serial.print("\n\tTime: ");
    Serial.print(hour, DEC); Serial.print(':');
    Serial.print(minute, DEC); Serial.print(':');
    Serial.println(second, DEC);
    Serial.print("\tDate: ");
    Serial.print(month, DEC); Serial.print('/');
    Serial.print(date, DEC); Serial.print('/');
    Serial.println(year, DEC);
    
    Serial.print("\tLat: "); 
    if (latdir == 'N')
       Serial.print('+');
    else if (latdir == 'S')
       Serial.print('-');

    Serial.print(latitude/1000000, DEC); Serial.print("* ");
    Serial.print((latitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((latitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((latitude%10000)*6/10)%100, DEC); Serial.println('"');
   
    Serial.print("\tLong: ");
    if (longdir == 'E')
       Serial.print('+');
    else if (longdir == 'W')
       Serial.print('-');
    Serial.print(longitude/1000000, DEC); Serial.print("* ");
    Serial.print((longitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
    Serial.print((longitude%10000)*6/1000, DEC); Serial.print('.');
    Serial.print(((longitude%10000)*6/10)%100, DEC); Serial.println('"');
   
  }
  //Serial.println(buffer);
}

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

That code compiles with no errors on 1.0 here.

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:That code compiles with no errors on 1.0 here.
how can I get a clean installation of the arduino software ?

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

how can I get a clean installation of the arduino software ?
Right from the Arduino site is the best place: http://arduino.cc/en/Main/Software
Where did you get the IDE you are using?

freedom
 
Posts: 24
Joined: Thu Mar 10, 2011 6:35 am

Re: em-408 GPS Module...

Post by freedom »

adafruit_support wrote:
how can I get a clean installation of the arduino software ?
Right from the Arduino site is the best place: http://arduino.cc/en/Main/Software
Where did you get the IDE you are using?
yes from there

User avatar
adafruit_support_bill
 
Posts: 88139
Joined: Sat Feb 07, 2009 10:11 am

Re: em-408 GPS Module...

Post by adafruit_support_bill »

Well try a fresh download. I don't see why you should be getting those errors with that source code.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”