75 lines
2.2 KiB
C++
75 lines
2.2 KiB
C++
// Test code for Adafruit GPS modules using MTK3329/MTK3339 driver
|
|
//
|
|
// This code turns on the LOCUS built-in datalogger. The datalogger
|
|
// turns off when power is lost, so you MUST turn it on every time
|
|
// you want to use it!
|
|
//
|
|
// Tested and works great with the Adafruit Ultimate GPS module
|
|
// using MTK33x9 chipset
|
|
// ------> http://www.adafruit.com/products/746
|
|
// Pick one up today at the Adafruit electronics shop
|
|
// and help support open source hardware & software! -ada
|
|
|
|
//This code is intended for use with Arduino Leonardo and other ATmega32U4-based Arduinos
|
|
|
|
#include <Adafruit_GPS.h>
|
|
#include <SoftwareSerial.h>
|
|
|
|
// Connect the GPS Power pin to 5V
|
|
// Connect the GPS Ground pin to ground
|
|
// If using software serial (sketch example default):
|
|
// Connect the GPS TX (transmit) pin to Digital 8
|
|
// Connect the GPS RX (receive) pin to Digital 7
|
|
// If using hardware serial:
|
|
// Connect the GPS TX (transmit) pin to Arduino RX1 (Digital 0)
|
|
// Connect the GPS RX (receive) pin to matching TX1 (Digital 1)
|
|
|
|
// If using software serial, keep these lines enabled
|
|
// (you can change the pin numbers to match your wiring):
|
|
//SoftwareSerial mySerial(8, 7);
|
|
//Adafruit_GPS GPS(&mySerial);
|
|
|
|
// If using hardware serial, comment
|
|
// out the above two lines and enable these two lines instead:
|
|
Adafruit_GPS GPS(&Serial1);
|
|
#define mySerial Serial1
|
|
|
|
void setup()
|
|
{
|
|
while (!Serial); // Leonardo will wait till serial connects
|
|
|
|
// connect at 115200 so we can read the GPS fast enuf and
|
|
// also spit it out
|
|
Serial.begin(115200);
|
|
Serial.println("Adafruit GPS logging start test!");
|
|
|
|
// 9600 NMEA is the default baud rate for MTK - some use 4800
|
|
GPS.begin(9600);
|
|
|
|
GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_OFF);
|
|
|
|
while (mySerial.available())
|
|
mySerial.read();
|
|
|
|
delay(1000);
|
|
GPS.sendCommand("$PMTK622,1*29");
|
|
Serial.println("----------------------------------------------------");
|
|
}
|
|
|
|
|
|
void loop() // run over and over again
|
|
{
|
|
// If using hardware serial (e.g. Arduino Mega), change this to Serial1, etc.
|
|
if (mySerial.available()) {
|
|
char c = mySerial.read();
|
|
if (c) {
|
|
#ifdef UDR0
|
|
UDR0 = c;
|
|
#else
|
|
Serial.print(c);
|
|
#endif
|
|
}
|
|
}
|
|
}
|
|
|